As adding a CSS file and a template requires code modification, it's better to
compute the custom_css field in the code. Newsletter::hasCustomCss() does this.
Signed-off-by: Nicolas Iooss <nicolas.iooss_git@polytechnique.org>
public $cats; // List of all categories for this NL
public $criteria; // PlFlagSet of allowed filters for recipient selection
public $cats; // List of all categories for this NL
public $criteria; // PlFlagSet of allowed filters for recipient selection
- protected $custom_css = false;
-
// Base name to use instead of the group short name for NLs without a custom CSS
const FORMAT_DEFAULT_GROUP = 'default';
// Base name to use instead of the group short name for NLs without a custom CSS
const FORMAT_DEFAULT_GROUP = 'default';
{
// Load NL data
$res = XDB::query('SELECT nls.group_id, g.diminutif AS group_name,
{
// Load NL data
$res = XDB::query('SELECT nls.group_id, g.diminutif AS group_name,
- nls.name AS nl_name, nls.custom_css, nls.criteria
+ nls.name AS nl_name, nls.criteria
FROM newsletters AS nls
LEFT JOIN groups AS g ON (nls.group_id = g.id)
WHERE nls.id = {?}',
FROM newsletters AS nls
LEFT JOIN groups AS g ON (nls.group_id = g.id)
WHERE nls.id = {?}',
$this->group_id = $data['group_id'];
$this->group = $data['group_name'];
$this->name = $data['nl_name'];
$this->group_id = $data['group_id'];
$this->group = $data['group_name'];
$this->name = $data['nl_name'];
- $this->custom_css = $data['custom_css'];
$this->criteria = new PlFlagSet($data['criteria']);
// Load the categories
$this->criteria = new PlFlagSet($data['criteria']);
// Load the categories
*/
public static function getAll($sort = 'id', $order = 'ASC')
{
*/
public static function getAll($sort = 'id', $order = 'ASC')
{
- $res = XDB::fetchAllAssoc('SELECT n.id, g.nom AS group_name, n.name, n.custom_css, n.criteria, g.diminutif AS group_link
+ $res = XDB::fetchAllAssoc('SELECT n.id, g.nom AS group_name, n.name, n.criteria, g.diminutif AS group_link
FROM newsletters AS n
INNER JOIN groups AS g ON (n.group_id = g.id)
ORDER BY ' . $sort . ' ' . $order);
FROM newsletters AS n
INNER JOIN groups AS g ON (n.group_id = g.id)
ORDER BY ' . $sort . ' ' . $order);
*/
public function cssFile()
{
*/
public function cssFile()
{
- if ($this->custom_css) {
+ if ($this->hasCustomCss()) {
$base = $this->group;
} else {
$base = self::FORMAT_DEFAULT_GROUP;
$base = $this->group;
} else {
$base = self::FORMAT_DEFAULT_GROUP;
*/
public function tplFile()
{
*/
public function tplFile()
{
- if ($this->custom_css) {
+ if ($this->hasCustomCss()) {
$base = $this->group;
} else {
$base = self::FORMAT_DEFAULT_GROUP;
$base = $this->group;
} else {
$base = self::FORMAT_DEFAULT_GROUP;
public function hasCustomCss()
{
public function hasCustomCss()
{
- return $this->custom_css;
+ switch ($this->group) {
+ case self::GROUP_XORG:
+ case self::GROUP_COMMUNITY:
+ case self::GROUP_AX:
+ case self::GROUP_EP:
+ case self::GROUP_FX:
+ return true;
+ default:
+ return false;
+ }
}
public function canSyncWithGroup()
}
public function canSyncWithGroup()
'id' => 'Id',
'group_name' => 'Groupe',
'name' => 'Titre',
'id' => 'Id',
'group_name' => 'Groupe',
'name' => 'Titre',
- 'custom_css' => 'CSS spécifique',
'criteria' => 'Critères actifs'
);
static $next_orders = array(
'criteria' => 'Critères actifs'
);
static $next_orders = array(
<td class="titre">{$nl.id}</td>
<td>{$nl.group_name}</td>
<td><a href="http://www.polytechnique.net/{$nl.group_link}/admin/nl">{$nl.name}</a></td>
<td class="titre">{$nl.id}</td>
<td>{$nl.group_name}</td>
<td><a href="http://www.polytechnique.net/{$nl.group_link}/admin/nl">{$nl.name}</a></td>
- <td>{if $nl.custom_css}Oui{else}Non{/if}</td>
<td>{$nl.criteria}</td>
</tr>
{/foreach}
<td>{$nl.criteria}</td>
</tr>
{/foreach}
--- /dev/null
+ALTER TABLE newsletters DROP COLUMN custom_css;
+
+-- vim:set syntax=mysql: