Changeset b713ac7


Ignore:
Timestamp:
Aug 8, 2011, 3:06:46 AM (15 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, space-access, stable, stage, test-hooks
Children:
7f16c8e
Parents:
0abb44b
git-author:
Alex Dehnert <adehnert@…> (08/08/11 03:06:46)
git-committer:
Alex Dehnert <adehnert@…> (08/08/11 03:06:46)
Message:

Add class/status/funding

Location:
asadb/groups
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • asadb/groups/admin.py

    r0abb44b rb713ac7  
    1717    )
    1818    list_display_links = ('id', 'name', )
    19     list_filter = [ 'activity_category', ]
     19    list_filter = [
     20        'activity_category',
     21        'group_class',
     22        'group_status',
     23        'group_funding',
     24    ]
    2025    date_hierarchy = 'update_date'
    2126    search_fields = [ 'id', 'name', 'abbreviation', 'officer_email', 'athena_locker', ]
     
    6368    list_display_links = ('id', 'name', )
    6469
     70class Admin_GroupClass(admin.ModelAdmin):
     71    list_display = (
     72        'id',
     73        'name',
     74        'slug',
     75        'gets_publicity',
     76    )
     77    list_display_links = ('id', 'name', 'slug', )
     78    list_filter = [ 'gets_publicity', ]
     79    prepopulated_fields = {'slug': ('name', )}
     80
     81class Admin_GroupStatus(admin.ModelAdmin):
     82    list_display = (
     83        'id',
     84        'name',
     85        'slug',
     86        'is_active',
     87    )
     88    list_display_links = ('id', 'name', 'slug', )
     89    list_filter = [ 'is_active', ]
     90    prepopulated_fields = {'slug': ('name', )}
     91
     92class Admin_GroupFunding(admin.ModelAdmin):
     93    list_display = (
     94        'id',
     95        'name',
     96        'slug',
     97        'contact_email',
     98        'funding_list',
     99    )
     100    list_display_links = ('id', 'name', 'slug', )
     101    prepopulated_fields = {'slug': ('name', )}
     102
     103class Admin_GroupClass(admin.ModelAdmin):
     104    list_display = (
     105        'id',
     106        'name',
     107        'slug',
     108        'gets_publicity',
     109    )
     110    list_display_links = ('id', 'name', 'slug', )
     111    list_filter = [ 'gets_publicity', ]
     112    prepopulated_fields = {'slug': ('name', )}
     113
    65114class Admin_AthenaMoiraAccount(admin.ModelAdmin):
    66115    list_display = (
     
    83132admin.site.register(groups.models.OfficeHolder, OfficeHolderAdmin)
    84133admin.site.register(groups.models.ActivityCategory, ActivityCategoryAdmin)
     134admin.site.register(groups.models.GroupClass, Admin_GroupClass)
     135admin.site.register(groups.models.GroupStatus, Admin_GroupStatus)
     136admin.site.register(groups.models.GroupFunding, Admin_GroupFunding)
    85137admin.site.register(groups.models.AthenaMoiraAccount, Admin_AthenaMoiraAccount)
  • asadb/groups/models.py

    r2dd6045 rb713ac7  
    1010    description = models.TextField()
    1111    activity_category = models.ForeignKey('ActivityCategory', null=True, blank=True, )
     12    group_class = models.ForeignKey('GroupClass')
     13    group_status = models.ForeignKey('GroupStatus')
     14    group_funding = models.ForeignKey('GroupFunding', null=True, blank=True, )
    1215    website_url = models.URLField()
    1316    constitution_url = models.CharField(max_length=200, blank=True)
     
    153156
    154157
     158class GroupClass(models.Model):
     159    name = models.CharField(max_length=50)
     160    slug = models.SlugField(unique=True, )
     161    description = models.TextField()
     162    gets_publicity = models.BooleanField(help_text="Gets publicity resources such as FYSM or Activities Midway")
     163
     164    def __str__(self, ):
     165        publicity = "no publicity"
     166        if self.gets_publicity:
     167            publicity = "gets publicity"
     168        return "%s (%s)" % (self.name, publicity, )
     169
     170    class Meta:
     171        verbose_name_plural = "group classes"
     172
     173
     174class GroupStatus(models.Model):
     175    name = models.CharField(max_length=50)
     176    slug = models.SlugField(unique=True, )
     177    description = models.TextField()
     178    is_active = models.BooleanField(default=True, help_text="This status represents an active group")
     179
     180    def __str__(self, ):
     181        active = ""
     182        if not self.is_active:
     183            active = " (inactive)"
     184        return "%s%s" % (self.name, active, )
     185
     186    class Meta:
     187        verbose_name_plural= "group statuses"
     188
     189
     190class GroupFunding(models.Model):
     191    name = models.CharField(max_length=50)
     192    slug = models.SlugField(unique=True, )
     193    contact_email = models.EmailField()
     194    funding_list = models.CharField(max_length=32, blank=True, help_text="List that groups receiving funding emails should be on. The database will attempt to make sure that ONLY those groups are on it.")
     195
     196    def __str__(self, ):
     197        return "%s (%s)" % (self.name, self.contact_email, )
     198
     199
    155200class AthenaMoiraAccount_ActiveManager(models.Manager):
    156201    def get_query_set(self, ):
Note: See TracChangeset for help on using the changeset viewer.