def handle_save_action(self, action, data): if form.applyChanges(self.context, self.form_fields, data, self.adapters): zope.event.notify( zope.lifecycleevent.ObjectModifiedEvent(self.context)) zope.event.notify(ploneformbase.EditSavedEvent(self.context)) self.status = "Changes saved" else: zope.event.notify(ploneformbase.EditCancelledEvent(self.context)) self.status = "No changes" settings = PageSliderSettings(self.context) slides = settings.slides index = data.get('index', -1) value = { 'html': data['slide'], 'overlay': data['overlay'], 'on_hover': data['on_hover'] } if index == -1: slides.append(value) index = len(slides) - 1 else: slides[index] = value settings.slides = slides url = getMultiAdapter((self.context, self.request), name='absolute_url')() + "/@@slider-settings" self.request.response.redirect(url)
def __call__(self): order = [int(i) for i in self.request.get('order[]')] settings = PageSliderSettings(self.context) # first verify same size slides = settings.slides if len(order) != len(slides): self.request.response.setStatus(status=403, reason="missing slides") newslides = [] for index in order: newslides.append(slides[index]) settings.slides = newslides return 'done'
def __init__(self, context, request): super(SlidesView, self).__init__(context, request) self.settings = PageSliderSettings(context.context) self.call_context = self.context.context self.slider_url = self.context.context.absolute_url() # since this uses the same .pt file self.css = slider_settings_css(self.settings)
def get_settings(self): return PageSliderSettings(self.context)
def __init__(self, context, request): super(SlideView, self).__init__(context, request) self.settings = PageSliderSettings(self.context.context)