Template helpers refactoring

This commit is contained in:
Frédéric Guillot
2014-12-28 11:28:50 -05:00
parent 88d84073ae
commit 34d7450d3c
155 changed files with 1605 additions and 1609 deletions

View File

@@ -42,6 +42,7 @@ class Acl extends Base
'category' => array('index', 'save', 'edit', 'update', 'confirm', 'remove'),
'action' => array('index', 'event', 'params', 'create', 'confirm', 'remove'),
'analytic' => array('tasks', 'users', 'cfd'),
'swimlane' => array('index', 'save', 'change', 'edit', 'update', 'confirm', 'remove', 'disable', 'enable', 'moveup', 'movedown'),
);
/**
@@ -96,7 +97,7 @@ class Acl extends Base
*/
public function isAdminUser()
{
return isset($_SESSION['user']['is_admin']) && $_SESSION['user']['is_admin'] === true;
return isset($this->session['user']['is_admin']) && $this->session['user']['is_admin'] === true;
}
/**
@@ -107,7 +108,7 @@ class Acl extends Base
*/
public function isRegularUser()
{
return isset($_SESSION['user']['is_admin']) && $_SESSION['user']['is_admin'] === false;
return isset($this->session['user']['is_admin']) && $this->session['user']['is_admin'] === false;
}
/**
@@ -118,7 +119,18 @@ class Acl extends Base
*/
public function getUserId()
{
return isset($_SESSION['user']['id']) ? (int) $_SESSION['user']['id'] : 0;
return isset($this->session['user']['id']) ? (int) $this->session['user']['id'] : 0;
}
/**
* Check if the given user_id is the connected user
*
* @param integer $user_id User id
* @return boolean
*/
public function isCurrentUser($user_id)
{
return $this->acl->getUserId() == $user_id;
}
/**
@@ -129,7 +141,7 @@ class Acl extends Base
*/
public function isLogged()
{
return ! empty($_SESSION['user']);
return ! empty($this->session['user']);
}
/**
@@ -142,10 +154,10 @@ class Acl extends Base
public function isRememberMe($value = null)
{
if ($value !== null) {
$_SESSION['is_remember_me'] = $value;
$this->session['is_remember_me'] = $value;
}
return empty($_SESSION['is_remember_me']) ? false : $_SESSION['is_remember_me'];
return empty($this->session['is_remember_me']) ? false : $this->session['is_remember_me'];
}
/**

View File

@@ -10,6 +10,8 @@ use Pimple\Container;
* @package model
* @author Frederic Guillot
*
* @property \Core\Session $session
* @property \Core\Template $template
* @property \Model\Acl $acl
* @property \Model\Action $action
* @property \Model\Authentication $authentication

View File

@@ -76,12 +76,13 @@ class Config extends Base
return $value ?: $default_value;
}
if (! isset($_SESSION['config'][$name])) {
$_SESSION['config'] = $this->getAll();
// Cache config in session
if (! isset($this->session['config'][$name])) {
$this->session['config'] = $this->getAll();
}
if (! empty($_SESSION['config'][$name])) {
return $_SESSION['config'][$name];
if (isset($this->session['config'][$name])) {
return $this->session['config'][$name];
}
return $default_value;
@@ -126,7 +127,7 @@ class Config extends Base
*/
public function reload()
{
$_SESSION['config'] = $this->getAll();
$this->session['config'] = $this->getAll();
$this->setupTranslations();
}

View File

@@ -3,7 +3,6 @@
namespace Model;
use Core\Session;
use Core\Template;
use Swift_Message;
use Swift_Mailer;
use Swift_TransportException;
@@ -184,8 +183,10 @@ class Notification extends Base
*/
public function getMailContent($template, array $data)
{
$tpl = new Template;
return $tpl->load('notification/'.$template, $data + array('application_url' => $this->config->get('application_url')));
return $this->template->render(
'notification/'.$template,
$data + array('application_url' => $this->config->get('application_url'))
);
}
/**

View File

@@ -2,8 +2,6 @@
namespace Model;
use Core\Template;
/**
* Project activity model
*
@@ -134,8 +132,10 @@ class ProjectActivity extends Base
*/
public function getContent(array $params)
{
$tpl = new Template;
return $tpl->load('event/'.str_replace('.', '_', $params['event_name']), $params);
return $this->template->render(
'event/'.str_replace('.', '_', $params['event_name']),
$params
);
}
/**

View File

@@ -264,6 +264,10 @@ class ProjectPermission extends Base
*/
public function adminAllowed($project_id, $user_id)
{
if ($this->user->isAdmin($user_id)) {
return true;
}
if ($this->isUserAllowed($project_id, $user_id) && $this->project->isPrivate($project_id)) {
return true;
}

View File

@@ -28,6 +28,17 @@ class User extends Base
*/
const EVERYBODY_ID = -1;
/**
* Return the full name
*
* @param array $user User properties
* @return string
*/
public function getFullname(array $user)
{
return $user['name'] ?: $user['username'];
}
/**
* Return true is the given user id is administrator
*
@@ -54,7 +65,7 @@ class User extends Base
*/
public function getFavoriteProjectId()
{
return isset($_SESSION['user']['default_project_id']) ? $_SESSION['user']['default_project_id'] : 0;
return isset($this->session['user']['default_project_id']) ? $this->session['user']['default_project_id'] : 0;
}
/**
@@ -65,7 +76,7 @@ class User extends Base
*/
public function getLastSeenProjectId()
{
return empty($_SESSION['user']['last_show_project_id']) ? 0 : $_SESSION['user']['last_show_project_id'];
return empty($this->session['last_show_project_id']) ? 0 : $this->session['last_show_project_id'];
}
/**
@@ -76,7 +87,7 @@ class User extends Base
*/
public function storeLastSeenProjectId($project_id)
{
$_SESSION['user']['last_show_project_id'] = (int) $project_id;
$this->session['last_show_project_id'] = (int) $project_id;
}
/**
@@ -276,7 +287,7 @@ class User extends Base
$result = $this->db->table(self::TABLE)->eq('id', $values['id'])->update($values);
// If the user is connected refresh his session
if (Session::isOpen() && $_SESSION['user']['id'] == $values['id']) {
if (Session::isOpen() && $this->acl->getUserId() == $values['id']) {
$this->updateSession();
}
@@ -326,7 +337,7 @@ class User extends Base
public function updateSession(array $user = array())
{
if (empty($user)) {
$user = $this->getById($_SESSION['user']['id']);
$user = $this->getById($this->acl->getUserId());
}
if (isset($user['password'])) {
@@ -338,7 +349,7 @@ class User extends Base
$user['is_admin'] = (bool) $user['is_admin'];
$user['is_ldap_user'] = (bool) $user['is_ldap_user'];
$_SESSION['user'] = $user;
$this->session['user'] = $user;
}
/**
@@ -457,7 +468,7 @@ class User extends Base
if ($v->execute()) {
// Check password
if ($this->authentication->authenticate($_SESSION['user']['username'], $values['current_password'])) {
if ($this->authentication->authenticate($this->session['user']['username'], $values['current_password'])) {
return array(true, array());
}
else {