public function editAction()
 {
     $orgInfoModel = new Default_Model_Organisationinfo();
     $getorgData = $orgInfoModel->getorgrecords();
     $popConfigPermission = array();
     if (!empty($getorgData)) {
         $orgdata = '';
         $auth = Zend_Auth::getInstance();
         if ($auth->hasIdentity()) {
             $loginUserId = $auth->getStorage()->read()->id;
             $loginuserRole = $auth->getStorage()->read()->emprole;
             $loginuserGroup = $auth->getStorage()->read()->group_id;
         }
         if (sapp_Global::_checkprivileges(TIMEZONE, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'timezone');
         }
         if (sapp_Global::_checkprivileges(COUNTRIES, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'country');
         }
         if (sapp_Global::_checkprivileges(STATES, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'state');
         }
         if (sapp_Global::_checkprivileges(CITIES, $loginuserGroup, $loginuserRole, 'add') == 'Yes') {
             array_push($popConfigPermission, 'city');
         }
         $msgarray = array();
         $flag = 'true';
         $id = $this->getRequest()->getParam('id');
         $callval = $this->getRequest()->getParam('call');
         if ($callval == 'ajaxcall') {
             $this->_helper->layout->disableLayout();
         }
         $countriesModel = new Default_Model_Countries();
         $statesmodel = new Default_Model_States();
         $citiesmodel = new Default_Model_Cities();
         $timezonemodel = new Default_Model_Timezone();
         $allTimezoneData = $timezonemodel->fetchAll('isactive=1', 'timezone')->toArray();
         $allCountriesData = $countriesModel->fetchAll('isactive=1', 'country')->toArray();
         $allStatesData = $statesmodel->fetchAll('isactive=1', 'state')->toArray();
         $allCitiesData = $citiesmodel->fetchAll('isactive=1', 'city')->toArray();
         $businessunitsform = new Default_Form_businessunits();
         $businessunitsmodel = new Default_Model_Businessunits();
         $orgInfoModel = new Default_Model_Organisationinfo();
         $deptModel = new Default_Model_Departments();
         $deptform = new Default_Form_departments();
         $deptData = array();
         $msgarray = array();
         $businessunitsform->setAttrib('action', DOMAIN . 'businessunits/edit');
         $country = $getorgData[0]['country'];
         if (isset($_POST['country'])) {
             $country = $_POST['country'];
         }
         $state = $getorgData[0]['state'];
         if (isset($_POST['state'])) {
             $state = $_POST['state'];
         }
         $city = $getorgData[0]['city'];
         if (isset($_POST['city'])) {
             $city = $_POST['city'];
         }
         $address = $getorgData[0]['address1'];
         if (isset($country) && $country != 0 && $country != '') {
             $businessunitsform->setDefault('country', $country);
             $statesData = $statesmodel->getBasicStatesList($country);
             foreach ($statesData as $res) {
                 $businessunitsform->state->addMultiOption($res['state_id_org'], utf8_encode($res['state']));
             }
             if (isset($state) && $state != 0 && $state != '') {
                 $businessunitsform->setDefault('state', $state);
             }
         }
         if (isset($state) && $state != 0 && $state != '') {
             $citiesData = $citiesmodel->getBasicCitiesList($state);
             foreach ($citiesData as $res) {
                 $businessunitsform->city->addMultiOption($res['city_org_id'], utf8_encode($res['city']));
             }
             if (isset($city) && $city != 0 && $city != '') {
                 $businessunitsform->setDefault('city', $city);
             }
         }
         if (isset($address) && $address != '') {
             $businessunitsform->address1->setValue($address);
         }
         if (is_numeric($id) && $id > 0) {
             $data = $businessunitsmodel->getSingleUnitData($id);
             if (!empty($data)) {
                 $businessunitsform->setAttrib('action', DOMAIN . 'businessunits/edit/id/' . $id);
                 $businessunitsform->populate($data);
                 $businessunitsform->submit->setLabel('Update');
                 $st_date = sapp_Global::change_date($data["startdate"], 'view');
                 $businessunitsform->setDefault('start_date', $st_date);
                 $businessunitsform->state->clearMultiOptions();
                 $businessunitsform->city->clearMultiOptions();
                 $businessunitsform->state->addMultiOption('', utf8_encode("Select State"));
                 $businessunitsform->city->addMultiOption('', utf8_encode("Select City"));
                 $countryId = $data['country'];
                 if (isset($_POST['country'])) {
                     $countryId = $_POST['country'];
                 }
                 $stateId = $data['state'];
                 if (isset($_POST['state'])) {
                     $stateId = $_POST['state'];
                 }
                 $cityId = $data['city'];
                 if (isset($_POST['city'])) {
                     $cityId = $_POST['city'];
                 }
                 if ($countryId != '') {
                     $statesData = $statesmodel->getBasicStatesList($countryId);
                     foreach ($statesData as $res) {
                         $businessunitsform->state->addMultiOption($res['state_id_org'], utf8_encode($res['state']));
                     }
                     $businessunitsform->setDefault('country', $countryId);
                     $businessunitsform->setDefault('state', $stateId);
                 }
                 if ($stateId != '') {
                     $citiesData = $citiesmodel->getBasicCitiesList($stateId);
                     foreach ($citiesData as $res) {
                         $businessunitsform->city->addMultiOption($res['city_org_id'], utf8_encode($res['city']));
                     }
                     $businessunitsform->setDefault('city', $cityId);
                 }
                 $deptData = $deptModel->getAllDeptsForUnit($id);
                 $this->view->ermsg = '';
                 $this->view->datarr = $data;
             } else {
                 $this->view->ermsg = 'nodata';
             }
         } else {
             if ($id != '') {
                 $this->view->ermsg = 'nodata';
             }
         }
         $deptaddpermission = sapp_Global::_checkprivileges(DEPARTMENTS, $loginuserGroup, $loginuserRole, 'add');
         $this->view->deptaddpermission = $deptaddpermission;
         $this->view->dataArray = $this->departmentGrid($id);
         $this->view->deptData = sizeof($deptData);
         $this->view->form = $businessunitsform;
         $this->view->unitid = $id;
         if (!empty($allCountriesData) && !empty($allStatesData) && !empty($allCitiesData) && !empty($allTimezoneData)) {
             $this->view->configuremsg = '';
         } else {
             $this->view->configuremsg = 'notconfigurable';
         }
         if (empty($allCountriesData)) {
             $msgarray['country'] = 'Countries are not configured yet.';
             $flag = 'false';
         }
         if (empty($allStatesData)) {
             $msgarray['state'] = 'States are not configured yet.';
             $flag = 'false';
         }
         if (empty($allCitiesData)) {
             $msgarray['city'] = 'Cities are not configured yet.';
             $flag = 'false';
         }
         if (empty($allTimezoneData)) {
             $msgarray['timezone'] = 'Time zones are not configured yet.';
             $flag = 'false';
         }
         $start_date = $this->_request->getParam('start_date');
         $start_date = sapp_Global::change_date($start_date, 'database');
         $this->view->msgarray = $msgarray;
         if ($this->getRequest()->getPost()) {
             if ($businessunitsform->isValid($this->_request->getPost()) && $flag == 'true') {
                 $unitname = $this->_request->getParam('unitname');
                 $unitcode = $this->_request->getParam('unitcode');
                 $description = $this->_request->getParam('description');
                 $country = $this->_request->getParam('country');
                 $state = intval($this->_request->getParam('state'));
                 $city = $this->_request->getParam('city');
                 $address1 = $this->_request->getParam('address1');
                 $address2 = $this->_request->getParam('address2');
                 $address3 = $this->_request->getParam('address3');
                 $timezone = $this->_request->getParam('timezone');
                 $unithead = $this->_request->getParam('unithead');
                 $unitcodeExistance = $businessunitsmodel->checkUnitCodeDuplicates($unitcode, $id);
                 if (!$unitcodeExistance) {
                     $date = new Zend_Date();
                     $menumodel = new Default_Model_Menu();
                     $actionflag = '';
                     $tableid = '';
                     $data = array('unitname' => trim($unitname), 'unitcode' => trim($unitcode), 'description' => trim($description), 'startdate' => $start_date != '' ? $start_date : NULL, 'country' => trim($country), 'state' => trim($state), 'city' => trim($city), 'address1' => trim($address1), 'address2' => trim($address2), 'address3' => trim($address3), 'timezone' => trim($timezone), 'unithead' => trim($unithead), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
                     if ($id != '') {
                         $where = array('id=?' => $id);
                         $actionflag = 2;
                     } else {
                         $data['createdby'] = $loginUserId;
                         $data['createddate'] = gmdate("Y-m-d H:i:s");
                         $data['isactive'] = 1;
                         $where = '';
                         $actionflag = 1;
                     }
                     $Id = $businessunitsmodel->SaveorUpdateBusinessUnits($data, $where);
                     if ($Id == 'update') {
                         $tableid = $id;
                         $this->_helper->getHelper("FlashMessenger")->addMessage("Business unit updated successfully.");
                     } else {
                         $tableid = $Id;
                         $this->_helper->getHelper("FlashMessenger")->addMessage("Business unit added successfully.");
                     }
                     $menuidArr = $menumodel->getMenuObjID('/businessunits');
                     $menuID = $menuidArr[0]['id'];
                     $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
                     $this->_redirect('businessunits');
                 } else {
                     $msgarray['message'] = 'A Business Unit, with the given code, already exists.';
                     $msgarray['msgtype'] = 'error';
                     $this->view->messages = $msgarray;
                 }
             } else {
                 $messages = $businessunitsform->getMessages();
                 foreach ($messages as $key => $val) {
                     foreach ($val as $key2 => $val2) {
                         $msgarray[$key] = $val2;
                         break;
                     }
                     if (empty($allCountriesData)) {
                         $msgarray['country'] = 'Countries are not configured yet.';
                     }
                     if (empty($allStatesData)) {
                         $msgarray['state'] = 'States are not configured yet.';
                     }
                     if (empty($allCitiesData)) {
                         $msgarray['city'] = 'Cities are not configured yet.';
                     }
                     if (empty($allTimezoneData)) {
                         $msgarray['timezone'] = 'Time zones are not configured yet.';
                     }
                 }
                 $this->view->msgarray = $msgarray;
             }
         }
     } else {
         $orgdata = 'noorgdata';
         $this->view->orgdata = $orgdata;
     }
     $this->view->popConfigPermission = $popConfigPermission;
 }