<?php
 namespace VnChocola\Module\SuperAdmin\SpAdminGroupUser;
 use TCMS\Controller;
 use Model;
 use VnChocola\Model\GroupUserModel;
 class IndexController extends Controller {
 public function index() {
 return view();
 }
 public function create() {
 return view([ 'roleList' => \RoleGlobal::$role->toList() ]);
 }
 public function postCreate(GroupUserModel $model) {
 if(!$model->isValid() || !$model->branchID) {
 $model->addModelError('branchID', 'Vui lòng chọn chi nhánh!');
 }
 else {
 if(!$model->roles || !count($model->roles)) {
 view()->addFlashMessage('Vui lòng chọn ít nhất 1 quyền cho nhóm này!', 'error');
 }
 else {
 $model->roles = ',' . implode(',', $model->roles) . ',';
 if($model->save()) return route_redirect('create', 'Thêm thành công');
 view()->addFlashMessage('Thêm thất bại', 'error');
 }
 }
 view()->roleList = \RoleGlobal::$role->toList();
 return view($model);
 }
 public function update($id) {
 $model = Model::load('GroupUserModel');
 $data = $model->find($id);
 if(!$data) return route_redirect('index', 'Id không tồn tại', 'error');
 view()->roleList = \RoleGlobal::$role->toList();
 return view($data);
 }
 public function postUpdate(GroupUserModel $model) {
 if($model->isValid()) {
 if(!$model->roles || !count($model->roles)) {
 view()->addFlashMessage('Vui lòng chọn ít nhất 1 quyền cho nhóm này!', 'error');
 }
 else {
 $model->roles = ',' . implode(',', $model->roles) . ',';
 if($model->save()) return route_redirect('index', 'Cập nhật thành công');
 view()->addErrorMessage('error', 'Cập nhật thất bại');
 }
 }
 if($model->roles) {
 $model->roles = implode(',', $model->roles);
 }
 view()->roleList = \RoleGlobal::$role->toList();
 return view($model);
 }
 public function postDelete() {
 $id = \Request::get('data');
 $model = Model::load('GroupUserModel');
 $isSuccess = $model->delete($id);
 if(\Request::isAjax()) return json(['success' => $isSuccess, 'message' => $isSuccess ? 'Xóa thành công' : 'Xóa thất bại']);
 return route_redirect('index', $isSuccess ? 'Xóa thành công' : 'Xóa thất bại');
 }
 }
