Make user actions available from contextual menu
This commit is contained in:
parent
469112918d
commit
a22b8f3dc7
|
|
@ -10,6 +10,7 @@ Improvements:
|
|||
* Render QR code for TwoFactor authentication without Google Chart API
|
||||
* Add toggle button to show/hide subtasks in task list view
|
||||
* Display tags in task list view
|
||||
* Make user actions available from contextual menu
|
||||
* Change users list layout
|
||||
* Project priority is always rendered now
|
||||
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ class AvatarFileController extends BaseController
|
|||
$this->flash->failure(t('Unable to upload files, check the permissions of your data folder.'));
|
||||
}
|
||||
|
||||
$this->response->redirect($this->helper->url->to('AvatarFileController', 'show', array('user_id' => $user['id'])));
|
||||
$this->renderResponse($user['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -48,7 +48,7 @@ class AvatarFileController extends BaseController
|
|||
$user = $this->getUser();
|
||||
$this->avatarFileModel->remove($user['id']);
|
||||
$this->userSession->refresh($user['id']);
|
||||
$this->response->redirect($this->helper->url->to('AvatarFileController', 'show', array('user_id' => $user['id'])));
|
||||
$this->renderResponse($user['id']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -91,4 +91,13 @@ class AvatarFileController extends BaseController
|
|||
$this->logger->error($e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
protected function renderResponse($userId)
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
$this->show();
|
||||
} else {
|
||||
$this->response->redirect($this->helper->url->to('AvatarFileController', 'show', array('user_id' => $userId)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -100,10 +100,15 @@ class TwoFactorController extends UserViewController
|
|||
unset($this->sessionStorage->twoFactorSecret);
|
||||
$this->userSession->disablePostAuthentication();
|
||||
|
||||
$this->response->redirect($this->helper->url->to('TwoFactorController', 'index', array('user_id' => $user['id'])));
|
||||
$this->response->redirect($this->helper->url->to('TwoFactorController', 'index', array('user_id' => $user['id'])), true);
|
||||
} else {
|
||||
$this->flash->failure(t('The two factor authentication code is not valid.'));
|
||||
$this->response->redirect($this->helper->url->to('TwoFactorController', 'show', array('user_id' => $user['id'])));
|
||||
|
||||
if ($this->request->isAjax()) {
|
||||
$this->show();
|
||||
} else {
|
||||
$this->response->redirect($this->helper->url->to('TwoFactorController', 'show', array('user_id' => $user['id'])));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -127,7 +132,7 @@ class TwoFactorController extends UserViewController
|
|||
$this->userSession->disablePostAuthentication();
|
||||
|
||||
$this->flash->success(t('User updated successfully.'));
|
||||
$this->response->redirect($this->helper->url->to('TwoFactorController', 'index', array('user_id' => $user['id'])));
|
||||
$this->response->redirect($this->helper->url->to('TwoFactorController', 'index', array('user_id' => $user['id'])), true);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -192,7 +197,7 @@ class TwoFactorController extends UserViewController
|
|||
'twofactor_secret' => '',
|
||||
));
|
||||
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'show', array('user_id' => $user['id'])));
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'show', array('user_id' => $user['id'])), true);
|
||||
} else {
|
||||
$this->response->html($this->helper->layout->user('twofactor/disable', array(
|
||||
'user' => $user,
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ class UserApiAccessController extends BaseController
|
|||
'api_access_token' => Token::getToken(),
|
||||
));
|
||||
|
||||
$this->response->redirect($this->helper->url->to('UserApiAccessController', 'show', array('user_id' => $user['id'])));
|
||||
$this->renderResponse();
|
||||
}
|
||||
|
||||
public function remove()
|
||||
|
|
@ -45,6 +45,15 @@ class UserApiAccessController extends BaseController
|
|||
'api_access_token' => null,
|
||||
));
|
||||
|
||||
$this->response->redirect($this->helper->url->to('UserApiAccessController', 'show', array('user_id' => $user['id'])));
|
||||
$this->renderResponse();
|
||||
}
|
||||
|
||||
protected function renderResponse()
|
||||
{
|
||||
if ($this->request->isAjax()) {
|
||||
$this->show();
|
||||
} else {
|
||||
$this->response->redirect($this->helper->url->to('UserApiAccessController', 'show', array('user_id' => $user['id'])));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -47,14 +47,14 @@ class UserCredentialController extends BaseController
|
|||
if ($this->userModel->update($values)) {
|
||||
$this->flash->success(t('Password modified successfully.'));
|
||||
$this->userLockingModel->resetFailedLogin($user['username']);
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'show', array('user_id' => $user['id'])), true);
|
||||
return;
|
||||
} else {
|
||||
$this->flash->failure(t('Unable to change the password.'));
|
||||
}
|
||||
|
||||
return $this->response->redirect($this->helper->url->to('UserViewController', 'show', array('user_id' => $user['id'])));
|
||||
}
|
||||
|
||||
return $this->changePassword($values, $errors);
|
||||
$this->changePassword($values, $errors);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -97,14 +97,14 @@ class UserCredentialController extends BaseController
|
|||
if ($valid) {
|
||||
if ($this->userModel->update($values)) {
|
||||
$this->flash->success(t('User updated successfully.'));
|
||||
$this->response->redirect($this->helper->url->to('UserCredentialController', 'changeAuthentication', array('user_id' => $user['id'])), true);
|
||||
return;
|
||||
} else {
|
||||
$this->flash->failure(t('Unable to update your user.'));
|
||||
$this->flash->failure(t('Unable to update this user.'));
|
||||
}
|
||||
|
||||
return $this->response->redirect($this->helper->url->to('UserCredentialController', 'changeAuthentication', array('user_id' => $user['id'])));
|
||||
}
|
||||
|
||||
return $this->changeAuthentication($values, $errors);
|
||||
$this->changeAuthentication($values, $errors);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -57,13 +57,13 @@ class UserModificationController extends BaseController
|
|||
if ($valid) {
|
||||
if ($this->userModel->update($values)) {
|
||||
$this->flash->success(t('User updated successfully.'));
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'show', array('user_id' => $user['id'])), true);
|
||||
return;
|
||||
} else {
|
||||
$this->flash->failure(t('Unable to update your user.'));
|
||||
$this->flash->failure(t('Unable to update this user.'));
|
||||
}
|
||||
|
||||
return $this->response->redirect($this->helper->url->to('UserViewController', 'show', array('user_id' => $user['id'])));
|
||||
}
|
||||
|
||||
return $this->show($values, $errors);
|
||||
$this->show($values, $errors);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -123,7 +123,12 @@ class UserViewController extends BaseController
|
|||
$this->checkCSRFParam();
|
||||
$user = $this->getUser();
|
||||
$this->rememberMeSessionModel->remove($this->request->getIntegerParam('id'));
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'sessions', array('user_id' => $user['id'])));
|
||||
|
||||
if ($this->request->isAjax()) {
|
||||
$this->sessions();
|
||||
} else {
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'sessions', array('user_id' => $user['id'])), true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -139,10 +144,11 @@ class UserViewController extends BaseController
|
|||
$values = $this->request->getValues();
|
||||
$this->userNotificationModel->saveSettings($user['id'], $values);
|
||||
$this->flash->success(t('User updated successfully.'));
|
||||
return $this->response->redirect($this->helper->url->to('UserViewController', 'notifications', array('user_id' => $user['id'])));
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'notifications', array('user_id' => $user['id'])), true);
|
||||
return;
|
||||
}
|
||||
|
||||
return $this->response->html($this->helper->layout->user('user_view/notifications', array(
|
||||
$this->response->html($this->helper->layout->user('user_view/notifications', array(
|
||||
'projects' => $this->projectUserRoleModel->getProjectsByUser($user['id'], array(ProjectModel::ACTIVE)),
|
||||
'notifications' => $this->userNotificationModel->readSettings($user['id']),
|
||||
'types' => $this->userNotificationTypeModel->getTypes(),
|
||||
|
|
@ -164,7 +170,8 @@ class UserViewController extends BaseController
|
|||
$values = $this->request->getValues();
|
||||
$this->userMetadataModel->save($user['id'], $values);
|
||||
$this->flash->success(t('User updated successfully.'));
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'integrations', array('user_id' => $user['id'])));
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'integrations', array('user_id' => $user['id'])), true);
|
||||
return;
|
||||
}
|
||||
|
||||
$this->response->html($this->helper->layout->user('user_view/integrations', array(
|
||||
|
|
@ -206,10 +213,15 @@ class UserViewController extends BaseController
|
|||
$this->flash->failure(t('Unable to update this user.'));
|
||||
}
|
||||
|
||||
return $this->response->redirect($this->helper->url->to('UserViewController', 'share', array('user_id' => $user['id'])));
|
||||
if (! $this->request->isAjax()) {
|
||||
$this->response->redirect($this->helper->url->to('UserViewController', 'share', array('user_id' => $user['id'])), true);
|
||||
return;
|
||||
}
|
||||
|
||||
$user = $this->getUser();
|
||||
}
|
||||
|
||||
return $this->response->html($this->helper->layout->user('user_view/share', array(
|
||||
$this->response->html($this->helper->layout->user('user_view/share', array(
|
||||
'user' => $user,
|
||||
'title' => t('Public access'),
|
||||
)));
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Korisnik uspješno kreiran',
|
||||
'Unable to create your user.' => 'Nije uspjelo kreiranje korisnika.',
|
||||
'User updated successfully.' => 'Korisnik uspješno ažuriran.',
|
||||
'Unable to update your user.' => 'Nije moguće ažuriranje korisnika.',
|
||||
'User removed successfully.' => 'Korisnik uspješno uklonjen.',
|
||||
'Unable to remove this user.' => 'Nije moguće uklanjanje korisnika.',
|
||||
'Board updated successfully.' => 'Ploča je uspješno ažurirana.',
|
||||
|
|
@ -1125,7 +1124,7 @@ return array(
|
|||
'Email settings' => 'Postavke email-a',
|
||||
'Email sender address' => 'Email adresa pošiljaoca',
|
||||
'Email transport' => 'Saobraćaj emil-a',
|
||||
//'Webhook token' => '',
|
||||
// 'Webhook token' => '',
|
||||
'Project tags management' => 'Upravljanje oznakama projekta',
|
||||
'Tag created successfully.' => 'Oznaka uspješno kreirana.',
|
||||
'Unable to create this tag.' => 'Nemoguće kreirati oznaku.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Uživatel byl úspěšně vytvořen.',
|
||||
'Unable to create your user.' => 'Uživatele nebylo možné vytvořit.',
|
||||
'User updated successfully.' => 'Uživatel byl úspěšně aktualizován.',
|
||||
'Unable to update your user.' => 'Uživatele nebylo možné aktualizovat.',
|
||||
'User removed successfully.' => 'Uživatel byl vymazán.',
|
||||
'Unable to remove this user.' => 'Uživatele nebylo možné odebrat.',
|
||||
'Board updated successfully.' => 'Nástěnka byla úspěšně aktualizována.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Brugeren er oprettet.',
|
||||
'Unable to create your user.' => 'Brugeren kunne ikke oprettes.',
|
||||
'User updated successfully.' => 'Brugeren er opdateret',
|
||||
'Unable to update your user.' => 'Din bruger kunne ikke opdateres.',
|
||||
'User removed successfully.' => 'Brugeren er fjernet.',
|
||||
'Unable to remove this user.' => 'Brugeren kunne ikke fjernes.',
|
||||
'Board updated successfully.' => 'Boardet er opdateret.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Benutzer erfolgreich erstellt.',
|
||||
'Unable to create your user.' => 'Erstellen des Benutzers nicht möglich.',
|
||||
'User updated successfully.' => 'Benutzer erfolgreich geändert.',
|
||||
'Unable to update your user.' => 'Änderung des Benutzers nicht möglich.',
|
||||
'User removed successfully.' => 'Benutzer erfolgreich gelöscht.',
|
||||
'Unable to remove this user.' => 'Löschen des Benutzers nicht möglich.',
|
||||
'Board updated successfully.' => 'Pinnwand erfolgreich geändert.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Ο χρήστης δημιουργήθηκε με επιτυχία',
|
||||
'Unable to create your user.' => 'Δεν είναι δυνατή η δημιουργία χρήστη',
|
||||
'User updated successfully.' => 'Ο χρήστης ενημερωθηκε με επιτυχία',
|
||||
'Unable to update your user.' => 'Δεν είναι δυνατή η ενημέρωση του χρήστη',
|
||||
'User removed successfully.' => 'Ο χρήστης αφαιρέθηκε με επιτυχία.',
|
||||
'Unable to remove this user.' => 'Δεν είναι δυνατή η αφαίρεση χρήστη.',
|
||||
'Board updated successfully.' => 'Ο πίνακας ενημερώθηκε με επιτυχία.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'El usuario ha sido creado correctamente.',
|
||||
'Unable to create your user.' => 'No se puede crear este usuario.',
|
||||
'User updated successfully.' => 'El usuario ha sido actualizado correctamente.',
|
||||
'Unable to update your user.' => 'No se puede actualizar este usuario.',
|
||||
'User removed successfully.' => 'El usuario ha sido creado correctamente.',
|
||||
'Unable to remove this user.' => 'No se puede crear este usuario.',
|
||||
'Board updated successfully.' => 'El tablero ha sido actualizado correctamente.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Käyttäjä lisättiin onnistuneesti.',
|
||||
'Unable to create your user.' => 'Käyttäjän lisäys epäonnistui.',
|
||||
'User updated successfully.' => 'Käyttäjätietojen päivitys onnistui.',
|
||||
'Unable to update your user.' => 'Käyttäjätietojen päivitys epäonnistui.',
|
||||
'User removed successfully.' => 'Käyttäjä poistettiin onnistuneesti.',
|
||||
'Unable to remove this user.' => 'Käyttäjän poistaminen epäonnistui.',
|
||||
'Board updated successfully.' => 'Taulu päivitettiin onnistuneesti.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Utilisateur créé avec succès.',
|
||||
'Unable to create your user.' => 'Impossible de créer cet utilisateur.',
|
||||
'User updated successfully.' => 'Utilisateur mis à jour avec succès.',
|
||||
'Unable to update your user.' => 'Impossible de mettre à jour cet utilisateur.',
|
||||
'User removed successfully.' => 'Utilisateur supprimé avec succès.',
|
||||
'Unable to remove this user.' => 'Impossible de supprimer cet utilisateur.',
|
||||
'Board updated successfully.' => 'Tableau mis à jour avec succès.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Korisnik je uspješno kreiran',
|
||||
'Unable to create your user.' => 'Nije uspjelo kreiranje korisnika.',
|
||||
'User updated successfully.' => 'Korisnik je uspješno dopunjen.',
|
||||
'Unable to update your user.' => 'Nije moguća dopuna korisnika.',
|
||||
'User removed successfully.' => 'Korisnik je uspješno maknut.',
|
||||
'Unable to remove this user.' => 'Nije moguće uklanjanje korisnika.',
|
||||
'Board updated successfully.' => 'Ploča uspješno dopunjena.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Felhasználó létrehozva.',
|
||||
'Unable to create your user.' => 'Felhasználó létrehozása sikertelen.',
|
||||
'User updated successfully.' => 'Felhasználó sikeresen frissítve.',
|
||||
'Unable to update your user.' => 'Felhasználó frissítése sikertelen.',
|
||||
'User removed successfully.' => 'Felhasználó sikeresen törölve.',
|
||||
'Unable to remove this user.' => 'Felhasználó törlése sikertelen.',
|
||||
'Board updated successfully.' => 'Tábla sikeresen frissítve.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Pengguna berhasil dibuat.',
|
||||
'Unable to create your user.' => 'Tidak dapat membuat pengguna Anda.',
|
||||
'User updated successfully.' => 'Pengguna berhasil diperbarui.',
|
||||
'Unable to update your user.' => 'Tidak dapat memperbarui pengguna anda.',
|
||||
'User removed successfully.' => 'Pengguna berhasil dihapus.',
|
||||
'Unable to remove this user.' => 'Tidak dapat menghapus pengguna ini.',
|
||||
'Board updated successfully.' => 'Papan berhasil diperbaharui.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Utente creato con successo.',
|
||||
'Unable to create your user.' => 'Impossibile creare l\'utente.',
|
||||
'User updated successfully.' => 'Utente aggiornato con successo.',
|
||||
'Unable to update your user.' => 'Impossibile aggiornare questo utente.',
|
||||
'User removed successfully.' => 'Utente cancellato con successo.',
|
||||
'Unable to remove this user.' => 'Impossibile cancellare questo utente.',
|
||||
'Board updated successfully.' => 'Bacheca aggiornata con successo.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'ユーザを追加しました。',
|
||||
'Unable to create your user.' => 'ユーザの追加に失敗しました。',
|
||||
'User updated successfully.' => 'ユーザを更新しました。',
|
||||
'Unable to update your user.' => 'ユーザの更新に失敗しました。',
|
||||
'User removed successfully.' => 'ユーザを削除しました。',
|
||||
'Unable to remove this user.' => 'ユーザの削除に失敗しました。',
|
||||
'Board updated successfully.' => 'ボードを更新しました。',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => '사용자를 추가했습니다.',
|
||||
'Unable to create your user.' => '사용자의 추가에 실패했습니다.',
|
||||
'User updated successfully.' => '사용자를 갱신했습니다.',
|
||||
'Unable to update your user.' => '사용자의 갱신에 실패했습니다.',
|
||||
'User removed successfully.' => '사용자를 삭제했습니다.',
|
||||
'Unable to remove this user.' => '사용자 삭제에 실패했습니다.',
|
||||
'Board updated successfully.' => '보드를 갱신했습니다.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Pengguna berhasil dibuat.',
|
||||
'Unable to create your user.' => 'Tidak dapat membuat pengguna anda.',
|
||||
'User updated successfully.' => 'Pengguna berhasil diperbaharui.',
|
||||
'Unable to update your user.' => 'Tidak dapat memperbaharui pengguna anda.',
|
||||
'User removed successfully.' => 'pengguna berhasil dihapus.',
|
||||
'Unable to remove this user.' => 'Tidak dapat menghapus pengguna ini.',
|
||||
'Board updated successfully.' => 'Papan berhasil diperbaharui.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Brukeren er opprettet.',
|
||||
'Unable to create your user.' => 'Brukeren kunne ikke opprettes.',
|
||||
'User updated successfully.' => 'Brukeren er oppdatert',
|
||||
'Unable to update your user.' => 'Din bruker kunne ikke oppdateres.',
|
||||
'User removed successfully.' => 'Brukeren er fjernet.',
|
||||
'Unable to remove this user.' => 'Brukeren kunne ikke slettes.',
|
||||
'Board updated successfully.' => 'Hovedsiden er oppdatert.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Gebruiker succesvol aangemaakt.',
|
||||
'Unable to create your user.' => 'Aanmaken van gebruiker niet gelukt.',
|
||||
'User updated successfully.' => 'Gebruiker succesvol geupdate',
|
||||
'Unable to update your user.' => 'Updaten van gebruiker niet gelukt.',
|
||||
'User removed successfully.' => 'Gebruiker succesvol verwijderd.',
|
||||
'Unable to remove this user.' => 'Verwijderen van gebruikers niet gelukt.',
|
||||
'Board updated successfully.' => 'Board succesvol geupdate.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Użytkownik dodany',
|
||||
'Unable to create your user.' => 'Nie udało się dodać użytkownika.',
|
||||
'User updated successfully.' => 'Profil użytkownika został zaaktualizowany.',
|
||||
'Unable to update your user.' => 'Nie udało się zaktualizować użytkownika.',
|
||||
'User removed successfully.' => 'Użytkownik usunięty.',
|
||||
'Unable to remove this user.' => 'Nie udało się usunąć użytkownika.',
|
||||
'Board updated successfully.' => 'Tablica została zaktualizowana.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Usuário criado com sucesso.',
|
||||
'Unable to create your user.' => 'Não é possível criar o seu usuário.',
|
||||
'User updated successfully.' => 'Usuário atualizado com sucesso.',
|
||||
'Unable to update your user.' => 'Não é possível atualizar o seu usuário.',
|
||||
'User removed successfully.' => 'Usuário removido com sucesso.',
|
||||
'Unable to remove this user.' => 'Não é possível remover este usuário.',
|
||||
'Board updated successfully.' => 'Board atualizado com sucesso.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Utilizador criado com sucesso.',
|
||||
'Unable to create your user.' => 'Não é possível criar o seu Utilizador.',
|
||||
'User updated successfully.' => 'Utilizador actualizado com sucesso.',
|
||||
'Unable to update your user.' => 'Não é possível actualizar o seu Utilizador.',
|
||||
'User removed successfully.' => 'Utilizador removido com sucesso.',
|
||||
'Unable to remove this user.' => 'Não é possível remover este Utilizador.',
|
||||
'Board updated successfully.' => 'Quadro actualizado com sucesso.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Пользователь создан.',
|
||||
'Unable to create your user.' => 'Не удалось создать пользователя.',
|
||||
'User updated successfully.' => 'Пользователь обновлён.',
|
||||
'Unable to update your user.' => 'Не удалось обновить пользователя.',
|
||||
'User removed successfully.' => 'Пользователь удалён.',
|
||||
'Unable to remove this user.' => 'Не удалось удалить пользователя.',
|
||||
'Board updated successfully.' => 'Доска успешно обновлена.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Korisnik uspešno kreiran',
|
||||
'Unable to create your user.' => 'Nije uspelo kreiranje korisnika.',
|
||||
'User updated successfully.' => 'Korisnik uspešno ažuriran.',
|
||||
'Unable to update your user.' => 'Nije moguće ažuriranje korisnika.',
|
||||
'User removed successfully.' => 'Korisnik uspešno uklonjen.',
|
||||
'Unable to remove this user.' => 'Nije moguće uklanjanje korisnika.',
|
||||
'Board updated successfully.' => 'Tabla uspešno ažurirana.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Användaren har skapats.',
|
||||
'Unable to create your user.' => 'Kunde inte skapa din användare.',
|
||||
'User updated successfully.' => 'Användaren har updaterats.',
|
||||
'Unable to update your user.' => 'Kunde inte uppdatera din användare.',
|
||||
'User removed successfully.' => 'Användaren har tagits bort.',
|
||||
'Unable to remove this user.' => 'Kunde inte ta bort denna användare.',
|
||||
'Board updated successfully.' => 'Tavlan uppdaterad.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'สร้างผู้ใช้เรียบร้อยแล้ว',
|
||||
'Unable to create your user.' => 'ไม่สามารถสร้างผู้ใช้ได้',
|
||||
'User updated successfully.' => 'ปรับปรุงผู้ใช้เรียบร้อยแล้ว',
|
||||
'Unable to update your user.' => 'ไม่สามารถปรับปรุงผู้ใช้ได้',
|
||||
'User removed successfully.' => 'ลบผู้ใช้เรียบร้อยแล้ว',
|
||||
'Unable to remove this user.' => 'ไม่สามารถลบผู้ใช้ได้',
|
||||
'Board updated successfully.' => 'ปรับปรุงบอร์ดเรียบร้อยแล้ว',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => 'Kullanıcı başarıyla oluşturuldu',
|
||||
'Unable to create your user.' => 'Kullanıcı oluşturulamıyor.',
|
||||
'User updated successfully.' => 'Kullanıcı başarıyla güncellendi.',
|
||||
'Unable to update your user.' => 'Kullanıcı güncellenemiyor.',
|
||||
'User removed successfully.' => 'Kullanıcı silindi.',
|
||||
'Unable to remove this user.' => 'Bu kullanıcı silinemiyor.',
|
||||
'Board updated successfully.' => 'Pano başarıyla güncellendi.',
|
||||
|
|
|
|||
|
|
@ -132,7 +132,6 @@ return array(
|
|||
'User created successfully.' => '成功创建用户。',
|
||||
'Unable to create your user.' => '无法创建用户。',
|
||||
'User updated successfully.' => '成功更新用户。',
|
||||
'Unable to update your user.' => '无法为您更新用户。',
|
||||
'User removed successfully.' => '成功移除用户。',
|
||||
'Unable to remove this user.' => '无法移除该用户。',
|
||||
'Board updated successfully.' => '看板成功更新。',
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<div class="form-actions">
|
||||
<?php if (! empty($user['avatar_path'])): ?>
|
||||
<?= $this->url->link(t('Remove my image'), 'AvatarFileController', 'remove', array('user_id' => $user['id']), true, 'btn btn-red') ?>
|
||||
<?= $this->url->link(t('Remove my image'), 'AvatarFileController', 'remove', array('user_id' => $user['id']), true, 'btn btn-red js-modal-replace') ?>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,10 @@
|
|||
<h2><?= t('Two factor authentication') ?></h2>
|
||||
</div>
|
||||
|
||||
<?php if ($this->app->isAjax()): ?>
|
||||
<?= $this->app->flashMessage() ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($secret) || ! empty($key_url)): ?>
|
||||
<div class="panel">
|
||||
<?php if (! empty($secret)): ?>
|
||||
|
|
@ -16,13 +20,13 @@
|
|||
<?php endif ?>
|
||||
|
||||
<h3><?= t('Test your device') ?></h3>
|
||||
<div class="panel">
|
||||
<form method="post" action="<?= $this->url->href('TwoFactorController', 'test', array('user_id' => $user['id'])) ?>" autocomplete="off">
|
||||
|
||||
<?= $this->form->csrf() ?>
|
||||
<?= $this->form->label(t('Code'), 'code') ?>
|
||||
<?= $this->form->text('code', array(), array(), array('placeholder="123456"', 'autofocus'), 'form-numeric') ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-blue"><?= t('Check my code') ?></button>
|
||||
</div>
|
||||
<?= $this->modal->submitButtons(array('submitLabel' => t('Check my code'))) ?>
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
</p>
|
||||
|
||||
<?php if (! empty($user['api_access_token'])): ?>
|
||||
<?= $this->url->link(t('Remove your token'), 'UserApiAccessController', 'remove', array('user_id' => $user['id']), true, 'btn btn-red') ?>
|
||||
<?= $this->url->link(t('Remove your token'), 'UserApiAccessController', 'remove', array('user_id' => $user['id']), true, 'btn btn-red js-modal-replace') ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?= $this->url->link(t('Generate a new token'), 'UserApiAccessController', 'generate', array('user_id' => $user['id']), true, 'btn btn-blue') ?>
|
||||
<?= $this->url->link(t('Generate a new token'), 'UserApiAccessController', 'generate', array('user_id' => $user['id']), true, 'btn btn-blue js-modal-replace') ?>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<div class="page-header">
|
||||
<h2><?= t('Edit Authentication') ?></h2>
|
||||
<h2><?= t('Authentication Parameters') ?></h2>
|
||||
</div>
|
||||
<form method="post" action="<?= $this->url->href('UserCredentialController', 'saveAuthentication', array('user_id' => $user['id'])) ?>" autocomplete="off">
|
||||
<?= $this->form->csrf() ?>
|
||||
|
|
@ -14,11 +14,7 @@
|
|||
<?= $this->form->checkbox('disable_login_form', t('Disallow login form'), 1, isset($values['disable_login_form']) && $values['disable_login_form'] == 1) ?>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
|
||||
<?= t('or') ?>
|
||||
<?= $this->url->link(t('cancel'), 'UserViewController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</div>
|
||||
<?= $this->modal->submitButtons() ?>
|
||||
|
||||
<div class="alert alert-info">
|
||||
<ul>
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<fieldset>
|
||||
<?= $this->form->label(t('Current password for the user "%s"', $this->user->getFullname()), 'current_password') ?>
|
||||
<?= $this->form->password('current_password', $values, $errors) ?>
|
||||
<?= $this->form->password('current_password', $values, $errors, array('autofocus')) ?>
|
||||
|
||||
<?= $this->form->label(t('New password for the user "%s"', $this->user->getFullname($user)), 'password') ?>
|
||||
<?= $this->form->password('password', $values, $errors) ?>
|
||||
|
|
@ -17,9 +17,5 @@
|
|||
<?= $this->form->password('confirmation', $values, $errors) ?>
|
||||
</fieldset>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
|
||||
<?= t('or') ?>
|
||||
<?= $this->url->link(t('cancel'), 'UserViewController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</div>
|
||||
<?= $this->modal->submitButtons() ?>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,83 @@
|
|||
<li>
|
||||
<?= $this->url->icon('user', t('View profile'), 'UserViewController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php if ($user['is_active'] == 1 && $this->user->hasAccess('UserModificationController', 'show')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('edit', t('Edit'), 'UserModificationController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= $this->modal->medium('smile-o', t('Avatar'), 'AvatarFileController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($user['is_ldap_user'] == 0 && $this->user->hasAccess('UserCredentialController', 'changePassword')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('key', t('Change password'), 'UserCredentialController', 'changePassword', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->isCurrentUser($user['id']) && $this->user->hasAccess('TwoFactorController', 'index')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('shield', t('Two factor authentication'), 'TwoFactorController', 'index', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php elseif ($this->user->hasAccess('TwoFactorController', 'disable') && $user['twofactor_activated'] == 1): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('shield', t('Two factor authentication'), 'TwoFactorController', 'disable', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'share')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('share-alt', t('Public access'), 'UserViewController', 'share', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'notifications')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('bell-o', t('Notifications'), 'UserViewController', 'notifications', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'external')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('user-circle-o', t('External accounts'), 'UserViewController', 'external', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'integrations')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('rocket', t('Integrations'), 'UserViewController', 'integrations', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserApiAccessController', 'show')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('cloud', t('API Access'), 'UserApiAccessController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($this->user->isAdmin()): ?>
|
||||
<li>
|
||||
<?= $this->url->icon('dashboard', t('User dashboard'), 'DashboardController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($this->user->isAdmin() || $this->user->isCurrentUser($user['id'])): ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'timesheet')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('clock-o',t('Time tracking'), 'UserViewController', 'timesheet', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'lastLogin')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('id-badge', t('Last logins'), 'UserViewController', 'lastLogin', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'sessions')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('database', t('Persistent connections'), 'UserViewController', 'sessions', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php if ($this->user->hasAccess('UserViewController', 'passwordReset')): ?>
|
||||
<li>
|
||||
<?= $this->modal->medium('legal', t('Password reset history'), 'UserViewController', 'passwordReset', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($user['is_active'] == 1 && $this->user->hasAccess('UserStatusController', 'disable') && ! $this->user->isCurrentUser($user['id'])): ?>
|
||||
<li>
|
||||
<?= $this->modal->confirm('times', t('Disable'), 'UserStatusController', 'confirmDisable', array('user_id' => $user['id'])) ?>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
<?php if ($user['twofactor_activated'] == 1): ?>
|
||||
<span title="<?= t('Two factor authentication enabled') ?>">
|
||||
<i class="fa fa-key" aria-hidden="true"></i>
|
||||
<i class="fa fa-shield" aria-hidden="true"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<fieldset>
|
||||
<legend><?= t('Profile') ?></legend>
|
||||
<?= $this->form->label(t('Username'), 'username') ?>
|
||||
<?= $this->form->text('username', $values, $errors, array('required', isset($values['is_ldap_user']) && $values['is_ldap_user'] == 1 ? 'readonly' : '', 'maxlength="50"')) ?>
|
||||
<?= $this->form->text('username', $values, $errors, array('autofocus', 'required', isset($values['is_ldap_user']) && $values['is_ldap_user'] == 1 ? 'readonly' : '', 'maxlength="50"')) ?>
|
||||
|
||||
<?= $this->form->label(t('Name'), 'name') ?>
|
||||
<?= $this->form->text('name', $values, $errors, array($this->user->hasAccess('UserModificationController', 'show/edit_name') ? '' : 'readonly')) ?>
|
||||
|
|
@ -34,9 +34,5 @@
|
|||
</fieldset>
|
||||
<?php endif ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
|
||||
<?= t('or') ?>
|
||||
<?= $this->url->link(t('cancel'), 'UserViewController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</div>
|
||||
<?= $this->modal->submitButtons() ?>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -18,9 +18,5 @@
|
|||
<?= $this->form->checkboxes('notification_projects', $projects, $notifications) ?>
|
||||
<?php endif ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
|
||||
<?= t('or') ?>
|
||||
<?= $this->url->link(t('cancel'), 'UserViewController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</div>
|
||||
<?= $this->modal->submitButtons() ?>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
<td><?= $this->dt->datetime($session['expiration']) ?></td>
|
||||
<td><?= $this->text->e($session['ip']) ?></td>
|
||||
<td><?= $this->text->e($session['user_agent']) ?></td>
|
||||
<td><?= $this->url->link(t('Remove'), 'UserViewController', 'removeSession', array('user_id' => $user['id'], 'id' => $session['id']), true) ?></td>
|
||||
<td><?= $this->url->link(t('Remove'), 'UserViewController', 'removeSession', array('user_id' => $user['id'], 'id' => $session['id']), true, 'js-modal-replace') ?></td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</table>
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
<li><strong><?= $this->url->icon('calendar', t('iCal feed'), 'ICalendarController', 'user', array('token' => $user['token']), false, '', '', true) ?></strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?= $this->url->link(t('Disable public access'), 'UserViewController', 'share', array('user_id' => $user['id'], 'switch' => 'disable'), true, 'btn btn-red') ?>
|
||||
<?= $this->url->link(t('Disable public access'), 'UserViewController', 'share', array('user_id' => $user['id'], 'switch' => 'disable'), true, 'btn btn-red js-modal-replace') ?>
|
||||
<?php else: ?>
|
||||
<?= $this->url->link(t('Enable public access'), 'UserViewController', 'share', array('user_id' => $user['id'], 'switch' => 'enable'), true, 'btn btn-blue') ?>
|
||||
<?= $this->url->link(t('Enable public access'), 'UserViewController', 'share', array('user_id' => $user['id'], 'switch' => 'enable'), true, 'btn btn-blue js-modal-replace') ?>
|
||||
<?php endif ?>
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
<li <?= $this->app->checkMenuSelection('UserModificationController', 'show') ?>>
|
||||
<?= $this->url->link(t('Edit profile'), 'UserModificationController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<li <?= $this->app->checkMenuSelection('AvatarFile') ?>>
|
||||
<li <?= $this->app->checkMenuSelection('AvatarFileController') ?>>
|
||||
<?= $this->url->link(t('Avatar'), 'AvatarFileController', 'show', array('user_id' => $user['id'])) ?>
|
||||
</li>
|
||||
<?php endif ?>
|
||||
|
|
|
|||
Loading…
Reference in New Issue