StaffCreate.php 1.21 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
/**
 * gredu_labs.
 *
 * @link https://github.com/eellak/gredu_labs for the canonical source repository
 *
 * @copyright Copyright (c) 2008-2015 Greek Free/Open Source Software Society (https://gfoss.ellak.gr/)
 * @license GNU GPLv3 http://www.gnu.org/licenses/gpl-3.0-standalone.html
 */

namespace GrEduLabs\Schools\Action;

use Slim\Http\Request;
use Slim\Http\Response;

class StaffCreate
{

    public function __construct($staffservice)
    {
        $this->staffservice = $staffservice;
    }

    public function __invoke(Request $req, Response $res, array $args = [])
    {
26
        $params = $req->getParams();
27
28
29
        $id = $params['id'];
        unset($params['id']);
        if ($id > 0){ 
30
31
32
33
34
            $id = $this->staffservice->updateTeacher($params, $id);
            $teacher = $this->staffservice->getTeacherById($id);
        }
        else{
            $id = $this->staffservice->createTeacher($params);
35
36
37
            if ($id > 0){
                $teacher = $this->staffservice->getTeacherById($id);
            }
38
39
        }

40
41
42
43
44
45
        if (isset($teacher)){
            return $res->withJson($teacher->export())->withStatus(201);
        }
        else{
            return $res->withStatus(400);
        }
46
47
    }
}