def save(self, *args, **kwargs): if not self.slug: # Subdomains can't have underscores in them. self.slug = slugify(self.name).replace('_', '-') if self.slug == '': raise Exception(_("Model must have slug")) super(Project, self).save(*args, **kwargs) for owner in self.users.all(): assign('view_project', owner, self) # Add exceptions here for safety try: self.sync_supported_versions() except Exception: log.error('failed to sync supported versions', exc_info=True) try: symlink(project=self.slug) except Exception: log.error('failed to symlink project', exc_info=True) try: update_static_metadata(project_pk=self.pk) except Exception: log.error('failed to update static metadata', exc_info=True) try: branch = self.default_branch or self.vcs_repo().fallback_branch if not self.versions.filter(slug='latest').exists(): self.versions.create(slug='latest', verbose_name='latest', machine=True, type='branch', active=True, identifier=branch) # if not self.versions.filter(slug='stable').exists(): # self.versions.create(slug='stable', verbose_name='stable', type='branch', active=True, identifier=branch) except Exception: log.error('Error creating default branches', exc_info=True)
def save(self, *args, **kwargs): first_save = self.pk is None if not self.slug: # Subdomains can't have underscores in them. self.slug = slugify(self.name).replace('_', '-') if self.slug == '': raise Exception(_("Model must have slug")) super(Project, self).save(*args, **kwargs) for owner in self.users.all(): assign('view_project', owner, self) try: if self.default_branch: latest = self.versions.get(slug='latest') if latest.identifier != self.default_branch: latest.identifier = self.default_branch latest.save() except Exception: log.error('Failed to update latest identifier', exc_info=True) # Add exceptions here for safety try: self.sync_supported_versions() except Exception: log.error('failed to sync supported versions', exc_info=True) try: if not first_save: symlink(project=self.slug) except Exception: log.error('failed to symlink project', exc_info=True) try: update_static_metadata(project_pk=self.pk) except Exception: log.error('failed to update static metadata', exc_info=True) try: branch = self.default_branch or self.vcs_repo().fallback_branch if not self.versions.filter(slug='latest').exists(): self.versions.create(slug='latest', verbose_name='latest', machine=True, type='branch', active=True, identifier=branch) # if not self.versions.filter(slug='stable').exists(): # self.versions.create(slug='stable', verbose_name='stable', type='branch', active=True, identifier=branch) except Exception: log.error('Error creating default branches', exc_info=True)
def save(self, *args, **kwargs): first_save = self.pk is None if not self.slug: # Subdomains can't have underscores in them. self.slug = slugify(self.name).replace("_", "-") if self.slug == "": raise Exception(_("Model must have slug")) super(Project, self).save(*args, **kwargs) for owner in self.users.all(): assign("view_project", owner, self) try: if self.default_branch: latest = self.versions.get(slug=LATEST) if latest.identifier != self.default_branch: latest.identifier = self.default_branch latest.save() except Exception: log.error("Failed to update latest identifier", exc_info=True) # Add exceptions here for safety try: self.sync_supported_versions() except Exception: log.error("failed to sync supported versions", exc_info=True) try: if not first_save: symlink(project=self.slug) except Exception: log.error("failed to symlink project", exc_info=True) try: update_static_metadata(project_pk=self.pk) except Exception: log.error("failed to update static metadata", exc_info=True) try: branch = self.default_branch or self.vcs_repo().fallback_branch if not self.versions.filter(slug=LATEST).exists(): self.versions.create_latest(identifier=branch) # if not self.versions.filter(slug=STABLE).exists(): # self.versions.create_stable(type='branch', identifier=branch) except Exception: log.error("Error creating default branches", exc_info=True)
raise Exception(_("Model must have slug")) obj = super(Project, self).save(*args, **kwargs) for owner in self.users.all(): assign('view_project', owner, self) # Add exceptions here for safety try: self.sync_supported_versions() except Exception, e: log.error('failed to sync supported versions', exc_info=True) try: symlink(project=self.slug) except Exception, e: log.error('failed to symlink project', exc_info=True) try: update_static_metadata(project_pk=self.pk) except Exception: log.error('failed to update static metadata', exc_info=True) return obj def get_absolute_url(self): return reverse('projects_detail', args=[self.slug]) def get_docs_url(self, version_slug=None, lang_slug=None): """ Return a url for the docs. Always use http for now, to avoid content warnings. """ protocol = "http" version = version_slug or self.get_default_version() lang = lang_slug or self.language
raise Exception(_("Model must have slug")) obj = super(Project, self).save(*args, **kwargs) for owner in self.users.all(): assign('view_project', owner, self) # Add exceptions here for safety try: self.sync_supported_versions() except Exception, e: log.error('failed to sync supported versions', exc_info=True) try: symlink(project=self.slug) except Exception, e: log.error('failed to symlink project', exc_info=True) try: update_static_metadata(project_pk=self.pk) except Exception: log.error('failed to update static metadata', exc_info=True) return obj def get_absolute_url(self): return reverse('projects_detail', args=[self.slug]) def get_docs_url(self, version_slug=None, lang_slug=None): """ Return a url for the docs. Always use http for now, to avoid content warnings. """ protocol = "http" version = version_slug or self.get_default_version() lang = lang_slug or self.language