From 47f4bceb1aea51bda9211a16d635b7a0f9664976 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 8 Jan 2017 21:08:33 -0500 Subject: Improve currencies pages navigation --- app/Controller/CurrencyController.php | 55 ++++++++++++++++++++++++++++------- app/Template/config/sidebar.php | 4 +-- app/Template/currency/change.php | 9 ++++++ app/Template/currency/create.php | 11 +++++++ app/Template/currency/index.php | 54 ---------------------------------- app/Template/currency/show.php | 34 ++++++++++++++++++++++ 6 files changed, 100 insertions(+), 67 deletions(-) create mode 100644 app/Template/currency/change.php create mode 100644 app/Template/currency/create.php delete mode 100644 app/Template/currency/index.php create mode 100644 app/Template/currency/show.php (limited to 'app') diff --git a/app/Controller/CurrencyController.php b/app/Controller/CurrencyController.php index ad590035..2b2275ac 100644 --- a/app/Controller/CurrencyController.php +++ b/app/Controller/CurrencyController.php @@ -11,21 +11,33 @@ namespace Kanboard\Controller; class CurrencyController extends BaseController { /** - * Display all currency rates and form + * Display all currency rates + * + * @access public + */ + public function show() + { + $this->response->html($this->helper->layout->config('currency/show', array( + 'application_currency' => $this->configModel->get('application_currency'), + 'rates' => $this->currencyModel->getAll(), + 'currencies' => $this->currencyModel->getCurrencies(), + 'title' => t('Settings').' > '.t('Currency rates'), + ))); + } + + /** + * Add or change currency rate * * @access public * @param array $values * @param array $errors */ - public function index(array $values = array(), array $errors = array()) + public function create(array $values = array(), array $errors = array()) { - $this->response->html($this->helper->layout->config('currency/index', array( - 'config_values' => array('application_currency' => $this->configModel->get('application_currency')), + $this->response->html($this->helper->layout->config('currency/create', array( 'values' => $values, 'errors' => $errors, - 'rates' => $this->currencyModel->getAll(), 'currencies' => $this->currencyModel->getCurrencies(), - 'title' => t('Settings').' > '.t('Currency rates'), ))); } @@ -34,7 +46,7 @@ class CurrencyController extends BaseController * * @access public */ - public function create() + public function save() { $values = $this->request->getValues(); list($valid, $errors) = $this->currencyValidator->validateCreation($values); @@ -42,13 +54,34 @@ class CurrencyController extends BaseController if ($valid) { if ($this->currencyModel->create($values['currency'], $values['rate'])) { $this->flash->success(t('The currency rate have been added successfully.')); - return $this->response->redirect($this->helper->url->to('CurrencyController', 'index')); + $this->response->redirect($this->helper->url->to('CurrencyController', 'show'), true); + return; } else { $this->flash->failure(t('Unable to add this currency rate.')); } } - return $this->index($values, $errors); + $this->create($values, $errors); + } + + /** + * Change reference currency + * + * @access public + * @param array $values + * @param array $errors + */ + public function change(array $values = array(), array $errors = array()) + { + if (empty($values)) { + $values['application_currency'] = $this->configModel->get('application_currency'); + } + + $this->response->html($this->helper->layout->config('currency/change', array( + 'values' => $values, + 'errors' => $errors, + 'currencies' => $this->currencyModel->getCurrencies(), + ))); } /** @@ -56,7 +89,7 @@ class CurrencyController extends BaseController * * @access public */ - public function reference() + public function update() { $values = $this->request->getValues(); @@ -66,6 +99,6 @@ class CurrencyController extends BaseController $this->flash->failure(t('Unable to save your settings.')); } - $this->response->redirect($this->helper->url->to('CurrencyController', 'index')); + $this->response->redirect($this->helper->url->to('CurrencyController', 'show'), true); } } diff --git a/app/Template/config/sidebar.php b/app/Template/config/sidebar.php index 239edc19..f35efde0 100644 --- a/app/Template/config/sidebar.php +++ b/app/Template/config/sidebar.php @@ -24,8 +24,8 @@
  • app->checkMenuSelection('LinkController') ?>> url->link(t('Link settings'), 'LinkController', 'index') ?>
  • -
  • app->checkMenuSelection('CurrencyController', 'index') ?>> - url->link(t('Currency rates'), 'CurrencyController', 'index') ?> +
  • app->checkMenuSelection('CurrencyController', 'show') ?>> + url->link(t('Currency rates'), 'CurrencyController', 'show') ?>
  • app->checkMenuSelection('ConfigController', 'integrations') ?>> url->link(t('Integrations'), 'ConfigController', 'integrations') ?> diff --git a/app/Template/currency/change.php b/app/Template/currency/change.php new file mode 100644 index 00000000..59a7ce37 --- /dev/null +++ b/app/Template/currency/change.php @@ -0,0 +1,9 @@ + +
    + form->csrf() ?> + form->label(t('Reference currency'), 'application_currency') ?> + form->select('application_currency', $currencies, $values, $errors) ?> + modal->submitButtons() ?> +
    diff --git a/app/Template/currency/create.php b/app/Template/currency/create.php new file mode 100644 index 00000000..578ece81 --- /dev/null +++ b/app/Template/currency/create.php @@ -0,0 +1,11 @@ + +
    + form->csrf() ?> + form->label(t('Currency'), 'currency') ?> + form->select('currency', $currencies, $values, $errors) ?> + form->label(t('Rate'), 'rate') ?> + form->text('rate', $values, $errors, array('autofocus'), 'form-numeric') ?> + modal->submitButtons() ?> +
    diff --git a/app/Template/currency/index.php b/app/Template/currency/index.php deleted file mode 100644 index db9b21af..00000000 --- a/app/Template/currency/index.php +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - -
    - text->e($rate['currency']) ?> - - -
    - -
    -

    - -
    - - form->csrf() ?> - - form->label(t('Reference currency'), 'application_currency') ?> - form->select('application_currency', $currencies, $config_values, $errors) ?> - -
    - -
    -
    - -
    -

    -
    - - form->csrf() ?> - - form->label(t('Currency'), 'currency') ?> - form->select('currency', $currencies, $values, $errors) ?> - - form->label(t('Rate'), 'rate') ?> - form->text('rate', $values, $errors, array(), 'form-numeric') ?> - -
    - -
    -
    diff --git a/app/Template/currency/show.php b/app/Template/currency/show.php new file mode 100644 index 00000000..4b7f34bc --- /dev/null +++ b/app/Template/currency/show.php @@ -0,0 +1,34 @@ + + +
    + +
    + + + + + + + + + + + + + +
    + text->e($rate['currency']) ?> + + +
    + -- cgit v1.2.3