public function editAction()
{
$staff = $this->_helper->entity->get(new Staff(), 'user');
$translator = \Zend_Registry::get('container')->getService('translator');
// check permission
$auth = Zend_Auth::getInstance();
if ($staff->getId() != $auth->getIdentity()) {
// check if user != current
$this->_helper->acl->check('user', 'manage');
}
try {
$this->form->setDefaultsFromEntity($staff);
$this->handleForm($this->form, $staff);
} catch (InvalidArgumentException $e) {
$field = $e->getMessage();
$this->form->getElement($field)->addError($translator->trans("That \$1 already exists, please choose a different \$2.", array('$1' => $field, '$2' => $field), 'user_subscriptions'));
}
$this->view->form = $this->form;
$this->view->actions = array(array('label' => $translator->trans('Permissions', array(), 'user_types'), 'module' => 'admin', 'controller' => 'staff', 'action' => 'edit-access', 'params' => array('user' => $staff->getId()), 'resource' => 'user', 'privilege' => 'manage'));
}