Add slug field to the bootstap setup model
This commit is contained in:
@@ -71,5 +71,6 @@ FIXTURE_METADATA_EDITED = 'edited'
|
|||||||
FIXTURE_METADATA_MAYAN_VERSION = 'mayan_edms_version'
|
FIXTURE_METADATA_MAYAN_VERSION = 'mayan_edms_version'
|
||||||
FIXTURE_METADATA_FORMAT = 'format'
|
FIXTURE_METADATA_FORMAT = 'format'
|
||||||
FIXTURE_METADATA_NAME = 'name'
|
FIXTURE_METADATA_NAME = 'name'
|
||||||
|
FIXTURE_METADATA_SLUG = 'slug'
|
||||||
FIXTURE_METADATA_DESCRIPTION = 'description'
|
FIXTURE_METADATA_DESCRIPTION = 'description'
|
||||||
BOOTSTRAP_EXTENSION = 'txt'
|
BOOTSTRAP_EXTENSION = 'txt'
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import datetime
|
||||||
|
from south.db import db
|
||||||
|
from south.v2 import SchemaMigration
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(SchemaMigration):
|
||||||
|
|
||||||
|
def forwards(self, orm):
|
||||||
|
# Adding field 'BootstrapSetup.slug'
|
||||||
|
db.add_column('bootstrap_bootstrapsetup', 'slug',
|
||||||
|
self.gf('django.db.models.fields.SlugField')(default='', unique=True, max_length=128, blank=True),
|
||||||
|
keep_default=False)
|
||||||
|
|
||||||
|
|
||||||
|
def backwards(self, orm):
|
||||||
|
# Deleting field 'BootstrapSetup.slug'
|
||||||
|
db.delete_column('bootstrap_bootstrapsetup', 'slug')
|
||||||
|
|
||||||
|
|
||||||
|
models = {
|
||||||
|
'bootstrap.bootstrapsetup': {
|
||||||
|
'Meta': {'ordering': "['name']", 'object_name': 'BootstrapSetup'},
|
||||||
|
'created': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(2012, 10, 16, 0, 0)'}),
|
||||||
|
'description': ('django.db.models.fields.TextField', [], {'blank': 'True'}),
|
||||||
|
'fixture': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
|
||||||
|
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128', 'blank': 'True'}),
|
||||||
|
'type': ('django.db.models.fields.CharField', [], {'max_length': '16'})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
complete_apps = ['bootstrap']
|
||||||
@@ -5,6 +5,8 @@ import tempfile
|
|||||||
import re
|
import re
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
|
import slugify
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from cStringIO import StringIO
|
from cStringIO import StringIO
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@@ -26,6 +28,7 @@ class BootstrapSetup(models.Model):
|
|||||||
Model to store the fixture for a pre configured setup.
|
Model to store the fixture for a pre configured setup.
|
||||||
"""
|
"""
|
||||||
name = models.CharField(max_length=128, verbose_name=_(u'name'), unique=True)
|
name = models.CharField(max_length=128, verbose_name=_(u'name'), unique=True)
|
||||||
|
slug = models.SlugField(max_length=128, verbose_name=_(u'slug'), unique=True, blank=True)
|
||||||
description = models.TextField(verbose_name=_(u'description'), blank=True)
|
description = models.TextField(verbose_name=_(u'description'), blank=True)
|
||||||
fixture = models.TextField(verbose_name=_(u'fixture'), help_text=_(u'These are the actual database structure creation instructions.'))
|
fixture = models.TextField(verbose_name=_(u'fixture'), help_text=_(u'These are the actual database structure creation instructions.'))
|
||||||
type = models.CharField(max_length=16, verbose_name=_(u'type'), choices=FIXTURE_TYPES_CHOICES)
|
type = models.CharField(max_length=16, verbose_name=_(u'type'), choices=FIXTURE_TYPES_CHOICES)
|
||||||
@@ -92,6 +95,8 @@ class BootstrapSetup(models.Model):
|
|||||||
self.get_metadata_string(),
|
self.get_metadata_string(),
|
||||||
self.cleaned_fixture
|
self.cleaned_fixture
|
||||||
)
|
)
|
||||||
|
if not self.slug:
|
||||||
|
self.slug = slugify.slugify(self.name)
|
||||||
return super(BootstrapSetup, self).save(*args, **kwargs)
|
return super(BootstrapSetup, self).save(*args, **kwargs)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ from .models import BootstrapSetup
|
|||||||
from .classes import FixtureMetadata
|
from .classes import FixtureMetadata
|
||||||
from .literals import (FIXTURE_METADATA_CREATED, FIXTURE_METADATA_EDITED,
|
from .literals import (FIXTURE_METADATA_CREATED, FIXTURE_METADATA_EDITED,
|
||||||
FIXTURE_METADATA_MAYAN_VERSION, FIXTURE_METADATA_FORMAT, FIXTURE_METADATA_NAME,
|
FIXTURE_METADATA_MAYAN_VERSION, FIXTURE_METADATA_FORMAT, FIXTURE_METADATA_NAME,
|
||||||
FIXTURE_METADATA_DESCRIPTION, DATETIME_STRING_FORMAT)
|
FIXTURE_METADATA_DESCRIPTION, DATETIME_STRING_FORMAT, FIXTURE_METADATA_SLUG)
|
||||||
|
|
||||||
register_links([BootstrapSetup], [link_bootstrap_setup_view, link_bootstrap_setup_edit, link_bootstrap_setup_delete, link_bootstrap_setup_execute, link_bootstrap_setup_export])
|
register_links([BootstrapSetup], [link_bootstrap_setup_view, link_bootstrap_setup_edit, link_bootstrap_setup_delete, link_bootstrap_setup_execute, link_bootstrap_setup_export])
|
||||||
register_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import], menu_name='secondary_menu')
|
register_links([BootstrapSetup], [link_bootstrap_setup_list, link_bootstrap_setup_create, link_bootstrap_setup_dump, link_bootstrap_setup_import], menu_name='secondary_menu')
|
||||||
@@ -24,4 +24,5 @@ FixtureMetadata(FIXTURE_METADATA_EDITED, generate_function=lambda fixture_instan
|
|||||||
FixtureMetadata(FIXTURE_METADATA_MAYAN_VERSION, generate_function=lambda fixture_instance: __version__)
|
FixtureMetadata(FIXTURE_METADATA_MAYAN_VERSION, generate_function=lambda fixture_instance: __version__)
|
||||||
FixtureMetadata(FIXTURE_METADATA_FORMAT, generate_function=lambda fixture_instance: fixture_instance.type, property_name='type')
|
FixtureMetadata(FIXTURE_METADATA_FORMAT, generate_function=lambda fixture_instance: fixture_instance.type, property_name='type')
|
||||||
FixtureMetadata(FIXTURE_METADATA_NAME, generate_function=lambda fixture_instance: fixture_instance.name, property_name='name')
|
FixtureMetadata(FIXTURE_METADATA_NAME, generate_function=lambda fixture_instance: fixture_instance.name, property_name='name')
|
||||||
|
FixtureMetadata(FIXTURE_METADATA_SLUG, generate_function=lambda fixture_instance: fixture_instance.slug, property_name='slug')
|
||||||
FixtureMetadata(FIXTURE_METADATA_DESCRIPTION, generate_function=lambda fixture_instance: fixture_instance.description, property_name='description')
|
FixtureMetadata(FIXTURE_METADATA_DESCRIPTION, generate_function=lambda fixture_instance: fixture_instance.description, property_name='description')
|
||||||
|
|||||||
@@ -21,3 +21,4 @@ pbs==0.105
|
|||||||
psutil==0.5.1
|
psutil==0.5.1
|
||||||
GitPython==0.3.2.RC1
|
GitPython==0.3.2.RC1
|
||||||
PyYAML==3.10
|
PyYAML==3.10
|
||||||
|
unicode-slugify==0.1
|
||||||
|
|||||||
Reference in New Issue
Block a user