Projet

Général

Profil

0002-lingo-remove-ActiveItems-and-ItemsHistory-cell-10483.patch

Serghei Mihai, 04 avril 2016 17:23

Télécharger (4,19 ko)

Voir les différences:

Subject: [PATCH 2/4] lingo: remove ActiveItems and ItemsHistory cell (#10483)

 .../lingo/migrations/0020_auto_20160330_1530.py    | 36 ++++++++++
 combo/apps/lingo/models.py                         | 76 ----------------------
 2 files changed, 36 insertions(+), 76 deletions(-)
 create mode 100644 combo/apps/lingo/migrations/0020_auto_20160330_1530.py
combo/apps/lingo/migrations/0020_auto_20160330_1530.py
1
# -*- coding: utf-8 -*-
2
from __future__ import unicode_literals
3

  
4
from django.db import models, migrations
5

  
6

  
7
class Migration(migrations.Migration):
8

  
9
    dependencies = [
10
        ('lingo', '0019_manual_migrate_invoice_cells_20160404_1356'),
11
    ]
12

  
13
    operations = [
14
        migrations.RemoveField(
15
            model_name='activeitems',
16
            name='groups',
17
        ),
18
        migrations.RemoveField(
19
            model_name='activeitems',
20
            name='page',
21
        ),
22
        migrations.DeleteModel(
23
            name='ActiveItems',
24
        ),
25
        migrations.RemoveField(
26
            model_name='itemshistory',
27
            name='groups',
28
        ),
29
        migrations.RemoveField(
30
            model_name='itemshistory',
31
            name='page',
32
        ),
33
        migrations.DeleteModel(
34
            name='ItemsHistory',
35
        ),
36
    ]
combo/apps/lingo/models.py
420 420
        if not context.get('synchronous'):
421 421
            raise NothingInCacheException()
422 422
        return super(InvoicesCell, self).render(context)
423

  
424

  
425
class Items(CellBase):
426
    regie = models.CharField(_('Regie'), max_length=50, blank=True)
427
    title = models.CharField(_('Title'), max_length=200, blank=True)
428
    text = RichTextField(_('Text'), blank=True, null=True)
429

  
430
    user_dependant = True
431
    template_name = 'lingo/combo/items.html'
432

  
433
    class Meta:
434
        abstract = True
435

  
436

  
437
    class Media:
438
        js = ('xstatic/jquery-ui.min.js', 'js/gadjo.js',)
439
        css = {'all': ('xstatic/themes/smoothness/jquery-ui.min.css', )}
440

  
441
    @classmethod
442
    def is_enabled(cls):
443
        return Regie.objects.count() > 0
444

  
445
    def get_default_form_class(self):
446
        fields = ['title', 'text']
447
        widgets = {}
448
        if Regie.objects.count() > 1:
449
            regies = [('', _('All'))]
450
            regies.extend([(r.slug, r.label) for r in Regie.objects.all()])
451
            widgets['regie'] = Select(choices=regies)
452
            fields.insert(0, 'regie')
453
        return model_forms.modelform_factory(self.__class__, fields=fields, widgets=widgets)
454

  
455
    def get_regies(self):
456
        if self.regie:
457
            return [Regie.objects.get(slug=self.regie)]
458
        return Regie.objects.all()
459

  
460
    def get_cell_extra_context(self, context):
461
        ctx = {'title': self.title, 'text': self.text}
462
        items = self.get_items()
463
        # sort items by creation date
464
        items.sort(key=lambda i: i.creation_date, reverse=True)
465
        ctx.update({'items': items})
466
        return ctx
467

  
468
    def render(self, context):
469
        self.context = context
470
        if not context.get('synchronous'):
471
            raise NothingInCacheException()
472
        return super(Items, self).render(context)
473

  
474

  
475
@register_cell_class
476
class ItemsHistory(Items):
477

  
478
    class Meta:
479
        verbose_name = _('Items History Cell')
480

  
481
    def get_items(self):
482
        items = []
483
        for r in self.get_regies():
484
            items.extend(r.get_past_items(self.context))
485
        return items
486

  
487

  
488
@register_cell_class
489
class ActiveItems(Items):
490

  
491
    class Meta:
492
        verbose_name = _('Active Items Cell')
493

  
494
    def get_items(self):
495
        items = []
496
        for r in self.get_regies():
497
            items.extend(r.get_items(self.context))
498
        return items
499
-