diff --git a/ChangeLog b/ChangeLog index 88623a95d..5eb184475 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ Improvements: * Rewrite dialog and confirmation boxes (inline popup) * Remove TaskGanttCreationController * Add helpers to open modal boxes +* Make icons clickable in menus Version 1.0.36 (Dec 30, 2016) ----------------------------- diff --git a/app/Helper/ModalHelper.php b/app/Helper/ModalHelper.php index e6037a8cc..b3241b9df 100644 --- a/app/Helper/ModalHelper.php +++ b/app/Helper/ModalHelper.php @@ -43,31 +43,36 @@ class ModalHelper extends Base public function large($icon, $label, $controller, $action, array $params = array()) { - $html = ' '.$label; + $html = ''.$label; return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-large'); } public function medium($icon, $label, $controller, $action, array $params = array()) { - $html = ' '.$label; + $html = ''.$label; return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-medium'); } public function small($icon, $label, $controller, $action, array $params = array()) { - $html = ' '.$label; + $html = ''.$label; return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-small'); } public function mediumButton($icon, $label, $controller, $action, array $params = array()) { - $html = ' '.$label; + $html = ''.$label; return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-medium btn'); } public function confirm($icon, $label, $controller, $action, array $params = array()) { - $html = ' '.$label; + $html = ''.$label; return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-confirm'); } + + public function confirmLink($label, $controller, $action, array $params = array()) + { + return $this->helper->url->link($label, $controller, $action, $params, false, 'js-modal-confirm'); + } } diff --git a/app/Helper/UrlHelper.php b/app/Helper/UrlHelper.php index bfcf07e67..94412cf5f 100644 --- a/app/Helper/UrlHelper.php +++ b/app/Helper/UrlHelper.php @@ -47,6 +47,29 @@ class UrlHelper extends Base return $this->link($html, $controller, $action, $params, false, $class); } + /** + * Link element with icon + * + * @access public + * @param string $icon Icon name + * @param string $label Link label + * @param string $controller Controller name + * @param string $action Action name + * @param array $params Url parameters + * @param boolean $csrf Add a CSRF token + * @param string $class CSS class attribute + * @param string $title Link title + * @param boolean $newTab Open the link in a new tab + * @param string $anchor Link Anchor + * @param bool $absolute + * @return string + */ + public function icon($icon, $label, $controller, $action, array $params = array(), $csrf = false, $class = '', $title = '', $newTab = false, $anchor = '', $absolute = false) + { + $html = ''.$label; + return $this->helper->url->link($html, $controller, $action, $params, $csrf, $class, $title, $newTab, $anchor, $absolute); + } + /** * Link element * @@ -58,14 +81,14 @@ class UrlHelper extends Base * @param boolean $csrf Add a CSRF token * @param string $class CSS class attribute * @param string $title Link title - * @param boolean $new_tab Open the link in a new tab + * @param boolean $newTab Open the link in a new tab * @param string $anchor Link Anchor * @param bool $absolute * @return string */ - public function link($label, $controller, $action, array $params = array(), $csrf = false, $class = '', $title = '', $new_tab = false, $anchor = '', $absolute = false) + public function link($label, $controller, $action, array $params = array(), $csrf = false, $class = '', $title = '', $newTab = false, $anchor = '', $absolute = false) { - return ''.$label.''; + return ''.$label.''; } /** diff --git a/app/Template/activity/project.php b/app/Template/activity/project.php index e8e62777d..6d1e4a2e8 100644 --- a/app/Template/activity/project.php +++ b/app/Template/activity/project.php @@ -2,10 +2,10 @@ projectHeader->render($project, 'ActivityController', $this->app->getRouterAction()) ?> - diff --git a/app/Template/dashboard/notifications.php b/app/Template/dashboard/notifications.php index 4fb59e243..81adb348c 100644 --- a/app/Template/dashboard/notifications.php +++ b/app/Template/dashboard/notifications.php @@ -7,8 +7,7 @@ @@ -60,8 +59,7 @@ dt->datetime($notification['date_creation']) ?> - - url->link(t('Mark as read'), 'WebNotificationController', 'remove', array('user_id' => $user['id'], 'notification_id' => $notification['id'])) ?> + url->icon('check', t('Mark as read'), 'WebNotificationController', 'remove', array('user_id' => $user['id'], 'notification_id' => $notification['id'])) ?> diff --git a/app/Template/doc/show.php b/app/Template/doc/show.php index a8dbd762d..879e45b63 100644 --- a/app/Template/doc/show.php +++ b/app/Template/doc/show.php @@ -2,8 +2,7 @@ diff --git a/app/Template/group/index.php b/app/Template/group/index.php index 8001393b9..fe3f398ea 100644 --- a/app/Template/group/index.php +++ b/app/Template/group/index.php @@ -1,14 +1,14 @@
isEmpty()): ?>

- +
@@ -31,7 +31,7 @@ diff --git a/app/Template/group/users.php b/app/Template/group/users.php index e9f2b3611..ef1796743 100644 --- a/app/Template/group/users.php +++ b/app/Template/group/users.php @@ -1,7 +1,7 @@
diff --git a/app/Template/header/user_dropdown.php b/app/Template/header/user_dropdown.php index 49d082136..a74bdd521 100644 --- a/app/Template/header/user_dropdown.php +++ b/app/Template/header/user_dropdown.php @@ -3,46 +3,37 @@ diff --git a/app/Template/link/edit.php b/app/Template/link/edit.php index cb4f29e2c..4be56573d 100644 --- a/app/Template/link/edit.php +++ b/app/Template/link/edit.php @@ -13,9 +13,5 @@ form->label(t('Opposite label'), 'opposite_id') ?> form->select('opposite_id', $labels, $values, $errors) ?> -
- - - url->link(t('cancel'), 'LinkController', 'index') ?> -
+ modal->submitButtons() ?> diff --git a/app/Template/link/index.php b/app/Template/link/index.php index 70ead4a60..b0dcad1e4 100644 --- a/app/Template/link/index.php +++ b/app/Template/link/index.php @@ -18,9 +18,9 @@
diff --git a/app/Template/plugin/directory.php b/app/Template/plugin/directory.php index b6c6734cc..b2fffcb94 100644 --- a/app/Template/plugin/directory.php +++ b/app/Template/plugin/directory.php @@ -28,11 +28,9 @@ diff --git a/app/Template/project_permission/users.php b/app/Template/project_permission/users.php index 71cf1c4a9..79d085529 100644 --- a/app/Template/project_permission/users.php +++ b/app/Template/project_permission/users.php @@ -21,8 +21,7 @@ )) ?> diff --git a/app/Template/project_user_overview/layout.php b/app/Template/project_user_overview/layout.php index 19b83436a..5c7392971 100644 --- a/app/Template/project_user_overview/layout.php +++ b/app/Template/project_user_overview/layout.php @@ -2,19 +2,16 @@
order(t('Id'), 'id') ?> order(t('External Id'), 'external_id') ?>
    - url->link(t('Edit'), 'LinkController', 'edit', array('link_id' => $link['id'])) ?> + modal->medium('edit', t('Edit'), 'LinkController', 'edit', array('link_id' => $link['id'])) ?> - url->link(t('Remove'), 'LinkController', 'confirm', array('link_id' => $link['id'])) ?> + modal->confirm('trash-o', t('Remove'), 'LinkController', 'confirm', array('link_id' => $link['id'])) ?>
- - url->link(t('Install'), 'PluginController', 'install', array('archive_url' => urlencode($plugin['download'])), true) ?> + url->icon('cloud-download', t('Install'), 'PluginController', 'install', array('archive_url' => urlencode($plugin['download'])), true) ?> - - url->link(t('Update'), 'PluginController', 'update', array('archive_url' => urlencode($plugin['download'])), true) ?> + url->icon('refresh', t('Update'), 'PluginController', 'update', array('archive_url' => urlencode($plugin['download'])), true) ?> diff --git a/app/Template/project/dropdown.php b/app/Template/project/dropdown.php index 5fbffde41..eaaa35462 100644 --- a/app/Template/project/dropdown.php +++ b/app/Template/project/dropdown.php @@ -2,33 +2,27 @@ #
  • - - url->link(t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'])) ?> + url->icon('th', t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'])) ?>
  • - - url->link(t('Calendar'), 'CalendarController', 'show', array('project_id' => $project['id'])) ?> + url->icon('calendar', t('Calendar'), 'CalendarController', 'show', array('project_id' => $project['id'])) ?>
  • - - url->link(t('Listing'), 'TaskListController', 'show', array('project_id' => $project['id'])) ?> + url->icon('list', t('Listing'), 'TaskListController', 'show', array('project_id' => $project['id'])) ?>
  • user->hasProjectAccess('TaskGanttController', 'show', $project['id'])): ?>
  • - - url->link(t('Gantt'), 'TaskGanttController', 'show', array('project_id' => $project['id'])) ?> + url->icon('sliders', t('Gantt'), 'TaskGanttController', 'show', array('project_id' => $project['id'])) ?>
  • -   - url->link(t('Activity'), 'ActivityController', 'project', array('project_id' => $project['id'])) ?> + url->icon('dashboard', t('Activity'), 'ActivityController', 'project', array('project_id' => $project['id'])) ?>
  • user->hasProjectAccess('AnalyticController', 'taskDistribution', $project['id'])): ?>
  • -   - url->link(t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?> + url->icon('line-chart', t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?>
  • @@ -36,8 +30,7 @@ user->hasProjectAccess('ProjectEditController', 'show', $project['id'])): ?>
  • - - url->link(t('Settings'), 'ProjectViewController', 'show', array('project_id' => $project['id'])) ?> + url->icon('cog', t('Settings'), 'ProjectViewController', 'show', array('project_id' => $project['id'])) ?>
diff --git a/app/Template/project/sidebar.php b/app/Template/project/sidebar.php index 507cde3ed..812eb3516 100644 --- a/app/Template/project/sidebar.php +++ b/app/Template/project/sidebar.php @@ -50,15 +50,15 @@
  • - modal->confirm('close', t('Disable'), 'ProjectStatusController', 'confirmDisable', array('project_id' => $project['id'])) ?> + modal->confirmLink(t('Disable'), 'ProjectStatusController', 'confirmDisable', array('project_id' => $project['id'])) ?>
  • - modal->confirm('check-square-o', t('Enable'), 'ProjectStatusController', 'confirmEnable', array('project_id' => $project['id'])) ?> + modal->confirmLink(t('Enable'), 'ProjectStatusController', 'confirmEnable', array('project_id' => $project['id'])) ?>
  • user->hasProjectAccess('ProjectStatusController', 'remove', $project['id'])): ?>
  • - modal->confirm('trash-o', t('Remove'), 'ProjectStatusController', 'confirmRemove', array('project_id' => $project['id'])) ?> + modal->confirmLink(t('Remove'), 'ProjectStatusController', 'confirmRemove', array('project_id' => $project['id'])) ?>
  • diff --git a/app/Template/project_gantt/show.php b/app/Template/project_gantt/show.php index af22a6ed5..74248d5dd 100644 --- a/app/Template/project_gantt/show.php +++ b/app/Template/project_gantt/show.php @@ -2,10 +2,12 @@ diff --git a/app/Template/project_header/dropdown.php b/app/Template/project_header/dropdown.php index 27d3fd3f1..eac4fc577 100644 --- a/app/Template/project_header/dropdown.php +++ b/app/Template/project_header/dropdown.php @@ -4,12 +4,10 @@
  • board->isCollapsed($project['id']) ? '' : 'style="display: none;"' ?>> - - url->link(t('Expand tasks'), 'BoardAjaxController', 'expand', array('project_id' => $project['id']), false, 'board-display-mode', t('Keyboard shortcut: "%s"', 's')) ?> + url->icon('expand', t('Expand tasks'), 'BoardAjaxController', 'expand', array('project_id' => $project['id']), false, 'board-display-mode', t('Keyboard shortcut: "%s"', 's')) ?> board->isCollapsed($project['id']) ? 'style="display: none;"' : '' ?>> - - url->link(t('Collapse tasks'), 'BoardAjaxController', 'collapse', array('project_id' => $project['id']), false, 'board-display-mode', t('Keyboard shortcut: "%s"', 's')) ?> + url->icon('compress', t('Collapse tasks'), 'BoardAjaxController', 'collapse', array('project_id' => $project['id']), false, 'board-display-mode', t('Keyboard shortcut: "%s"', 's')) ?>
  • @@ -29,21 +27,18 @@
  • - - url->link(t('Activity'), 'ActivityController', 'project', array('project_id' => $project['id'])) ?> + url->icon('dashboard', t('Activity'), 'ActivityController', 'project', array('project_id' => $project['id'])) ?>
  • user->hasProjectAccess('CustomFilterController', 'index', $project['id'])): ?>
  • - - url->link(t('Custom filters'), 'CustomFilterController', 'index', array('project_id' => $project['id'])) ?> + url->icon('filter', t('Custom filters'), 'CustomFilterController', 'index', array('project_id' => $project['id'])) ?>
  • - - url->link(t('Public link'), 'BoardViewController', 'readonly', array('token' => $project['token']), false, '', '', true) ?> + url->icon('share-alt', t('Public link'), 'BoardViewController', 'readonly', array('token' => $project['token']), false, '', '', true) ?>
  • @@ -51,35 +46,30 @@ user->hasProjectAccess('AnalyticController', 'taskDistribution', $project['id'])): ?>
  • - - url->link(t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?> + url->icon('line-chart', t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?>
  • user->hasProjectAccess('ExportController', 'tasks', $project['id'])): ?>
  • - - url->link(t('Exports'), 'ExportController', 'tasks', array('project_id' => $project['id'])) ?> + url->icon('upload', t('Exports'), 'ExportController', 'tasks', array('project_id' => $project['id'])) ?>
  • user->hasProjectAccess('TaskImportController', 'tasks', $project['id'])): ?>
  • - - url->link(t('Imports'), 'TaskImportController', 'show', array('project_id' => $project['id'])) ?> + url->icon('download', t('Imports'), 'TaskImportController', 'show', array('project_id' => $project['id'])) ?>
  • user->hasProjectAccess('ProjectEditController', 'show', $project['id'])): ?>
  • - - url->link(t('Settings'), 'ProjectViewController', 'show', array('project_id' => $project['id'])) ?> + url->icon('cog', t('Settings'), 'ProjectViewController', 'show', array('project_id' => $project['id'])) ?>
  • - - url->link(t('Manage projects'), 'ProjectListController', 'show') ?> + url->icon('folder', t('Manage projects'), 'ProjectListController', 'show') ?>
  • diff --git a/app/Template/project_header/views.php b/app/Template/project_header/views.php index f8a5b39bc..0328a0517 100644 --- a/app/Template/project_header/views.php +++ b/app/Template/project_header/views.php @@ -1,24 +1,19 @@
    • app->checkMenuSelection('ProjectOverviewController') ?>> - - url->link(t('Overview'), 'ProjectOverviewController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-overview', t('Keyboard shortcut: "%s"', 'v o')) ?> + url->icon('eye', t('Overview'), 'ProjectOverviewController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-overview', t('Keyboard shortcut: "%s"', 'v o')) ?>
    • app->checkMenuSelection('BoardViewController') ?>> - - url->link(t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-board', t('Keyboard shortcut: "%s"', 'v b')) ?> + url->icon('th', t('Board'), 'BoardViewController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-board', t('Keyboard shortcut: "%s"', 'v b')) ?>
    • app->checkMenuSelection('CalendarController') ?>> - - url->link(t('Calendar'), 'CalendarController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-calendar', t('Keyboard shortcut: "%s"', 'v c')) ?> + url->icon('calendar', t('Calendar'), 'CalendarController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-calendar', t('Keyboard shortcut: "%s"', 'v c')) ?>
    • app->checkMenuSelection('TaskListController') ?>> - - url->link(t('List'), 'TaskListController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-listing', t('Keyboard shortcut: "%s"', 'v l')) ?> + url->icon('list', t('List'), 'TaskListController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-listing', t('Keyboard shortcut: "%s"', 'v l')) ?>
    • user->hasProjectAccess('TaskGanttController', 'show', $project['id'])): ?>
    • app->checkMenuSelection('TaskGanttController') ?>> - - url->link(t('Gantt'), 'TaskGanttController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-gantt', t('Keyboard shortcut: "%s"', 'v g')) ?> + url->icon('sliders', t('Gantt'), 'TaskGanttController', 'show', array('project_id' => $project['id'], 'search' => $filters['search']), false, 'view-gantt', t('Keyboard shortcut: "%s"', 'v g')) ?>
    diff --git a/app/Template/project_list/show.php b/app/Template/project_list/show.php index f8f5862cb..921014297 100644 --- a/app/Template/project_list/show.php +++ b/app/Template/project_list/show.php @@ -3,10 +3,10 @@
      hook->render('template:project-list:menu:before') ?> user->hasAccess('ProjectUserOverviewController', 'managers')): ?> -
    • url->link(t('Users overview'), 'ProjectUserOverviewController', 'managers') ?>
    • +
    • url->icon('user', t('Users overview'), 'ProjectUserOverviewController', 'managers') ?>
    • user->hasAccess('ProjectGanttController', 'show')): ?> -
    • url->link(t('Projects Gantt chart'), 'ProjectGanttController', 'show') ?>
    • +
    • url->icon('sliders', t('Projects Gantt chart'), 'ProjectGanttController', 'show') ?>
    • hook->render('template:project-list:menu:after') ?>
    diff --git a/app/Template/project_overview/files.php b/app/Template/project_overview/files.php index 6518fafb4..85de52f7b 100644 --- a/app/Template/project_overview/files.php +++ b/app/Template/project_overview/files.php @@ -19,13 +19,11 @@ file->getBrowserViewType($file['name']) !== null): ?>
  • - - url->link(t('View file'), 'FileViewerController', 'browser', array('project_id' => $project['id'], 'file_id' => $file['id']), false, '', '', true) ?> + url->icon('eye', t('View file'), 'FileViewerController', 'browser', array('project_id' => $project['id'], 'file_id' => $file['id']), false, '', '', true) ?>
  • - - url->link(t('Download'), 'FileViewerController', 'download', array('project_id' => $project['id'], 'file_id' => $file['id'])) ?> + url->icon('download', t('Download'), 'FileViewerController', 'download', array('project_id' => $project['id'], 'file_id' => $file['id'])) ?>
  • user->hasProjectAccess('ProjectFileController', 'remove', $project['id'])): ?>
  • diff --git a/app/Template/project_overview/images.php b/app/Template/project_overview/images.php index cabfd0f68..7e7962e81 100644 --- a/app/Template/project_overview/images.php +++ b/app/Template/project_overview/images.php @@ -19,8 +19,7 @@ text->e($file['name']) ?>
    • - - url->link(t('Download'), 'FileViewerController', 'download', array('project_id' => $project['id'], 'file_id' => $file['id'])) ?> + url->icon('download', t('Download'), 'FileViewerController', 'download', array('project_id' => $project['id'], 'file_id' => $file['id'])) ?>
    • user->hasProjectAccess('ProjectFileController', 'remove', $project['id'])): ?>
    • diff --git a/app/Template/project_overview/information.php b/app/Template/project_overview/information.php index fdf0f753c..eb94551e5 100644 --- a/app/Template/project_overview/information.php +++ b/app/Template/project_overview/information.php @@ -29,9 +29,9 @@ -
    • url->link(t('Public link'), 'BoardViewController', 'readonly', array('token' => $project['token']), false, '', '', true) ?>
    • -
    • url->link(t('RSS feed'), 'FeedController', 'project', array('token' => $project['token']), false, '', '', true) ?>
    • -
    • url->link(t('iCal feed'), 'ICalendarController', 'project', array('token' => $project['token'])) ?>
    • +
    • url->icon('share-alt', t('Public link'), 'BoardViewController', 'readonly', array('token' => $project['token']), false, '', '', true) ?>
    • +
    • url->icon('rss-square', t('RSS feed'), 'FeedController', 'project', array('token' => $project['token']), false, '', '', true) ?>
    • +
    • url->icon('calendar', t('iCal feed'), 'ICalendarController', 'project', array('token' => $project['token'])) ?>
    diff --git a/app/Template/project_permission/groups.php b/app/Template/project_permission/groups.php index 582643a27..d3b52be06 100644 --- a/app/Template/project_permission/groups.php +++ b/app/Template/project_permission/groups.php @@ -25,8 +25,7 @@ )) ?>
  • - - url->link(t('Remove'), 'ProjectPermissionController', 'removeGroup', array('project_id' => $project['id'], 'group_id' => $group['id']), true) ?> + url->icon('trash-o', t('Remove'), 'ProjectPermissionController', 'removeGroup', array('project_id' => $project['id'], 'group_id' => $group['id']), true) ?>
    - - url->link(t('Remove'), 'ProjectPermissionController', 'removeUser', array('project_id' => $project['id'], 'user_id' => $user['id']), true) ?> + url->icon('trash-o', t('Remove'), 'ProjectPermissionController', 'removeUser', array('project_id' => $project['id'], 'user_id' => $user['id']), true) ?>