manage: add a new field for extra css class on BaseCell (#12553)
This commit is contained in:
parent
699e24f1f4
commit
9242e4d37a
|
@ -0,0 +1,29 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('dataviz', '0004_auto_20160108_1048'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='cubesbarchart',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='cubestable',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='gauge',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('family', '0002_familyinfoscell_restricted_to_unlogged'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='familyinfoscell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('fargo', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='recentdocumentscell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,43 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('lingo', '0022_regie_is_default'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='regie',
|
||||
options={'ordering': ('label',), 'verbose_name': 'Regie'},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='activeitems',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='itemshistory',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='lingobasketcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='lingobasketlinkcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='lingorecenttransactionscell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,24 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('momo', '0009_auto_20160504_1036'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='momoiconcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='momooptions',
|
||||
name='contact_email',
|
||||
field=models.EmailField(max_length=254, null=True, verbose_name='Contact Email'),
|
||||
),
|
||||
]
|
|
@ -40,7 +40,7 @@ class GenerationInfo(Exception):
|
|||
|
||||
|
||||
def render_cell(cell, context):
|
||||
classnames = ['cell', cell.css_class_name]
|
||||
classnames = ['cell', cell.css_class_names]
|
||||
if cell.slug:
|
||||
classnames.append(cell.slug)
|
||||
return '<div class="%s">%s</div>' % (' '.join(classnames), cell.render(context))
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('newsletters', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='newsletterscell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,19 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('usersearch', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='usersearchcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,49 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('wcs', '0012_wcsformsofcategorycell_manual_order'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='categoriescell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='trackingcodeinputcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='wcscategorycell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='wcscurrentdraftscell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='wcscurrentformscell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='wcsformcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='wcsformsofcategorycell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -0,0 +1,59 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('data', '0019_create_parent_cells'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='blurpcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='feedcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='fortunecell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='linkcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='menucell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='parameterscell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='parentcontentcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='textcell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='unlockmarkercell',
|
||||
name='extra_css_class',
|
||||
field=models.CharField(max_length=100, verbose_name='Extra classes for CSS styling', blank=True),
|
||||
),
|
||||
]
|
|
@ -261,6 +261,7 @@ class CellBase(models.Model):
|
|||
placeholder = models.CharField(max_length=20)
|
||||
order = models.PositiveIntegerField()
|
||||
slug = models.SlugField(_('Slug'), blank=True)
|
||||
extra_css_class = models.CharField(_('Extra classes for CSS styling'), max_length=100, blank=True)
|
||||
|
||||
public = models.BooleanField(_('Public'), default=True)
|
||||
restricted_to_unlogged = models.BooleanField(
|
||||
|
@ -295,8 +296,8 @@ class CellBase(models.Model):
|
|||
return ''
|
||||
|
||||
@property
|
||||
def css_class_name(self):
|
||||
return self.__class__.__name__.lower()
|
||||
def css_class_names(self):
|
||||
return self.__class__.__name__.lower() + ' ' + self.extra_css_class
|
||||
|
||||
@classmethod
|
||||
def get_all_cell_types(cls):
|
||||
|
@ -371,6 +372,7 @@ class CellBase(models.Model):
|
|||
fields = [x.name for x in self._meta.local_concrete_fields
|
||||
if x.name not in ('id', 'page', 'placeholder', 'order',
|
||||
'public', 'groups', 'slug',
|
||||
'extra_css_class',
|
||||
'restricted_to_unlogged')]
|
||||
if not fields:
|
||||
return None
|
||||
|
@ -379,7 +381,7 @@ class CellBase(models.Model):
|
|||
|
||||
def get_options_form_class(self):
|
||||
return model_forms.modelform_factory(self.__class__,
|
||||
fields=['slug'])
|
||||
fields=['slug', 'extra_css_class'])
|
||||
|
||||
def get_visibility_form_class(self):
|
||||
# generate a form with the 'public' model attribute inverted to create
|
||||
|
|
|
@ -66,6 +66,11 @@ div.cell h3 .group1 {
|
|||
width: 60%;
|
||||
}
|
||||
|
||||
div.cell h3 span.extra-css-class {
|
||||
font-size: 70%;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
div.cell h3 span.additional-label,
|
||||
div.cell h3 span.visibility-summary {
|
||||
font-size: 80%;
|
||||
|
|
|
@ -75,7 +75,11 @@
|
|||
<h3><span class="handle">⣿</span>
|
||||
<span class="group1">
|
||||
{{ cell.get_label }}
|
||||
{% if cell.slug %} [{{cell.slug}}] {% endif %}
|
||||
{% if cell.slug %} [{{cell.slug}}]
|
||||
{% if cell.extra_css_class %}
|
||||
<span class="extra-css-class">[{{ cell.extra_css_class }}]</span>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<span class="additional-label">
|
||||
<i>{{cell.get_additional_label|default_if_none:""}}</i></span>
|
||||
</span>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% load combo i18n %}
|
||||
{% for cell in cells %}
|
||||
<div class="cell {{ cell.css_class_name }} {% if cell.slug %}{{cell.slug}}{% endif %} {% if cell|shown_because_admin:request %}shown-because-admin{% endif %}"
|
||||
<div class="cell {{ cell.css_class_names }} {% if cell.slug %}{{cell.slug}}{% endif %} {% if cell|shown_because_admin:request %}shown-because-admin{% endif %}"
|
||||
data-ajax-cell-url="{{ site_base }}{% url 'combo-public-ajax-page-cell' page_pk=cell.page.id cell_reference=cell.get_reference %}"
|
||||
data-ajax-cell-loading-message="{% trans "Loading..." %}"
|
||||
{% if cell.ajax_refresh %}
|
||||
|
|
Loading…
Reference in New Issue