From b3a450bace8461fb7989d5406b9d9ec644d7df4a Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 8 Jan 2017 14:00:51 -0500 Subject: Display project analytics in modal box --- app/Controller/ActivityController.php | 3 ++- app/Core/Paginator.php | 12 +++++++++--- app/Helper/LayoutHelper.php | 14 ++++++++++---- app/Helper/ModalHelper.php | 5 +++++ app/Template/analytic/avg_time_columns.php | 28 +++++++++++++++------------- app/Template/analytic/burndown.php | 24 ++++++++---------------- app/Template/analytic/cfd.php | 24 ++++++++---------------- app/Template/analytic/layout.php | 18 +++++++++++------- app/Template/analytic/lead_cycle_time.php | 24 ++++++++---------------- app/Template/analytic/sidebar.php | 15 +++++++-------- app/Template/analytic/task_distribution.php | 8 +++++--- app/Template/analytic/time_comparison.php | 14 ++++++++------ app/Template/analytic/user_distribution.php | 8 +++++--- app/Template/project/dropdown.php | 2 +- app/Template/project_header/dropdown.php | 2 +- 15 files changed, 103 insertions(+), 98 deletions(-) (limited to 'app') diff --git a/app/Controller/ActivityController.php b/app/Controller/ActivityController.php index edf0fbb4..476e4aac 100644 --- a/app/Controller/ActivityController.php +++ b/app/Controller/ActivityController.php @@ -19,9 +19,10 @@ class ActivityController extends BaseController { $project = $this->getProject(); - $this->response->html($this->template->render('activity/project', array( + $this->response->html($this->helper->layout->app('activity/project', array( 'events' => $this->helper->projectActivity->getProjectEvents($project['id']), 'project' => $project, + 'title' => t('%s\'s activity', $project['name']) ))); } diff --git a/app/Core/Paginator.php b/app/Core/Paginator.php index 046c539c..9075a713 100644 --- a/app/Core/Paginator.php +++ b/app/Core/Paginator.php @@ -374,7 +374,9 @@ class Paginator '← '.t('Previous'), $this->controller, $this->action, - $this->getUrlParams($this->page - 1, $this->order, $this->direction) + $this->getUrlParams($this->page - 1, $this->order, $this->direction), + false, + 'js-modal-replace' ); } else { $html .= '← '.t('Previous'); @@ -400,7 +402,9 @@ class Paginator t('Next').' →', $this->controller, $this->action, - $this->getUrlParams($this->page + 1, $this->order, $this->direction) + $this->getUrlParams($this->page + 1, $this->order, $this->direction), + false, + 'js-modal-replace' ); } else { $html .= t('Next').' →'; @@ -486,7 +490,9 @@ class Paginator $label, $this->controller, $this->action, - $this->getUrlParams($this->page, $column, $direction) + $this->getUrlParams($this->page, $column, $direction), + false, + 'js-modal-replace' ); } } diff --git a/app/Helper/LayoutHelper.php b/app/Helper/LayoutHelper.php index 8d2e7e00..8be71757 100644 --- a/app/Helper/LayoutHelper.php +++ b/app/Helper/LayoutHelper.php @@ -22,7 +22,10 @@ class LayoutHelper extends Base */ public function app($template, array $params = array()) { - if ($this->request->isAjax()) { + $isAjax = $this->request->isAjax(); + $params['is_ajax'] = $isAjax; + + if ($isAjax) { return $this->template->render($template, $params); } @@ -160,7 +163,7 @@ class LayoutHelper extends Base $params['title'] = $params['project']['name'].' > '.$params['title']; } - return $this->subLayout('analytic/layout', 'analytic/sidebar', $template, $params); + return $this->subLayout('analytic/layout', 'analytic/sidebar', $template, $params, true); } /** @@ -188,13 +191,16 @@ class LayoutHelper extends Base * @param string $sidebar * @param string $template * @param array $params + * @param bool $ignoreAjax * @return string */ - public function subLayout($sublayout, $sidebar, $template, array $params = array()) + public function subLayout($sublayout, $sidebar, $template, array $params = array(), $ignoreAjax = false) { + $isAjax = $this->request->isAjax(); + $params['is_ajax'] = $isAjax; $content = $this->template->render($template, $params); - if ($this->request->isAjax()) { + if (!$ignoreAjax && $isAjax) { return $content; } diff --git a/app/Helper/ModalHelper.php b/app/Helper/ModalHelper.php index b3241b9d..efbe2c4d 100644 --- a/app/Helper/ModalHelper.php +++ b/app/Helper/ModalHelper.php @@ -75,4 +75,9 @@ class ModalHelper extends Base { return $this->helper->url->link($label, $controller, $action, $params, false, 'js-modal-confirm'); } + + public function replaceLink($label, $controller, $action, array $params = array()) + { + return $this->helper->url->link($label, $controller, $action, $params, false, 'js-modal-replace'); + } } diff --git a/app/Template/analytic/avg_time_columns.php b/app/Template/analytic/avg_time_columns.php index 929331a9..1af69c8b 100644 --- a/app/Template/analytic/avg_time_columns.php +++ b/app/Template/analytic/avg_time_columns.php @@ -1,6 +1,8 @@ - + + +

@@ -11,16 +13,16 @@ )) ?> - - - - - - - - - - + + + + + + + + + +
text->e($column['title']) ?>dt->duration($column['average']) ?>
text->e($column['title']) ?>dt->duration($column['average']) ?>

diff --git a/app/Template/analytic/burndown.php b/app/Template/analytic/burndown.php index 674c76dd..d62c9ba0 100644 --- a/app/Template/analytic/burndown.php +++ b/app/Template/analytic/burndown.php @@ -1,6 +1,8 @@ -

+ + +

@@ -15,20 +17,10 @@
- form->csrf() ?> - -
- form->date(t('Start date'), 'from', $values) ?> -
- -
- form->date(t('End date'), 'to', $values) ?> -
- -
- -
+ form->date(t('Start date'), 'from', $values) ?> + form->date(t('End date'), 'to', $values) ?> + modal->submitButtons(array('submitLabel' => t('Execute'))) ?>

diff --git a/app/Template/analytic/cfd.php b/app/Template/analytic/cfd.php index 5eb42e82..dcd7b58f 100644 --- a/app/Template/analytic/cfd.php +++ b/app/Template/analytic/cfd.php @@ -1,6 +1,8 @@ - + + +

@@ -14,18 +16,8 @@
- form->csrf() ?> - -
- form->date(t('Start date'), 'from', $values) ?> -
- -
- form->date(t('End date'), 'to', $values) ?> -
- -
- -
+ form->date(t('Start date'), 'from', $values) ?> + form->date(t('End date'), 'to', $values) ?> + modal->submitButtons(array('submitLabel' => t('Execute'))) ?>
diff --git a/app/Template/analytic/layout.php b/app/Template/analytic/layout.php index e3c6099f..7159094c 100644 --- a/app/Template/analytic/layout.php +++ b/app/Template/analytic/layout.php @@ -1,10 +1,14 @@ -
+ + + projectHeader->render($project, 'TaskListController', 'show') ?> - diff --git a/app/Template/analytic/lead_cycle_time.php b/app/Template/analytic/lead_cycle_time.php index 8884a441..780b47b6 100644 --- a/app/Template/analytic/lead_cycle_time.php +++ b/app/Template/analytic/lead_cycle_time.php @@ -1,6 +1,8 @@ - + + +
    @@ -19,20 +21,10 @@ )) ?>
    - form->csrf() ?> - -
    - form->date(t('Start date'), 'from', $values) ?> -
    - -
    - form->date(t('End date'), 'to', $values) ?> -
    - -
    - -
    + form->date(t('Start date'), 'from', $values) ?> + form->date(t('End date'), 'to', $values) ?> + modal->submitButtons(array('submitLabel' => t('Execute'))) ?>

    diff --git a/app/Template/analytic/sidebar.php b/app/Template/analytic/sidebar.php index f768a11d..d5ce88cb 100644 --- a/app/Template/analytic/sidebar.php +++ b/app/Template/analytic/sidebar.php @@ -1,28 +1,27 @@

    diff --git a/app/Template/analytic/task_distribution.php b/app/Template/analytic/task_distribution.php index 1231856e..671d462f 100644 --- a/app/Template/analytic/task_distribution.php +++ b/app/Template/analytic/task_distribution.php @@ -1,6 +1,8 @@ - + + +

    diff --git a/app/Template/analytic/time_comparison.php b/app/Template/analytic/time_comparison.php index c949f2c8..754c68f2 100644 --- a/app/Template/analytic/time_comparison.php +++ b/app/Template/analytic/time_comparison.php @@ -1,6 +1,8 @@ - + + +
      @@ -27,9 +29,9 @@ order(t('Id'), 'tasks.id') ?> order(t('Title'), 'tasks.title') ?> - order(t('Status'), 'tasks.is_active') ?> - order(t('Estimated Time'), 'tasks.time_estimated') ?> - order(t('Actual Time'), 'tasks.time_spent') ?> + order(t('Status'), 'tasks.is_active') ?> + order(t('Estimated Time'), 'tasks.time_estimated') ?> + order(t('Actual Time'), 'tasks.time_spent') ?> getCollection() as $task): ?> diff --git a/app/Template/analytic/user_distribution.php b/app/Template/analytic/user_distribution.php index 76ac945c..cae6fa57 100644 --- a/app/Template/analytic/user_distribution.php +++ b/app/Template/analytic/user_distribution.php @@ -1,6 +1,8 @@ - + + +

      diff --git a/app/Template/project/dropdown.php b/app/Template/project/dropdown.php index 4ae9318c..447cd0b4 100644 --- a/app/Template/project/dropdown.php +++ b/app/Template/project/dropdown.php @@ -22,7 +22,7 @@ user->hasProjectAccess('AnalyticController', 'taskDistribution', $project['id'])): ?>
    • - url->icon('line-chart', t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?> + modal->large('line-chart', t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?>
    • diff --git a/app/Template/project_header/dropdown.php b/app/Template/project_header/dropdown.php index 27a13ac9..96b26890 100644 --- a/app/Template/project_header/dropdown.php +++ b/app/Template/project_header/dropdown.php @@ -46,7 +46,7 @@ user->hasProjectAccess('AnalyticController', 'taskDistribution', $project['id'])): ?>
    • - url->icon('line-chart', t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?> + modal->large('line-chart', t('Analytics'), 'AnalyticController', 'taskDistribution', array('project_id' => $project['id'])) ?>
    • -- cgit v1.2.3