def get_field_choices(self, template, type): choices = [('', '--------')] for loader in template.data_loaders.all(): DataLoader = utils.get_data_loader(loader.path) data_loader = DataLoader() field_choices = data_loader.get_field_choices('image', loader.prefix) choices.extend([(data_loader.verbose_name(), field_choices)]) return choices
def get_context(self): context = {} for loader in self.template.data_loaders.all(): from impositions.utils import get_data_loader data_loader = get_data_loader(loader.path)() try: source = self.data_sources.get(loader=loader) data_loader.set_instance(source.content_object) except CompositionDataSource.DoesNotExist: pass context.update(data_loader.get_context(loader.prefix)) return context
def sync_data_loaders(sender, **kwargs): # FIXME: Check to see if impositions has been migrated to at least 0005 loaders = getattr(settings, 'IMPOSITIONS_DATA_LOADERS', ()) for pfx, path in loaders: try: loader = DataLoader.objects.get(prefix=pfx) except DataLoader.DoesNotExist: loader = DataLoader(prefix=pfx, path=path) print 'Adding impositions data loader: {}'.format(pfx) else: if loader.path != path: print 'Updating impositions data loader: {}'.format(pfx) loader.path = path loader.save() # remove data obsolete data loaders for loader in DataLoader.objects.all(): try: get_data_loader(loader.path) except (ImportError, AttributeError): print 'Removing obsolete data loader: {}'.format(loader.prefix) loader.delete()
def get_context_data(self, **kwargs): context = super(TemplateUpdateView, self).get_context_data(**kwargs) context["formset_form_tpl"] = "impositions/region_form.html" context["data_fields"] = [] if self.object: fields = [] for loader in self.object.data_loaders.all(): DataLoader = utils.get_data_loader(loader.path) data_loader = DataLoader() field_choices = data_loader.get_field_choices("text", loader.prefix) fields.extend([(data_loader.verbose_name(), field_choices)]) context["data_fields"] = fields other_templates = models.Template.objects.order_by("-id") context["other_templates"] = other_templates.exclude(pk=self.object.pk) return context
def get_context_data(self, **kwargs): context = super(TemplateUpdateView, self).get_context_data(**kwargs) context['formset_form_tpl'] = 'impositions/region_form.html' context['data_fields'] = [] if self.object: tpl_width, tpl_height = self.object.get_dimensions() context['tpl_width'] = tpl_width context['tpl_height'] = tpl_height fields = [] for loader in self.object.data_loaders.all(): DataLoader = utils.get_data_loader(loader.path) data_loader = DataLoader() field_choices = data_loader.get_field_choices('text', loader.prefix) fields.extend([(data_loader.verbose_name(), field_choices)]) context['data_fields'] = fields other_templates = models.Template.objects.order_by('-id') context['other_templates'] = other_templates.exclude(pk=self.object.pk) return context
def __unicode__(self): from impositions.utils import get_data_loader DataLoader = get_data_loader(self.path) return DataLoader().verbose_name()
def get_data_loader(self): from impositions.utils import get_data_loader DataLoader = get_data_loader(self.loader.path) data_loader = DataLoader() data_loader.set_instance(self.content_object) return data_loader