def save(self): if not self.form.is_valid(): return False self.reset_pdf_cache() data = self.form.cleaned_data slide_set = self.event.presentation.slide_set if slide_set == None: slide_set = SlideSet() slide_set.presentation = self.event.presentation slide_set.save() self.event.presentation.slide_set = slide_set slide = self.form.instance if data['slide_type'] == 'poll': # delete the old slide if it has been changed to a poll if slide.id != None: slide.delete() slide = Poll() slide.question = data['poll_question'] slide.slide_set = slide_set slide.offset = data['offset'] if data['image']: base_path = os.path.dirname(slide_upload_to(slide, data['image'].name)) slide.image = self.upload_file(data['image'], upload_to = base_path) self.event.presentation.video = data['video'] slide.save() self.event.presentation.save() # we need to save the poll choices here, after the poll is saved and has an id if data['slide_type'] == 'poll': for choice_text in data['poll_choices'].split('\n'): print '!!!! choice: %s' % choice_text choice = Choice() choice.choice = choice_text choice.poll = slide choice.save() return True