xref: /plugin/bez/ctl/types.php (revision e2b0e8ca58a3ccb85ee6978fe7c2f072d99ad842)
1<?php
2
3if ($this->model->acl->get_level() < BEZ_AUTH_ADMIN) {
4    throw new PermissionDeniedException();
5}
6
7$action = $nparams['action'];
8$template['edit'] = -1;
9
10
11try {
12    $types = $this->model->issuetypes->get_all(array('refs'));
13    $issuetype = $this->model->issuetypes->create_object();
14
15    if ($action === 'update') {
16        $issuetype = $this->model->issuetypes->get_one($nparams['id']);
17    }
18
19    if (count($_POST) > 0) {
20
21        $issuetype->set_data($_POST);
22        $this->model->issuetypes->save($issuetype);
23        header('Location: ?id=bez:types');
24
25    } else if ($action === 'edit') {
26        $id = (int) $nparams['id'];
27        $template['edit'] = $id;
28
29        $issuetype = $this->model->issuetypes->get_one($nparams['id']);
30        $value = $issuetype->get_assoc();
31
32    } else if ($action === 'remove') {
33        $issuetype = $this->model->issuetypes->get_one($nparams['id']);
34        $this->model->issuetypes->delete($issuetype);
35    }
36} catch (ValidationException $e) {
37	$errors = $e->get_errors();
38	$value = $_POST;
39} catch (DBException $e) {
40	echo nl2br($e);
41//	header("Location: ?id=bez:issue:id:$issue_id");
42}
43
44$template['issuetype'] = $issuetype;
45
46$template['types'] = $types;
47$template['uri'] = $uri;
48