-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.processrequest.php
More file actions
106 lines (102 loc) · 3.71 KB
/
Copy pathaction.processrequest.php
File metadata and controls
106 lines (102 loc) · 3.71 KB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
<?php
#----------------------------------------------------------------------
# Module: Booker - a resource booking module
# Action: processrequest - perform operation on submitted booking-request(s)
#----------------------------------------------------------------------
# See file Booker.module.php for full details of copyright, licence, etc.
#----------------------------------------------------------------------
$p = ($this->_CheckAccess('admin') || $this->_CheckAccess('book'));
$funcs = new Booker\Requestops();
if (isset($params['cancel'])) {
if (!($p || $this->_CheckAccess())) exit;
$this->Redirect($id,'defaultadmin','',array('active_tab'=>$params['active_tab']));
} elseif (isset($params['find'])) {
$newparms = array('resume'=>'defaultadmin','active_tab'=>$params['active_tab']);
if (!empty($params['selreq'])) {
$sql = 'SELECT item_id FROM '.$this->OnceTable.' WHERE bkg_id=?';
$bid = reset($params['selreq']);
$item_id = $this->dbHandle->GetOne($sql,array($bid));
$newparms['item_id'] = $item_id;
}
$this->Redirect($id,'findbooking','',$newparms);
} elseif (isset($params['task'])) { //clicked link
if ($params['task'] != 'see') {
if (!$p) exit;
} elseif (!($p || $this->_CheckAccess('view'))) exit;
$params['active_tab'] = 'data';
$params['resume'] = json_encode(array('defaultadmin'));
switch ($params['task']) {
case 'see':
$this->Redirect($id,'openrequest','',array('bkg_id'=>$params['bkg_id'],
'resume'=>$params['resume'],'task'=>'see'));
break;
case 'edit':
$this->Redirect($id,'openrequest','',array('bkg_id'=>$params['bkg_id'],
'resume'=>$params['resume'],'task'=>'edit'));
break;
/* case 'add':
$this->Redirect($id,'openrequest','',array('bkg_id'=>$params['bkg_id'],
'resume'=>$params['resume'],'task'=>'add'));
break;
*/
case 'approve':
list($res,$msg) = $funcs->ApproveReq($this,$params['bkg_id'],$params['custmsg']);
break;
case 'reject':
list($res,$msg) = $funcs->RejectReq($this,$params['bkg_id'],$params['custmsg']);
break;
case 'ask':
list($res,$msg) = $funcs->AskReq($this,$params['bkg_id'],$params['custmsg']);
break;
case 'delete':
list($res,$msg) = $funcs->DeleteReq($this,$params['bkg_id'],$params['custmsg']);
break;
default:
$res = TRUE;
}
$newparms = array('active_tab'=>$params['active_tab']);
if (!$res) {
$newparms['message'] = $msg;
}
$this->Redirect($id,'defaultadmin','',$newparms);
} elseif (isset($params['export'])) {
$this->Crash();
} elseif (isset($params['import'])) {
if (!$p) exit;
//was if (isset($params['importbkg']))
$this->Redirect($id,'import','',array(
//TODO
));
}
if (!$p) exit; //NB permission for exports, too
$newparms = array('active_tab'=>$params['active_tab']);
$sel = (isset($params['selreq'])) ? $params['selreq'] : FALSE;
if ($sel) {
if (isset($params['approve'])) {
list($res,$msg) = $funcs->ApproveReq($this,$sel,$params['custmsg']);
} elseif (isset($params['reject'])) {
list($res,$msg) = $funcs->RejectReq($this,$sel,$params['custmsg']);
} elseif (isset($params['ask'])) {
list($res,$msg) = $funcs->AskReq($this,$sel,$params['custmsg']);
} elseif (isset($params['delete'])) {
list($res,$msg) = $funcs->DeleteReq($this,$sel,$params['custmsg']);
} else if (isset($params['export'])) {
/* $funcs = new Booker\Export();
list($res,$key) = $funcs->ExportBookings($this,$sel,'*','*');
if ($res)
exit;
$this->Redirect($id,'defaultadmin','',array(
'active_tab'=>$params['active_tab'],
'message'=>$this->_PrettyMessage($key,FALSE)));
*/
list($res,$msg) = array(FALSE,$this->Lang('notyet')); //TODO
} else {
$res = TRUE;
}
if (!$res) {
$newparms['message'] = $msg;
}
} else { //nothing selected
$newparms['message'] = $this->_PrettyMessage('nosel',FALSE);
}
$this->Redirect($id,'defaultadmin','',$newparms);