# combo - content management system # Copyright (C) 2015 Entr'ouvert # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU Affero General Public License as published # by the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from django import template from django.db import models from django.forms import models as model_forms from django.utils.translation import ugettext_lazy as _ from combo.data.models import CellBase from combo.data.library import register_cell_class @register_cell_class class GalleryCell(CellBase): title = models.CharField(_('Title'), max_length=50, blank=True, null=True) manager_form_template = 'combo/gallery_manager.html' class Meta: verbose_name = _('Gallery') def render(self, context): gallery_template = template.loader.get_template('combo/gallery.html') return gallery_template.render(context) def get_additional_label(self): if self.title: return self.title return '' class Image(models.Model): gallery = models.ForeignKey(GalleryCell, verbose_name=_('Gallery')) image = models.ImageField(_('Image'), upload_to='uploads/gallery/%Y/%m/') order = models.PositiveIntegerField() title = models.CharField(_('Title'), max_length=50, blank=True) class Meta: ordering = ['order']