public function loadAction()
 {
     $sl = $this->getServiceLocator();
     $city = new \Address\Model\City();
     /*@var $districtMapper \Cart\Model\DistrictMapper */
     $cityMapper = $sl->get('Address\\Model\\CityMapper');
     return new JsonModel($city->toSelectBoxArray($cityMapper->fetchAll()));
 }
 public function indexAction()
 {
     $add = new \Address\Model\Book();
     $addMapper = $this->getServiceLocator()->get('Address\\Model\\BookMapper');
     /* @var $cityMapper \Address\Model\CityMapper */
     $cityMapper = $this->getServiceLocator()->get('Address\\Model\\CityMapper');
     $city = new \Address\Model\City();
     /* @var $districtMapper \Address\Model\DistrictMapper */
     $districtMapper = $this->getServiceLocator()->get('Address\\Model\\DistrictMapper');
     $district = new \Address\Model\District();
     $districts = array();
     if (!!($cityId = $this->getRequest()->getPost()->get('cityId'))) {
         $district->setCityId($cityId);
         $districts = $districtMapper->fetchAll($district);
     }
     /* @var $form \User\Form\Signup */
     $form = $this->getServiceLocator()->get('Address\\Form\\Book');
     $form->setInputFilter($this->getServiceLocator()->get('Address\\Form\\BookFilter'));
     $form->setCities($city->toSelectBoxArray($cityMapper->fetchAll()));
     $form->setDistricts($district->toSelectBoxArray($districts));
     $form->bind($add);
     $viewModel = new ViewModel();
     if ($this->params()->fromQuery('layout') == 'false') {
         $viewModel->setTerminal(true);
     }
     if ($this->getRequest()->isPost()) {
         $form->setData($this->getRequest()->getPost());
         $address = new Book();
         if ($form->isValid()) {
             $address->exchangeArray((array) $this->getRequest()->getPost());
             $address->setCreatedById($this->user()->getUser()->getId());
             $addMapper->saveAddress($address);
             $this->redirect()->toUrl('/profile');
         }
     }
     $viewModel->setVariable('form', $form);
     return $viewModel;
 }
 public function editAction()
 {
     $userMapper = $this->getServiceLocator()->get('\\User\\Model\\UserMapper');
     /** @var \Zend\Http\Request $request */
     $request = $this->getRequest();
     $sl = $this->getServiceLocator();
     $id = $this->params()->fromQuery('id');
     if (!$id || !($user = $userMapper->get($id))) {
         return $this->page404();
     }
     /* @var $cityMapper \Address\Model\CityMapper */
     $cityMapper = $sl->get('Address\\Model\\CityMapper');
     $city = new \Address\Model\City();
     /* @var $districtMapper \Address\Model\DistrictMapper */
     $districtMapper = $sl->get('Address\\Model\\DistrictMapper');
     $district = new \Address\Model\District();
     $districts = array();
     if (!!($cityId = $request->getPost('cityId'))) {
         $district->setCityId($cityId);
         $districts = $districtMapper->fetchAll($district);
     } elseif ($user->getCityId()) {
         $district->setCityId($user->getCityId());
         $districts = $districtMapper->fetchAll($district);
     }
     $form = new \System\Form\User\Edit($this->getServiceLocator());
     $form->setCities($city->toSelectBoxArray($cityMapper->fetchAll()));
     $form->setDistricts($district->toSelectBoxArray($districts));
     $form->populateValues($user->toFormValues());
     if ($this->getRequest()->isPost()) {
         $form->setData($this->getRequest()->getPost());
         if ($form->isValid()) {
             $data = $form->getData();
             $user->exchangeArray($form->getData());
             if (isset($data['password']) && $data['password']) {
                 $user->setSalt($user->generateSalt());
                 $user->setPassword($user->createPassword());
             }
             if (!$user->getRole()) {
                 $user->setRole(User::ROLE_GUEST);
             }
             $userMapper = $this->getServiceLocator()->get('\\User\\Model\\UserMapper');
             $userMapper->save($user);
             return $this->redirect()->toUrl('/system/user/index?id=' . $user->getId());
         }
     }
     $viewModel = new ViewModel();
     $viewModel->setVariable('form', $form);
     return $viewModel;
 }
 public function editbookAction()
 {
     /* @var $request \Zend\Http\Request */
     $request = $this->getRequest();
     $sl = $this->getServiceLocator();
     /* @var $addrbkMapper \Address\Model\BookMapper */
     $addrbkMapper = $sl->get('Address\\Model\\BookMapper');
     $addressBk = new \Address\Model\Book();
     $addressBk->setId((int) $this->params('id'));
     $addressBk = $addrbkMapper->get($addressBk->getId());
     /* @var $cityMapper \Address\Model\CityMapper */
     $cityMapper = $sl->get('Address\\Model\\CityMapper');
     $city = new \Address\Model\City();
     /* @var $districtMapper \Address\Model\DistrictMapper */
     $districtMapper = $sl->get('Address\\Model\\DistrictMapper');
     $district = new \Address\Model\District();
     if (!!($cityId = $request->getPost('cityId'))) {
         $district->setCityId($cityId);
     } else {
         $district->setCityId($addressBk->getCityId());
     }
     $districts = $districtMapper->fetchAll($district);
     /* @var $form \Address\Form\Book */
     $form = $sl->get('Address\\Form\\Book');
     $form->setCities($city->toSelectBoxArray($cityMapper->fetchAll()));
     $form->setDistricts($district->toSelectBoxArray($districts));
     $form->setInputFilter($sl->get('Address\\Form\\BookFilter'));
     $form->bind($addressBk);
     if ($request->isPost()) {
         $form->setData($request->getPost());
         if ($form->isValid()) {
             $addressBk->exchangeArray((array) $request->getPost());
             $addressBk->setCreatedById($this->user()->getUser()->getId());
             $addrbkMapper->saveAddress($addressBk);
         }
     }
     if ($this->params()->fromQuery('format') == 'json') {
         return new JsonModel(array('addr' => $addressBk, 'code' => 1));
     }
     $viewModel = new ViewModel();
     $viewModel->setVariable('form', $form);
     $viewModel->setVariable('addressBook', $addressBk);
     return $viewModel;
 }