Jelajahi Sumber

add userCanManage

visuddhinanda 1 tahun lalu
induk
melakukan
f9da23c617
1 mengubah file dengan 17 tambahan dan 2 penghapusan
  1. 17 2
      app/Http/Controllers/CourseController.php

+ 17 - 2
app/Http/Controllers/CourseController.php

@@ -209,6 +209,19 @@ class CourseController extends Controller
 
     }
 
+    private function userCanManage($courseId,$userUid){
+                    //判断是否是manager
+        $role = CourseMember::where('course_id',$courseId)
+                    ->where('is_current',true)
+                    ->where('user_id',$userUid)
+                    ->value('role');
+        $manager = ['owner','teacher','manager'];
+        if(in_array($role,$manager)){
+            return true;
+        }
+        return false;
+    }
+
     /**
      * Update the specified resource in storage.
      *
@@ -224,9 +237,11 @@ class CourseController extends Controller
             return $this->error(__('auth.failed'));
         }
         //判断当前用户是否有指定的studio的权限
-        if($user['user_uid'] !== $course->studio_id){
-            return $this->error(__('auth.failed'));
+        $canManage = $this->userCanManage($course->id,$user['user_uid']);
+        if(!$canManage){
+            return $this->error(__('auth.failed'),403,403);
         }
+
         //查询标题是否重复
         if(Course::where('title',$request->get('title'))
                 ->where('studio_id',$user['user_uid'])