GroupController.php 2.52 KB
<?php namespace App\Http\Controllers;

use Auth;
use Input;
use Config;
use Session;

use App\Models\Group;
use App\Models\User;

class GroupController extends Controller {


	public function __construct()
	{
	  $this->middleware('auth');
	  $this->middleware('module_access');
	}

	public function index()
	{
	  return view('layout.module.group.index',array('grouplist'=>Group::where('owner','=',Auth::user()->id)->orderBy("created_at","DESC")->paginate(30)));
	}
	public function create()
	{
	  return view('layout.module.group.create');
	}
	public function store()
	{
		$data=array();
		$grpname=substr(htmlentities(trim(Input::get("group"))),0,200);

		$exists=Group::where("group","=",$grpname)->first();
		if(!$exists)
		{
			$group=new Group();

			$group->group=$grpname;
			$group->dispname=$group->group;
			$group->owner=Auth::user()->id;
			$group->status=Input::get("groupstatus");
			$role=Auth::user()->role();
			foreach(Config::get('app.app_modules') as $tmod=>$tmodarr)
				if (strstr(",".$role->modulerwa.",",",$tmod,"))
					$data[$tmod."_settings"]=Input::get($tmod."_settings");
			$group->data=json_encode($data);
			$group->save();

			return view('layout.module.group.edit',array('tgroup'=>$group,'displaymsg'=>array("type"=>"success","text"=>"Group Created")));
		}
		else
		{
			return view('layout.module.group.create',array('tgroup'=>array(),'displaymsg'=>array("type"=>"Error!","text"=>"Group Already Exists")));
		}
	}
	public function show($id)
	{
	  return view('layout.module.group.edit',array('tgroup'=>Group::find($id)));
	}
	public function edit($id)
	{
	  return view('layout.module.group.edit',array('tgroup'=>Group::find($id)));
	}
	public function update($id)
	{
	  $data=array();

		$group=Group::find($id);

		//$group->group=Input::get("group");
		$group->status=Input::get("groupstatus");
		$group->parent=Input::get("groupparent");
		$group->dispname=Input::get("groupdispname");
		if(trim($group->dispname)=="")$group->dispname=$group->group;

		$role=Auth::user()->role();
		foreach(Config::get('app.app_modules') as $tmod=>$tmodarr)
			if (strstr(",".$role->modulerwa.",",",$tmod,"))
				$data[$tmod."_settings"]=Input::get($tmod."_settings");

		$group->data=json_encode($data);
		$group->save();

		return view('layout.module.group.edit',array('tgroup'=>$group,'displaymsg'=>array("type"=>"success","text"=>"Group Updated")));
	}
	public function destroy($id)
	{
	  $group=Group::find($id);
	  $group->status="Disabled";
	  $group->save();

	  return "Group Disabled";
	}


	public function dashboard()
	{
		//echo "OK";
	}
}