예제 #1
0
 public function editUserAction()
 {
     /**
      * Check permission
      */
     if (false == $this->checkPermission('edit_user')) {
         $this->_forwardToNoPermissionPage();
         return;
     }
     $id = $this->_getParam('id', false);
     $data = $this->_getParam('data', false);
     if (false == $id) {
         $this->_redirect('user/admin/user-manager');
     }
     $objUser = new Models_User();
     $objUserExp = new Models_UserExpand();
     $errors = array();
     /**
      * Get old user
      */
     $oldUser = $objUser->getUserWithExpand($id);
     if (empty($oldUser)) {
         /**
          * User doesn't exsit
          */
         $this->session->userMessage = array('success' => false, 'message' => Vi_Language::translate('User does NOT exist'));
         $this->_redirect('user/admin/user-manager#listofuser');
     }
     if (false !== $data) {
         /**
          * Update new user
          */
         $newUser = array('group_id' => $data['group_id'], 'username' => $data['username'], 'email' => $data['email'], 'full_name' => $data['full_name'], 'password' => $data['password'], 'repeat_password' => $data['repeat_password'], 'enabled' => $data['enabled']);
         $newUserExp = array('admin_note' => $data['admin_note']);
         /**
          * Check permission
          */
         if ($oldUser['group_id'] != $newUser['group_id'] && false == $this->checkPermission('change_group')) {
             $newUser['group_id'] = $oldUser['group_id'];
         }
         $exclude = array();
         if (null == @$newUser['password'] && null == @$newUser['repeat_password']) {
             $exclude[] = 'password';
             unset($newUser['password']);
             unset($newUser['repeat_password']);
         }
         if ($newUser['email'] == $oldUser['email']) {
             $exclude[] = 'email';
             unset($newUser['email']);
         }
         if ($newUser['username'] == $oldUser['username']) {
             $exclude[] = 'username';
             unset($newUser['username']);
         }
         $errors = $objUser->validate($newUser, $exclude);
         if (true === $errors) {
             if (null != @$newUser['password']) {
                 $newUser['password'] = md5($newUser['password']);
                 unset($newUser['repeat_password']);
             }
             /**
              * TODO Read date format from language table
              */
             try {
                 $objUser->update($newUser, array('user_id=?' => $id));
                 $objUserExp->update($newUserExp, array('user_expand_id=?' => $oldUser['user_expand_id']));
                 /**
                  * Set owner email for restaurant
                  */
                 if (isset($newUser['email'])) {
                     $objRes = new Models_Restaurant();
                     $objRes->update(array('owner_email' => $newUser['email']), array('user_id=?' => $id));
                 }
                 if (isset($newUser['full_name'])) {
                     $objRes = new Models_Restaurant();
                     $objRes->update(array('owner' => $newUser['full_name']), array('user_id=?' => $id));
                 }
                 /**
                  * Reload current login user
                  */
                 $loggedUser = $this->session->backendUser;
                 if ($oldUser['user_id'] == @$loggedUser['user_id']) {
                     $this->session->backendUser = $objUser->getByUserId($oldUser['user_id'])->toArray();
                 }
                 $this->_redirect('user/admin/user-manager');
             } catch (Exception $e) {
                 $errors = array('main' => Vi_Language::translate('Can not update user now'));
             }
         }
     } else {
         /**
          * Get current user
          */
         $data = $oldUser;
     }
     /**
      * Prepare for template
      */
     $this->view->errors = $errors;
     $this->view->data = $data;
     $this->view->headTitle(Vi_Language::translate('Edit user'));
     $this->view->menu = array('usergroup', 'edituser');
     /**
      * Get all groups
      */
     $objGroup = new Models_Group();
     $this->view->allGroups = $objGroup->getAll(array('sorting ASC', 'group_id ASC'))->toArray();
     //        /**
     //        * Get all countries
     //        */
     //        $objCountry = new Models_Country();
     //        $this->view->allCountries = $objCountry->getAll(array('sorting ASC', 'country_id ASC'))->toArray();
 }
예제 #2
0
 public function editAction()
 {
     /**
      * Get all provice CODE
      */
     $objCountry = new Models_Country();
     $this->view->allProvinces = $objCountry->getAllProvinces();
     /**
      * Get some list
      */
     $objCat = new Models_Category();
     $this->view->leadTimeNormal = $objCat->getAllValues('lead_time_normal');
     $this->view->leadTimeCatering = $objCat->getAllValues('lead_time_catering');
     //        echo '<pre>';print_r($this->view->allProvinces);die;
     /**
      * Get data
      */
     $objRes = new Models_Restaurant();
     $objUser = new Models_User();
     $data = $this->_getParam('data', false);
     $id = $this->_getParam('id', false);
     $error = '';
     if (false != $data) {
         /**
          * Insert new restaurant
          */
         $newRes = $data;
         /**
          * Modify date
          */
         $dateArr = array('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun');
         foreach ($dateArr as $item) {
             if ('1' != @$newRes["date_{$item}"]) {
                 unset($newRes["date_{$item}_start"]);
                 unset($newRes["date_{$item}_end"]);
             } else {
                 /**
                  * Change correct time
                  */
                 if (null == @$newRes["date_{$item}_start"]) {
                     $newRes["date_{$item}_start"] = '00:00';
                     //0 hours
                 } else {
                     $tmp = explode(':', $newRes["date_{$item}_start"]);
                     /**
                      * Hour
                      */
                     if (null == @$tmp[0]) {
                         $tmp[0] = 0;
                     }
                     $tmp[0] = '00' . abs(intval($tmp[0]));
                     $tmp[0] = substr($tmp[0], -2, 2);
                     if (23 < intval($tmp[0])) {
                         $tmp[0] = '00';
                     }
                     /**
                      * Minute
                      */
                     if (null == @$tmp[1]) {
                         $tmp[1] = 0;
                     }
                     $tmp[1] = '00' . abs(intval($tmp[1]));
                     $tmp[1] = substr($tmp[1], -2, 2);
                     if (59 < intval($tmp[1])) {
                         $tmp[1] = '00';
                     }
                     $newRes["date_{$item}_start"] = $tmp[0] . ':' . $tmp[1];
                 }
                 if (null == @$newRes["date_{$item}_end"]) {
                     $newRes["date_{$item}_end"] = 24 * 3600 - 60;
                     //23:59:59 hours
                 } else {
                     $tmp = explode(':', $newRes["date_{$item}_end"]);
                     /**
                      * Hour
                      */
                     if (null == @$tmp[0]) {
                         $tmp[0] = 23;
                     }
                     $tmp[0] = '00' . abs(intval($tmp[0]));
                     $tmp[0] = substr($tmp[0], -2, 2);
                     if (23 < intval($tmp[0])) {
                         $tmp[0] = '23';
                     }
                     /**
                      * Minute
                      */
                     if (null == @$tmp[1]) {
                         $tmp[1] = 59;
                     }
                     $tmp[1] = '00' . abs(intval($tmp[1]));
                     $tmp[1] = substr($tmp[1], -2, 2);
                     if (59 < intval($tmp[1])) {
                         $tmp[1] = '59';
                     }
                     $newRes["date_{$item}_end"] = $tmp[0] . ':' . $tmp[1];
                 }
             }
         }
         /**
          * Modify data
          */
         if ('1' != @$newRes['check']['pickup']) {
             unset($newRes['pickup']);
         }
         if ('1' != @$newRes['check']['curbside']) {
             unset($newRes['curbside']);
         }
         if ('1' != @$newRes['check']['delivery']) {
             unset($newRes['delivery']);
             unset($newRes['delivery_limit_hour']);
             unset($newRes['delivery_charge']);
             unset($newRes['delivery_minimum']);
         }
         if ('1' != @$newRes['check']['catering_pickup']) {
             unset($newRes['catering_pickup']);
         }
         if ('1' != @$newRes['check']['catering_delivery']) {
             unset($newRes['catering_delivery']);
             unset($newRes['catering_delivery_limit_hour']);
             unset($newRes['catering_delivery_charge']);
             unset($newRes['catering_delivery_minimum']);
         }
         /**
          * Remove tempory data
          */
         unset($newRes['check']);
         if (null != $newRes['image']) {
             $newRes['image'] = $this->_getImagePath($newRes['image']);
         }
         //            echo '<pre>';print_r($newRes);die;
         $objRes->update($newRes, array('restaurant_id=?' => $id));
         //            /**
         //             * Update user if activating user
         //             */
         //            if ('1' == $newRes['enabled'] && false != $this->_getParam('user_id', false)) {
         //                /**
         //                 * Active user
         //                 */
         //                $objUser->update(array('enabled' => 1), array('user_id=?' => $this->_getParam('user_id', false)));
         //            }
         $this->session->restaurantMessage = array('success' => true, 'message' => Vi_Language::translate('Edit restaurant successfully'));
         $this->_redirect('restaurant/admin/manager#listofrestaurant');
     } else {
         /**
          * Loading data
          */
         $data = $objRes->find($id)->toArray();
         $data = current($data);
         if (false == $data) {
             $this->_redirect('restaurant/admin/manager');
         }
         /**
          * Load user
          */
         $user = $objUser->find($data['user_id'])->toArray();
         $user = current($user);
     }
     $this->view->isNumberCuisine = is_numeric($data['cuisine']);
     $cuisines = $objCat->getAllValues('cuisine');
     $this->view->cuisines = $cuisines;
     $this->view->data = $data;
     $this->view->error = $error;
     $this->view->user = $user;
     $this->view->headTitle('Edit Restaurant');
     $this->view->menu = array('restaurant');
 }
예제 #3
0
 public function editRestaurantAction()
 {
     /**
      * Get all provice CODE
      */
     $objCountry = new Models_Country();
     $this->view->allProvinces = $objCountry->getAllProvinces();
     /**
      * Get some list
      */
     $objCat = new Models_Category();
     $this->view->leadTimeNormal = $objCat->getAllValues('lead_time_normal');
     $this->view->leadTimeCatering = $objCat->getAllValues('lead_time_catering');
     //        echo '<pre>';print_r($this->view->allProvinces);die;
     /**
      * Get data
      */
     $objRes = new Models_Restaurant();
     $objUser = new Models_User();
     $objUserExp = new Models_UserExpand();
     $data = $this->_getParam('data', false);
     $user = $this->_getParam('user', false);
     $condition = $this->_getParam('condition', false);
     if (false != $data && false != $user) {
         /**
          * Update restaurant
          */
         $newRes = $data;
         /**
          * Modify date
          */
         $dateArr = array('mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun');
         foreach ($dateArr as $item) {
             if ('1' != @$newRes["date_{$item}"]) {
                 unset($newRes["date_{$item}_start"]);
                 unset($newRes["date_{$item}_end"]);
             } else {
                 /**
                  * Change correct time
                  */
                 if (null == @$newRes["date_{$item}_start"]) {
                     $newRes["date_{$item}_start"] = '00:00';
                     //0 hours
                 } else {
                     $tmp = explode(':', $newRes["date_{$item}_start"]);
                     /**
                      * Hour
                      */
                     if (null == @$tmp[0]) {
                         $tmp[0] = 0;
                     }
                     $tmp[0] = '00' . abs(intval($tmp[0]));
                     $tmp[0] = substr($tmp[0], -2, 2);
                     if (23 < intval($tmp[0])) {
                         $tmp[0] = '00';
                     }
                     /**
                      * Minute
                      */
                     if (null == @$tmp[1]) {
                         $tmp[1] = 0;
                     }
                     $tmp[1] = '00' . abs(intval($tmp[1]));
                     $tmp[1] = substr($tmp[1], -2, 2);
                     if (59 < intval($tmp[1])) {
                         $tmp[1] = '00';
                     }
                     $newRes["date_{$item}_start"] = $tmp[0] . ':' . $tmp[1];
                 }
                 if (null == @$newRes["date_{$item}_end"]) {
                     $newRes["date_{$item}_end"] = 24 * 3600 - 60;
                     //23:59:59 hours
                 } else {
                     $tmp = explode(':', $newRes["date_{$item}_end"]);
                     /**
                      * Hour
                      */
                     if (null == @$tmp[0]) {
                         $tmp[0] = 23;
                     }
                     $tmp[0] = '00' . abs(intval($tmp[0]));
                     $tmp[0] = substr($tmp[0], -2, 2);
                     if (23 < intval($tmp[0])) {
                         $tmp[0] = '23';
                     }
                     /**
                      * Minute
                      */
                     if (null == @$tmp[1]) {
                         $tmp[1] = 59;
                     }
                     $tmp[1] = '00' . abs(intval($tmp[1]));
                     $tmp[1] = substr($tmp[1], -2, 2);
                     if (59 < intval($tmp[1])) {
                         $tmp[1] = '59';
                     }
                     $newRes["date_{$item}_end"] = $tmp[0] . ':' . $tmp[1];
                 }
             }
         }
         /**
          * Modify data
          */
         if ('1' != @$newRes['check']['pickup']) {
             unset($newRes['pickup']);
         }
         if ('1' != @$newRes['check']['curbside']) {
             unset($newRes['curbside']);
         }
         if ('1' != @$newRes['check']['delivery']) {
             unset($newRes['delivery']);
             unset($newRes['delivery_limit_hour']);
             unset($newRes['delivery_charge']);
             unset($newRes['delivery_minimum']);
         }
         if ('1' != @$newRes['check']['catering_pickup']) {
             unset($newRes['catering_pickup']);
         }
         if ('1' != @$newRes['check']['catering_delivery']) {
             unset($newRes['catering_delivery']);
             unset($newRes['catering_delivery_limit_hour']);
             unset($newRes['catering_delivery_charge']);
             unset($newRes['catering_delivery_minimum']);
         }
         /**
          * Remove tempory data
          */
         unset($newRes['check']);
         unset($newRes['owner_email']);
         //            echo '<pre>';print_r($newRes);die;
         $objRes->update($newRes, array('restaurant_id=?' => Vi_Registry::getRestaurantIdFromLoggedUser()));
         /**
          * Update new password
          */
         $newUser = $user;
         //            echo '<pre>';print_r($newUser);die;
         if (null != $newUser['password'] && $newUser['password'] == $newUser['retype_password']) {
             $newUser['password'] = md5($newUser['password']);
             /**
              * TODO Read date format from language table
              */
             unset($newUser['retype_password']);
         } else {
             /**
              * Don't change password
              */
             unset($newUser['password']);
             unset($newUser['retype_password']);
         }
         unset($newUser['email']);
         unset($newUser['username']);
         $newUser['company'] = $data['name'];
         $newUser['full_name'] = $data['owner'];
         $objUser->update($newUser, array('user_id=?' => Vi_Registry::getLoggedInUserId()));
         $this->view->updateSuccess = true;
     }
     /**
      * Reload user and restaurant
      */
     $user = Vi_Registry::getLoggedInUser()->toArray();
     $data = $objRes->getByColumnName(array('user_id=?' => $user['user_id']))->toArray();
     $data = current($data);
     $this->view->user = $user;
     $this->view->data = $data;
     $cuisines = $objCat->getAllValues('cuisine');
     $this->view->cuisines = $cuisines;
     $this->view->headTitle('Restaurant Owner Register');
     //        $this->setLayout('front2');
 }