heavy changes to models, beware

This commit is contained in:
Sanj 2011-09-06 08:27:15 +05:30
commit 20fadccaa4
4 changed files with 47 additions and 28 deletions

View File

@ -9,6 +9,7 @@ class TabsInline(admin.StackedInline):
class ModuleAdmin(admin.ModelAdmin): class ModuleAdmin(admin.ModelAdmin):
inlines = [TabsInline] inlines = [TabsInline]
prepopulated_fields = {'slug': ('title',)} prepopulated_fields = {'slug': ('title',)}
save_on_top = True
# list_display = ('name', 'order',) # list_display = ('name', 'order',)
# list_editable = ['order'] # list_editable = ['order']

View File

@ -3,8 +3,8 @@ from django.contrib.contenttypes.models import ContentType
class Module(models.Model): class Module(models.Model):
title = models.CharField(max_length=255) title = models.CharField(max_length=255, help_text="Title of Module. eg. Best Practices")
slug = models.SlugField() slug = models.SlugField(help_text="short name of module to be used for url. eg. bestpractices")
def __unicode__(self): def __unicode__(self):
return self.title return self.title
@ -15,12 +15,13 @@ class Module(models.Model):
class ModuleTab(models.Model): class ModuleTab(models.Model):
module = models.ForeignKey(Module) module = models.ForeignKey(Module)
title = models.CharField(max_length=64) title = models.CharField(max_length=64, help_text="Display title for tab")
text = models.TextField() slug = models.SlugField(help_text="short name for tab, to be used in url, eg. faq")
model = models.ForeignKey("ModelExtra") text = models.TextField(help_text="text to show up in LHS for tab")
is_default = models.BooleanField(default=False) model = models.ForeignKey("ModelExtra", help_text="Database model object tab is linked to (chose from list or ask for one to be created.)")
order = models.IntegerField(default=1) is_default = models.BooleanField(default=False, help_text="Whether this should be the default displayed tab.")
is_displayed = models.BooleanField(default=True) order = models.IntegerField(default=1, help_text="Make number higher to send it lower in order (default will always show first)")
is_displayed = models.BooleanField(default=True, help_text="Uncheck to hide tab")
class Meta: class Meta:
ordering = ['-is_default', 'order'] ordering = ['-is_default', 'order']
@ -36,10 +37,12 @@ class ModuleTab(models.Model):
class ModelExtra(models.Model): class ModelExtra(models.Model):
model = models.ForeignKey(ContentType) model = models.ForeignKey(ContentType, help_text="Chose from the list of death at your own peril.")
friendly_name = models.CharField(max_length=128) friendly_name = models.CharField(max_length=128, help_text="Used as display name in Admin, never to user. eg. Best Practices FAQ")
has_comments = models.BooleanField(default=False) has_comments = models.BooleanField(default=False, help_text="Will there be comments attached to this?")
buttons = models.ManyToManyField('ModelButton', through='ModelExtraButton', blank=True) buttons = models.ManyToManyField('ModelButton', through='ModelExtraButton', blank=True)
has_list = models.BooleanField(default=True)
default_image = models.ImageField(upload_to='upload/images/model_defaults/', max_length=255, blank=True)
def __unicode__(self): def __unicode__(self):
return self.friendly_name return self.friendly_name
@ -47,17 +50,18 @@ class ModelExtra(models.Model):
class ModelSort(models.Model): class ModelSort(models.Model):
model = models.ForeignKey(ModelExtra) model = models.ForeignKey(ModelExtra)
operator = models.CharField(max_length=1) operator = models.CharField(max_length=1, help_text="This should be either + or -.")
field_name = models.CharField(max_length=64) field_name = models.CharField(max_length=64, help_text="Name of field on which sorting should take place, eg. title")
friendly_name = models.CharField(max_length=128) friendly_name = models.CharField(max_length=128, help_text="And now, what shall we call it for the user? eg. By Title (A-Z)")
def __unicode__(self): def __unicode__(self):
return self.friendly_name return self.friendly_name
class ModelButton(models.Model): class ModelButton(models.Model):
name = models.CharField(max_length=64) name = models.CharField(max_length=64, help_text="Name of button, eg. Download")
template = models.TextField(blank=True) icon = models.ImageField(upload_to='upload/images/button_icons/', blank=True, help_text="pretty icon for the button")
template = models.TextField(blank=True, help_text="you should never need to edit this field. please don't.")
def __unicode__(self): def __unicode__(self):
return self.name return self.name
@ -66,5 +70,5 @@ class ModelButton(models.Model):
class ModelExtraButton(models.Model): class ModelExtraButton(models.Model):
modelextra = models.ForeignKey(ModelExtra) modelextra = models.ForeignKey(ModelExtra)
modelbutton = models.ForeignKey(ModelButton) modelbutton = models.ForeignKey(ModelButton)
parameters = models.CharField(max_length=64, blank=True) parameters = models.CharField(max_length=64, blank=True, help_text="if the button needs a parameter, give it here, if you dont know what this is, leave it blank.")

View File

@ -9,7 +9,7 @@ margin-left:auto;
position:relative;} position:relative;}
#leftColumn #leftColumn
{width:306px; {width:300px;
height:620px; /*SANJ to change height in JS according to screen*/ height:620px; /*SANJ to change height in JS according to screen*/
background-color:#FFF; background-color:#FFF;
margin-top:-8px; /*had to give this because of shadow*/ margin-top:-8px; /*had to give this because of shadow*/
@ -21,7 +21,8 @@ border-radius:8px;
-webkit-box-shadow:2px 3px 20px #252425; -webkit-box-shadow:2px 3px 20px #252425;
box-shadow:2px 3px 20px #252425; box-shadow:2px 3px 20px #252425;
position:relative; position:relative;
float:left;} float:left;
padding-right:6px;}
#topText #topText
{font-size:24px; {font-size:24px;
@ -149,27 +150,37 @@ clear:both;}
{padding-top:6px;} {padding-top:6px;}
.selectMenu select .selectMenu select
{color:#3B3B39; {border:1px solid #f7bd00;
background-color:#f7bd00;
color:#3B3B39;
-moz-border-radius:8px; -moz-border-radius:8px;
-webkit-border-radius:8px; -webkit-border-radius:8px;
border-radius:8px; border-radius:8px;
border:2px outset #f0f0f0; border:2px outset #f0f0f0;
background-color:#f0f0f0; /*background-color:#f0f0f0;*/
outline:none;} outline:none;}
.selectMenu select:focus .selectMenu select:focus
{border:1px solid #f7bd00; {}
background-color:#f7bd00;}
#listLeft #listLeft
{position:relative;} {position:relative;
}
.tabListItem
{text-overflow:ellipsis;
overflow:hidden;
white-space:nowrap;
width:100%;}
#listLeft ul #listLeft ul
{color:#f7bd00; {color:#898989; /*was originally f7bd00*/
list-style-image:url(/static/images/noel/disc.png);
list-style-type:disc; list-style-type:disc;
list-style-position:inside; list-style-position:inside;
padding-left:16px; padding-left:16px;
overflow:hidden; /*this prevents the box shadow from sticking out on the right*/} overflow:hidden; /*this prevents the box shadow from sticking out on the right*/
}
#listLeft ul span #listLeft ul span
{color:#898989;} {color:#898989;}
@ -184,6 +195,8 @@ padding-bottom:6px;
cursor:pointer; cursor:pointer;
} }
#listLeft ul li a, #listLeft ul li a:link, #listLeft ul li a:visited, #listLeft ul li a:active #listLeft ul li a, #listLeft ul li a:link, #listLeft ul li a:visited, #listLeft ul li a:active
{color:#898989; {color:#898989;
text-decoration:none;} text-decoration:none;}
@ -288,7 +301,8 @@ clear:both;}
height:100%; /*IS THIS REQUIRED??*/ height:100%; /*IS THIS REQUIRED??*/
background-color:#FFF; background-color:#FFF;
color:#3b3b39; color:#3b3b39;
font-size:12.5px; font-size:14px;
line-height:16px;
font-family:Arial, Helvetica, 'DejaVu Sans', sans-serif; font-family:Arial, Helvetica, 'DejaVu Sans', sans-serif;
padding:20px; padding:20px;
margin-top:20px; margin-top:20px;

View File

@ -67,7 +67,7 @@
<ul> <ul>
<li id="loadingList">Loading...</li> <li id="loadingList">Loading...</li>
{% for l in default_list %} {% for l in default_list %}
<li class="tabListItem"><a href="{{ l.url }}" data-id="{{ l.id }}"><span>{{ l.title|slice:"30" }}{% if l.title|length > 30 %}...{% endif %}</span></a></li> <li class="tabListItem"><a href="{{ l.url }}" data-id="{{ l.id }}"><span>{{ l.title }}</span></a></li>
{% endfor %} {% endfor %}
<!-- <li><a href=""><span>The Mystery of vanishing rights<span></a></li> --> <!-- <li><a href=""><span>The Mystery of vanishing rights<span></a></li> -->
</ul> </ul>