CC-4736: Let non-admin users update their user info
-done but needs design
This commit is contained in:
parent
e6cc0c3417
commit
dd5882984e
6 changed files with 112 additions and 2 deletions
|
@ -10,6 +10,7 @@ class UserController extends Zend_Controller_Action
|
|||
->addActionContext('get-user-data-table-info', 'json')
|
||||
->addActionContext('get-user-data', 'json')
|
||||
->addActionContext('remove-user', 'json')
|
||||
->addActionContext('edit-user', 'json')
|
||||
->initContext();
|
||||
}
|
||||
|
||||
|
@ -114,6 +115,49 @@ class UserController extends Zend_Controller_Action
|
|||
$id = $this->_getParam('id');
|
||||
$this->view->entries = Application_Model_User::GetUserData($id);
|
||||
}
|
||||
|
||||
public function editUserAction()
|
||||
{
|
||||
$request = $this->getRequest();
|
||||
$form = new Application_Form_EditUser();
|
||||
if ($request->isPost()) {
|
||||
$params = $request->getPost();
|
||||
$postData = explode('&', $params['data']);
|
||||
foreach($postData as $k=>$v) {
|
||||
$v = explode('=', $v);
|
||||
$formData[$v[0]] = urldecode($v[1]);
|
||||
}
|
||||
|
||||
if (isset($CC_CONFIG['demo']) && $CC_CONFIG['demo'] == 1
|
||||
&& $formData['cu_login'] == 'admin') {
|
||||
$this->view->form = $form;
|
||||
$this->view->successMessage = "<div class='errors'>"._("Specific action is not allowed in demo version!")."</div>";
|
||||
die(json_encode(array("html"=>$this->view->render('user/edit-user.phtml'))));
|
||||
} else if ($form->isValid($formData) &&
|
||||
$form->validateLogin($formData['cu_login'], $formData['cu_user_id'])) {
|
||||
$user = new Application_Model_User($formData['cu_user_id']);
|
||||
$user->setFirstName($formData['cu_first_name']);
|
||||
$user->setLastName($formData['cu_last_name']);
|
||||
$user->setLogin($formData['cu_login']);
|
||||
// We don't allow 6 x's as a password.
|
||||
// The reason is because we use that as a password placeholder
|
||||
// on the client side.
|
||||
if ($formData['cu_password'] != "xxxxxx") {
|
||||
$user->setPassword($formData['cu_password']);
|
||||
}
|
||||
$user->setEmail($formData['cu_email']);
|
||||
$user->setCellPhone($formData['cu_cell_phone']);
|
||||
$user->setSkype($formData['cu_skype']);
|
||||
$user->setJabber($formData['cu_jabber']);
|
||||
$user->save();
|
||||
$this->view->successMessage = "<div class='success'>"._("User updated successfully!")."</div>";
|
||||
}
|
||||
$this->view->form = $form;
|
||||
die(json_encode(array("html"=>$this->view->render('user/edit-user.phtml'))));
|
||||
}
|
||||
$this->view->form = $form;
|
||||
$this->view->html = $this->view->render('user/edit-user.phtml');
|
||||
}
|
||||
|
||||
public function removeUserAction()
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue