summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2017-03-11 15:24:34 -0500
committerFrederic Guillot <fred@kanboard.net>2017-03-11 15:24:34 -0500
commita22b8f3dc73555800caf55768f04a7a2ce4af7f2 (patch)
tree60257cb9b508da83be5a9477c434fb53cc3c6f6d
parent469112918d0cfa6a43a7fdb829cd19bdf85cfcbe (diff)
Make user actions available from contextual menu
-rw-r--r--ChangeLog1
-rw-r--r--app/Controller/AvatarFileController.php13
-rw-r--r--app/Controller/TwoFactorController.php13
-rw-r--r--app/Controller/UserApiAccessController.php13
-rw-r--r--app/Controller/UserCredentialController.php14
-rw-r--r--app/Controller/UserModificationController.php8
-rw-r--r--app/Controller/UserViewController.php24
-rw-r--r--app/Locale/bs_BA/translations.php3
-rw-r--r--app/Locale/cs_CZ/translations.php1
-rw-r--r--app/Locale/da_DK/translations.php1
-rw-r--r--app/Locale/de_DE/translations.php1
-rw-r--r--app/Locale/el_GR/translations.php1
-rw-r--r--app/Locale/es_ES/translations.php1
-rw-r--r--app/Locale/fi_FI/translations.php1
-rw-r--r--app/Locale/fr_FR/translations.php1
-rw-r--r--app/Locale/hr_HR/translations.php1
-rw-r--r--app/Locale/hu_HU/translations.php1
-rw-r--r--app/Locale/id_ID/translations.php1
-rw-r--r--app/Locale/it_IT/translations.php1
-rw-r--r--app/Locale/ja_JP/translations.php1
-rw-r--r--app/Locale/ko_KR/translations.php1
-rw-r--r--app/Locale/my_MY/translations.php1
-rw-r--r--app/Locale/nb_NO/translations.php1
-rw-r--r--app/Locale/nl_NL/translations.php1
-rw-r--r--app/Locale/pl_PL/translations.php1
-rw-r--r--app/Locale/pt_BR/translations.php1
-rw-r--r--app/Locale/pt_PT/translations.php1
-rw-r--r--app/Locale/ru_RU/translations.php1
-rw-r--r--app/Locale/sr_Latn_RS/translations.php1
-rw-r--r--app/Locale/sv_SE/translations.php1
-rw-r--r--app/Locale/th_TH/translations.php1
-rw-r--r--app/Locale/tr_TR/translations.php1
-rw-r--r--app/Locale/zh_CN/translations.php1
-rw-r--r--app/Template/avatar_file/show.php2
-rw-r--r--app/Template/twofactor/show.php10
-rw-r--r--app/Template/user_api_access/show.php4
-rw-r--r--app/Template/user_credential/authentication.php8
-rw-r--r--app/Template/user_credential/password.php8
-rw-r--r--app/Template/user_list/dropdown.php77
-rw-r--r--app/Template/user_list/user_icons.php2
-rw-r--r--app/Template/user_modification/show.php8
-rw-r--r--app/Template/user_view/notifications.php6
-rw-r--r--app/Template/user_view/sessions.php2
-rw-r--r--app/Template/user_view/share.php4
-rw-r--r--app/Template/user_view/sidebar.php2
45 files changed, 161 insertions, 86 deletions
diff --git a/ChangeLog b/ChangeLog
index 92846544..d8b4f297 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/app/Controller/AvatarFileController.php b/app/Controller/AvatarFileController.php
index 2a63c5ae..327080d2 100644
--- a/app/Controller/AvatarFileController.php
+++ b/app/Controller/AvatarFileController.php
@@ -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)));
+ }
+ }
}
diff --git a/app/Controller/TwoFactorController.php b/app/Controller/TwoFactorController.php
index 73060c44..80f89fbd 100644
--- a/app/Controller/TwoFactorController.php
+++ b/app/Controller/TwoFactorController.php
@@ -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,
diff --git a/app/Controller/UserApiAccessController.php b/app/Controller/UserApiAccessController.php
index e03514d5..0f1c891e 100644
--- a/app/Controller/UserApiAccessController.php
+++ b/app/Controller/UserApiAccessController.php
@@ -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'])));
+ }
}
} \ No newline at end of file
diff --git a/app/Controller/UserCredentialController.php b/app/Controller/UserCredentialController.php
index 98fe967d..23e7edba 100644
--- a/app/Controller/UserCredentialController.php
+++ b/app/Controller/UserCredentialController.php
@@ -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);
}
/**
diff --git a/app/Controller/UserModificationController.php b/app/Controller/UserModificationController.php
index d339fd9a..ed145921 100644
--- a/app/Controller/UserModificationController.php
+++ b/app/Controller/UserModificationController.php
@@ -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);
}
}
diff --git a/app/Controller/UserViewController.php b/app/Controller/UserViewController.php
index a73c5c51..eb987379 100644
--- a/app/Controller/UserViewController.php
+++ b/app/Controller/UserViewController.php
@@ -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'),
)));
diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php
index 4c0e3ca2..b53e8ad5 100644
--- a/app/Locale/bs_BA/translations.php
+++ b/app/Locale/bs_BA/translations.php
@@ -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.',
diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php
index 95f34142..5100b33e 100644
--- a/app/Locale/cs_CZ/translations.php
+++ b/app/Locale/cs_CZ/translations.php
@@ -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.',
diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php
index 01b3a45f..bc14f3f7 100644
--- a/app/Locale/da_DK/translations.php
+++ b/app/Locale/da_DK/translations.php
@@ -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.',
diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php
index a078ffe4..b33fc4d7 100644
--- a/app/Locale/de_DE/translations.php
+++ b/app/Locale/de_DE/translations.php
@@ -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.',
diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php
index cbc46195..4daf5874 100644
--- a/app/Locale/el_GR/translations.php
+++ b/app/Locale/el_GR/translations.php
@@ -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.' => 'Ο πίνακας ενημερώθηκε με επιτυχία.',
diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php
index 1a0c9457..61516138 100644
--- a/app/Locale/es_ES/translations.php
+++ b/app/Locale/es_ES/translations.php
@@ -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.',
diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php
index 6db0ecf7..97015632 100644
--- a/app/Locale/fi_FI/translations.php
+++ b/app/Locale/fi_FI/translations.php
@@ -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.',
diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php
index 6b21672a..617082a8 100644
--- a/app/Locale/fr_FR/translations.php
+++ b/app/Locale/fr_FR/translations.php
@@ -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.',
diff --git a/app/Locale/hr_HR/translations.php b/app/Locale/hr_HR/translations.php
index 6c5e826a..47edf7ed 100644
--- a/app/Locale/hr_HR/translations.php
+++ b/app/Locale/hr_HR/translations.php
@@ -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.',
diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php
index b4645417..868a2214 100644
--- a/app/Locale/hu_HU/translations.php
+++ b/app/Locale/hu_HU/translations.php
@@ -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.',
diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php
index 4bec619c..6d6a4e73 100644
--- a/app/Locale/id_ID/translations.php
+++ b/app/Locale/id_ID/translations.php
@@ -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.',
diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php
index 6d690fd9..7e9065b6 100644
--- a/app/Locale/it_IT/translations.php
+++ b/app/Locale/it_IT/translations.php
@@ -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.',
diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php
index cf17da8c..9ccec92b 100644
--- a/app/Locale/ja_JP/translations.php
+++ b/app/Locale/ja_JP/translations.php
@@ -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.' => 'ボードを更新しました。',
diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php
index 259ed048..95a33217 100644
--- a/app/Locale/ko_KR/translations.php
+++ b/app/Locale/ko_KR/translations.php
@@ -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.' => '보드를 갱신했습니다.',
diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php
index e4f0b6e9..ccdb62d8 100644
--- a/app/Locale/my_MY/translations.php
+++ b/app/Locale/my_MY/translations.php
@@ -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.',
diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php
index 93eb4d6a..41911f4e 100644
--- a/app/Locale/nb_NO/translations.php
+++ b/app/Locale/nb_NO/translations.php
@@ -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.',
diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php
index 9f49f71d..d8198f6c 100644
--- a/app/Locale/nl_NL/translations.php
+++ b/app/Locale/nl_NL/translations.php
@@ -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.',
diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php
index 40b7fb47..b05b5f78 100644
--- a/app/Locale/pl_PL/translations.php
+++ b/app/Locale/pl_PL/translations.php
@@ -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.',
diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php
index 95c446ed..a780dae3 100644
--- a/app/Locale/pt_BR/translations.php
+++ b/app/Locale/pt_BR/translations.php
@@ -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.',
diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php
index fad8b7ad..8347b7bd 100644
--- a/app/Locale/pt_PT/translations.php
+++ b/app/Locale/pt_PT/translations.php
@@ -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.',
diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php
index d8a8565d..47462ef1 100644
--- a/app/Locale/ru_RU/translations.php
+++ b/app/Locale/ru_RU/translations.php
@@ -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.' => 'Доска успешно обновлена.',
diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php
index 31d115f4..9e2cae20 100644
--- a/app/Locale/sr_Latn_RS/translations.php
+++ b/app/Locale/sr_Latn_RS/translations.php
@@ -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.',
diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php
index 53a3b5b7..468f55b3 100644
--- a/app/Locale/sv_SE/translations.php
+++ b/app/Locale/sv_SE/translations.php
@@ -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.',
diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php
index 4b42911f..4b119c78 100644
--- a/app/Locale/th_TH/translations.php
+++ b/app/Locale/th_TH/translations.php
@@ -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.' => 'ปรับปรุงบอร์ดเรียบร้อยแล้ว',
diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php
index 14111bd0..0876b726 100644
--- a/app/Locale/tr_TR/translations.php
+++ b/app/Locale/tr_TR/translations.php
@@ -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.',
diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php
index c1779b33..ffab7337 100644
--- a/app/Locale/zh_CN/translations.php
+++ b/app/Locale/zh_CN/translations.php
@@ -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.' => '看板成功更新。',
diff --git a/app/Template/avatar_file/show.php b/app/Template/avatar_file/show.php
index 37c56cec..1766cb3f 100644
--- a/app/Template/avatar_file/show.php
+++ b/app/Template/avatar_file/show.php
@@ -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>
diff --git a/app/Template/twofactor/show.php b/app/Template/twofactor/show.php
index 412077b9..80f1e244 100644
--- a/app/Template/twofactor/show.php
+++ b/app/Template/twofactor/show.php
@@ -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>
diff --git a/app/Template/user_api_access/show.php b/app/Template/user_api_access/show.php
index 3d58e0d5..39bf354a 100644
--- a/app/Template/user_api_access/show.php
+++ b/app/Template/user_api_access/show.php
@@ -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') ?>
diff --git a/app/Template/user_credential/authentication.php b/app/Template/user_credential/authentication.php
index 98c0d758..32371bd8 100644
--- a/app/Template/user_credential/authentication.php
+++ b/app/Template/user_credential/authentication.php
@@ -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>
diff --git a/app/Template/user_credential/password.php b/app/Template/user_credential/password.php
index bd7a47da..a71ba825 100644
--- a/app/Template/user_credential/password.php
+++ b/app/Template/user_credential/password.php
@@ -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>
diff --git a/app/Template/user_list/dropdown.php b/app/Template/user_list/dropdown.php
index 20d17aea..9f89d807 100644
--- a/app/Template/user_list/dropdown.php
+++ b/app/Template/user_list/dropdown.php
@@ -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'])) ?>
diff --git a/app/Template/user_list/user_icons.php b/app/Template/user_list/user_icons.php
index 532526bb..a110e557 100644
--- a/app/Template/user_list/user_icons.php
+++ b/app/Template/user_list/user_icons.php
@@ -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 ?>
diff --git a/app/Template/user_modification/show.php b/app/Template/user_modification/show.php
index d3f3e0cc..fd90d915 100644
--- a/app/Template/user_modification/show.php
+++ b/app/Template/user_modification/show.php
@@ -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>
diff --git a/app/Template/user_view/notifications.php b/app/Template/user_view/notifications.php
index 84ca1282..0f4e59d1 100644
--- a/app/Template/user_view/notifications.php
+++ b/app/Template/user_view/notifications.php
@@ -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>
diff --git a/app/Template/user_view/sessions.php b/app/Template/user_view/sessions.php
index 10497e4f..dec11752 100644
--- a/app/Template/user_view/sessions.php
+++ b/app/Template/user_view/sessions.php
@@ -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>
diff --git a/app/Template/user_view/share.php b/app/Template/user_view/share.php
index 318d98ea..784e0ebd 100644
--- a/app/Template/user_view/share.php
+++ b/app/Template/user_view/share.php
@@ -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 ?>
diff --git a/app/Template/user_view/sidebar.php b/app/Template/user_view/sidebar.php
index ef494e42..1542396a 100644
--- a/app/Template/user_view/sidebar.php
+++ b/app/Template/user_view/sidebar.php
@@ -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 ?>