public function actionDeleteModule() { if (isset($_POST['module_id'])) { $module_id = $_POST['module_id']; $module = Modules::model()->findByPk($module_id); if ($module->delete()) { $definePermission = DefinePermission::model()->deleteAll('module_id = ' . intval($module_id)); $roleBasic = RolesBasicPermission::model()->deleteAll('module_id = ' . intval($module_id)); $roleDefine = RolesDefinePermission::model()->deleteAll('module_id = ' . intval($module_id)); $accountBasic = AccountBasicPermission::model()->deleteAll('module_id = ' . intval($module_id)); $accountDefine = AccountDefinePermission::model()->deleteAll('module_id = ' . intval($module_id)); echo '{"status":"success"}'; } else { echo '{"status":"fail"}'; } } }
<tbody> <?php if (count($module) > 0) { foreach ($module as $moduleItem) { $definePerModule = DefinePermission::model()->getDefinePerModule($moduleItem->lb_record_primary_key); if (count($definePerModule->data) > 0) { ?> <tr> <td colspan="2" style="background: #f3f3f3;"><?php echo $moduleItem->module_name; ?> </td> </tr> <?php foreach ($definePerModule->data as $definePerModuleItem) { $checkstatus = RolesDefinePermission::model()->CheckDefinePerRole($model->lb_record_primary_key, $definePerModuleItem->define_permission_id); if ($checkstatus) { $status = 1; } else { $status = 0; } ?> <tr> <td><?php echo $definePerModuleItem->define_permission_name; ?> </td> <td style="text-align: center;"><?php echo CHtml::checkBox('permission', $status, array('value' => $definePerModuleItem->define_permission_id, 'onclick' => 'updateDefinePerRole(this.value,' . $moduleItem->lb_record_primary_key . ',' . $status . ');')); ?> </td>
public function checkFunction($module_name, $function_name, $user_id = false) { if (!$user_id) { $user_id = YII::app()->user->id; } $result_per = false; $modules = Modules::model()->find('module_directory = "' . $module_name . '"'); if ($modules) { $define_permission = DefinePermission::model()->find('define_permission_name = "' . $function_name . '" AND module_id = "' . $modules->lb_record_primary_key . '"'); if ($define_permission) { // Kiểm tra quyền user được gán vào roles $roles = AccountRoles::model()->findAll('accout_id = ' . intval($user_id)); foreach ($roles as $roleItem) { $check_define_roles = RolesDefinePermission::model()->find('role_id = ' . intval($roleItem->role_id) . ' AND define_permission_id = ' . intval($define_permission->define_permission_id)); if ($check_define_roles) { $result_per = true; } } // END role // Kiểm tra quyền trức tiếp user $check_define_permission = AccountDefinePermission::model()->find('account_id = ' . intval($user_id) . ' AND define_permission_id = ' . intval($define_permission->define_permission_id)); if ($check_define_permission) { $result_per = true; } //END } } return $result_per; }
public function actionUpdateDefinePerRole() { if (isset($_POST['role_id']) && isset($_POST['define_per_id']) && isset($_POST['status'])) { $role_id = $_POST['role_id']; $define_per_id = $_POST['define_per_id']; $status = $_POST['status']; $module_id = $_POST['module_id']; if ($status == 0) { $defineRole = new RolesDefinePermission(); $defineRole->role_id = $role_id; $defineRole->define_permission_id = $define_per_id; $defineRole->module_id = $module_id; $defineRole->define_permission_status = 1; if ($defineRole->save()) { echo '{"status":"success"}'; } else { echo '{"status":"fail"}'; } } else { $defineRole = RolesDefinePermission::model()->find('role_id = ' . intval($role_id) . ' AND define_permission_id = ' . intval($define_per_id)); if ($defineRole->delete()) { echo '{"status":"success"}'; } else { echo '{"status":"fail"}'; } } } }