/** * Membership */ public function actionMembership($id) { if (!Yii::$app->user->can("admin")) { throw new HttpException(403, 'You are not allowed to perform this action.'); } $filegroupmodel = FileGroup::findOne($id); $users = User::find()->where(['status' => 1])->all(); $selectedusers = UserFileGroup::find()->where(['file_group_id' => $id])->all(); if (Yii::$app->request->post()) { $post = Yii::$app->request->post(); UserFileGroup::deleteAll(['file_group_id' => $id]); //var_dump($post['Post']['membership']); // exit; if (isset($post['Post']['membership'])) { foreach ($post['Post']['membership'] as $perm) { $ffg = new UserFileGroup(); $ffg->user_id = $perm; $ffg->file_group_id = $id; if ($ffg->save()) { //return $this->redirect(['membership','id'=>$id]); } } } return $this->redirect(['view', 'id' => $id]); } else { return $this->render('membership', ['filegroupmodel' => $filegroupmodel, 'userfilegroups' => $selectedusers, 'users' => $users]); } }
public function actionVerifyapprove($request_id, $file_id, $user_id, $group) { if (!Yii::$app->user->can("admin")) { throw new HttpException(403, 'You are not allowed to perform this action.'); } $response = ['status' => 'fail']; // If we get a numeric group, then we are using an existing group if (is_numeric($group)) { // First check to see if a record exists because the // stupid front end is not very good at figuring this out $ufg = UserFileGroup::find()->where(['user_id' => $user_id])->andWhere(['file_group_id' => $group])->one(); //var_dump($ufg); //exit; // If nothing is found, create the new entry if ($ufg === NULL) { // Now assign the user to this filegroup $ufg = new UserFileGroup(); $ufg->user_id = $user_id; $ufg->file_group_id = $group; if ($ufg->save()) { $rqf = RequestFile::find()->where(['request_id' => $request_id, 'file_id' => $file_id])->one(); $rqf->granted = 1; if ($rqf->save()) { $this->commitRequest($request_id); $response = ['status' => 'success', 'message' => '']; } else { $response = ['status' => 'fail', 'message' => 'Error saving request file']; } } else { $response = ['status' => 'fail', 'message' => 'Error saving request file']; } } else { $response = ['status' => 'fail', 'message' => 'Record already exists']; $rqf = RequestFile::find()->where(['request_id' => $request_id, 'file_id' => $file_id])->one(); $rqf->granted = 1; if ($rqf->save()) { $this->commitRequest($request_id); $response = ['status' => 'success', 'message' => '']; } } } else { // Need to create new the group and assign the file id $fg = new FileGroup(); $fg->group_name = $group; $fg->description = "Auto Generated through Permission Tool, please provide a more descriptive group name if you want."; $fg->status = 'active'; $fg->is_deleted = 0; if ($fg->save()) { // Associate the file group with this file $ffg = new FileFileGroup(); $ffg->file_id = $file_id; $ffg->group_id = $fg->id; if ($ffg->save()) { // Now assign the user to this filegroup $ufg = new UserFileGroup(); $ufg->user_id = $user_id; $ufg->file_group_id = $fg->id; if ($ufg->save()) { $rqf = RequestFile::find()->where(['request_id' => $request_id, 'file_id' => $file_id])->one(); $rqf->granted = 1; if ($rqf->save()) { $response = ['status' => 'success']; $this->commitRequest($request_id); } else { $response = ['status' => 'fail']; } } else { $response = ['status' => 'fail']; } } else { $response = ['status' => 'fail']; } } else { $response = ['status' => 'fail']; } } \Yii::$app->response->format = 'json'; return $response; }
/** * @return \yii\db\ActiveQuery */ public function getGroups() { return $this->hasMany(FileGroup::className(), ['id' => 'group_id'])->viaTable('file_filegroup', ['file_id' => 'id']); }
/** * @return \yii\db\ActiveQuery */ public function getGroup() { return $this->hasOne(FileGroup::className(), ['id' => 'group_id']); }