StaffCreate.php 1.09 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
27
28
29
30
31
32
33
34
35
36
37
38
        $params = $req->getParams();
        if (array_key_exists('id', $params)){ 
            $id = $params['id'];
            unset($params['id']);
            $id = $this->staffservice->updateTeacher($params, $id);
            $teacher = $this->staffservice->getTeacherById($id);
        }
        else{
            $id = $this->staffservice->createTeacher($params);
            $teacher = $this->staffservice->getTeacherById($id);
        }

        $res = $res->withJson($teacher->export());
39
40
41
        return $res;
    }
}