forked from kuafuRace/phprap
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMemberController.php
More file actions
144 lines (106 loc) · 3.65 KB
/
Copy pathMemberController.php
File metadata and controls
144 lines (106 loc) · 3.65 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
<?php
namespace app\controllers\home;
use Yii;
use yii\web\Response;
use app\models\Member;
use app\models\Project;
use app\models\member\CreateMember;
use app\models\member\UpdateMember;
use app\models\member\RemoveMember;
class MemberController extends PublicController
{
/**
* 添加成员
* @param $project_id 项目ID
* @return array|string
*/
public function actionCreate($project_id)
{
$request = Yii::$app->request;
$project = Project::findModel(['encode_id' => $project_id]);
$model = CreateMember::findModel();
if($request->isPost){
Yii::$app->response->format = Response::FORMAT_JSON;
$model->project_id = $project->id;
$model->join_type = Member::PASSIVE_JOIN_TYPE;
if(!$model->load($request->post())){
return ['status' => 'error', 'message' => '数据加载失败'];
}
if ($model->store()) {
return ['status' => 'success', 'message' => '添加成功'];
}
return ['status' => 'error', 'message' => $model->getErrorMessage(), 'label' => $model->getErrorLabel()];
}
return $this->display('create', ['project' => $project, 'member' => $model]);
}
/**
* 编辑成员
* @param $id 成员ID
* @return array|string
*/
public function actionUpdate($id)
{
$request = Yii::$app->request;
$model = UpdateMember::findModel(['encode_id' => $id]);
if($request->isPost){
Yii::$app->response->format = Response::FORMAT_JSON;
if(!$model->load($request->post())){
return ['status' => 'error', 'message' => '数据加载失败'];
}
if ($model->store()) {
return ['status' => 'success', 'message' => '编辑成功'];
}
return ['status' => 'error', 'message' => $model->getErrorMessage(), 'label' => $model->getErrorLabel()];
}
return $this->display('update', ['member' => $model]);
}
/**
* 选择成员
* @param $project_id 项目ID
* @param $name 搜索词
* @return array
*/
public function actionSelect($project_id, $name)
{
Yii::$app->response->format = Response::FORMAT_JSON;
$project = Project::findModel(['encode_id' => $project_id]);
$notMembers = $project->getNotMembers(['name' => $name]);
$user = [];
foreach ($notMembers as $k => $member){
$user[$k]['id'] = $member->id;
$user[$k]['name'] = $member->fullName;
}
return $user;
}
/**
* 移除成员
* @param $id 成员ID
* @return array
*/
public function actionRemove($id)
{
$request = Yii::$app->request;
$model = RemoveMember::findModel(['encode_id' => $id]);
if($request->isPost){
Yii::$app->response->format = Response::FORMAT_JSON;
if (!$model->load($request->post())) {
return ['status' => 'error', 'message' => '数据加载失败'];
}
if ($model->remove()) {
return ['status' => 'success', 'message' => '移出成功'];
}
return ['status' => 'error', 'message' => $model->getErrorMessage(), 'label' => $model->getErrorLabel()];
}
return $this->display('remove', ['member' => $model]);
}
/**
* 成员详情
* @param $id 成员ID
* @return string
*/
public function actionShow($id)
{
$member = Member::findModel(['encode_id' => $id]);
return $this->display('show', ['member' => $member]);
}
}