/**
  * Show tree , use send data from client ajax
  * @param  [int] $id
  * @return void
  */
 public function showTree($id)
 {
     $features = Feature::where('module_id', '=', $id)->where('parent_id', '=', 0)->get();
     if (count($features) == 0) {
         echo "";
     } else {
         echo "<table class='tree table'>";
         foreach ($features as $k_fea => $val_fea) {
             echo "<tr class='treegrid-" . $val_fea->id . "'><td>" . $val_fea->name_feature . "</td></tr>";
             $items = FeatureNode::descendantsOf($val_fea->id);
             $items->linkNodes();
             $items = $items->toTree();
             echo $this->echoRecurTreeView($items);
         }
         echo "</table>";
     }
 }
 /**
  * Create menu
  *
  * @param  [array] $arrparent
  * @param  [int] $id
  * @param  [array] $url
  * @param  [string] $name
  * @return [string]
  */
 public function createParent($arrparent, $id, $url, $name)
 {
     $str = "";
     $features = \App\Feature::where('parent_id', '=', $id)->get();
     array_push($this->check_feature, $id);
     if (count($features) > 0) {
         $str = "<li class='treeview'><a href='{$url}'><i class=''></i> {$name} <i class='fa fa-angle-left pull-right'></i></a><ul class='treeview-menu'>";
         $newstr = "";
         $number = 0;
         foreach ($features as $feature) {
             if ($feature->is_menu == 1 && in_array(array($feature->id => $feature->url_action), $this->listfeaturegroup) && !in_array($feature->id, $this->check_feature)) {
                 $number++;
                 array_push($this->check_feature, $feature->id);
                 $fj = json_decode($feature->url_action);
                 $link = "";
                 if ($fj == NULL) {
                     $link = route($feature->url_action);
                 } else {
                     $link = route($fj[0]);
                 }
                 $newstr .= $this->createParent($arrparent, $feature->id, $link, $feature->name_feature);
             }
         }
         if ($number == 1) {
             $str = $newstr;
         } else {
             if ($newstr == "") {
                 $str = "<li><a href='{$url}'><i class=''></i>{$name}</a></li>";
             } else {
                 $str .= $newstr . "</ul></li>";
             }
         }
     } else {
         $str = "<li><a href='{$url}'><i class=''></i>{$name}</a></li>";
     }
     return $str;
 }
 public function upload_feature(Request $request)
 {
     $this->validate($request, Feature::rules());
     $feature = Feature::where('id', $request->feature_id)->first();
     $feature->href = $request->href;
     $feature->btnclass = $request->btnclass;
     $feature->innerhtml = $request->innerhtml;
     $feature->save();
     session()->flash('message', '功能更新成功');
     return Redirect::back();
 }
 /**
  * Post feature
  * @return [string]
  */
 public function postFeature()
 {
     $id = isset($_GET['id']) ? (int) $_GET['id'] : false;
     $id_feature = isset($_GET['id_feature']) ? (int) $_GET['id_feature'] : false;
     $features = Feature::where('module_id', '=', $id)->get();
     $data = array();
     foreach ($features as $key => $value) {
         if ($value->id == $id_feature) {
             continue;
         }
         $item = array("id" => $value->id, "name" => $value->name_feature);
         array_push($data, $item);
     }
     echo json_encode($data);
     //return View('features.addfeature', compact('feature'));
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(UpdateFeatureFromRequest $request, $id)
 {
     try {
         $inputs = $request->all();
         $feature = Feature::find($id);
         if ($feature->module != $inputs['module']) {
             $module_exists = Feature::where('module', $inputs['module'])->exists();
             if ($module_exists) {
                 return Redirect::to('/crm/feature/')->withMessage(Generate::error_message('Fail', 'Module name already exists.'));
             }
         }
         $feature->update($inputs);
         return Redirect::to('/crm/feature/' . $id)->withMessage(Generate::success_message('Success', 'Updated Successfully'));
     } catch (Exception $e) {
         //redirect to the url you wan along with the message
         return Redirect::to('/crm/feature/')->withMessage(Generate::error_message('Fail', 'Failed to update.'));
     }
 }
Example #6
0
 public static function getPermissionsByModule($module, $position)
 {
     //get the permission by their module...
     return Feature::where('module', $module)->first()->permissions()->where('position', $position)->get();
 }