X-Git-Url: https://code.grnet.gr/git/snf-cloudcms/blobdiff_plain/072ce13f62184cb65ceddfbf5b741ca64b5f123d..f95f8982398b3155adc8fc9167e32706b7cd8151:/cloudcms/forms.py diff --git a/cloudcms/forms.py b/cloudcms/forms.py index b38a8be..c14c909 100644 --- a/cloudcms/forms.py +++ b/cloudcms/forms.py @@ -23,6 +23,9 @@ from feincms.content.raw.models import RawContent logger = logging.getLogger('cloudcms.rstimport') +def slugify(title): + return title[:90] + # base filename to service slug map DEFAULT_SERVICE_MAP = { 'cyclades':'cyclades', @@ -145,7 +148,11 @@ class RstZipImportForm(forms.Form): logger.warning("Removing exising entries") self.clean_existing_data() except Exception, e: - transaction.savepoint_rollback(sid) + try: + transaction.savepoint_rollback(sid) + transaction.rollback() + except Exception, e: + logger.exception("Can not rollback") logger.exception("Failed to clean existing data") logger.removeHandler(stream_handler) logger.setLevel(old_level) @@ -204,15 +211,25 @@ class RstZipImportForm(forms.Form): except Exception, e: - print e + print e, "EXCEPTION" logger.exception("RST import failed") logger.removeHandler(stream_handler) logger.setLevel(old_level) - transaction.savepoint_rollback(sid) + try: + transaction.savepoint_rollback(sid) + transaction.rollback() + except Exception, e: + logger.exception("Can not rollback") + return False, stream.getvalue() if dry_run: - transaction.savepoint_rollback(sid) + try: + transaction.savepoint_rollback(sid) + transaction.rollback() + except Exception, e: + logger.exception("Can not rollback") + else: transaction.savepoint_commit(sid) @@ -273,9 +290,10 @@ def add_or_update_faq_question(author, service, category, slug,\ q.is_active = True q.category = category q.service = service - q.slug = slug + q.slug = slugify(slug) q.title = unicode(title) q.save() + q.application = [Application.current()] q.save() @@ -303,7 +321,7 @@ def add_or_update_guide_entry(author, service, slug, title, html_content): guide.author = author guide.is_active = True guide.service = service - guide.slug = slug + guide.slug = slugify(slug) guide.title = unicode(title) guide.save()