def save(self, commit=False): instance = super(PageForm, self).save(commit=commit) # remove leading and trailing slashes url = str(instance.url).strip('/') instance.url = url # if no stylesheet for page, create one if instance.stylesheet == None: new_stylesheet = Stylesheet(title=instance.title, css=instance.css, last_updated_by=instance.last_updated_by) new_stylesheet.page = instance filepath = write_to_file(instance.title, instance, 'css') new_stylesheet.path = filepath new_stylesheet.save() instance.stylesheet = new_stylesheet instance.save() # update existing stylesheet else: update_stylesheet = Stylesheet.objects.get(pk=instance.stylesheet.pk) update_stylesheet.css = instance.css if instance.parent_page: filepath = write_to_file(instance.parent_page.title, instance, 'css') else: filepath = write_to_file(instance.title, instance, 'css') update_stylesheet.path = filepath update_stylesheet.save() # save all pages in the group instance.save() pages = instance.stylesheet.page_set.all() for page in pages: page.save() return instance
def save(self, commit=True): instance = super(PageTemplateForm, self).save(commit=commit) write_to_file(instance.title, instance, 'html') return instance