Mercurial > hg > savane-forge
annotate savane/svmain/admin.py @ 318:8d7c891dec61
Start adding some stats for the homepage
author | Sylvain Beucler <beuc@beuc.net> |
---|---|
date | Wed, 18 Aug 2010 23:35:26 +0200 |
parents | df0e87b3b7b9 |
children |
rev | line source |
---|---|
276 | 1 # User/group admin interface |
2 # Copyright (C) 2009, 2010 Sylvain Beucler | |
3 # | |
4 # This file is part of Savane. | |
5 # | |
6 # Savane is free software: you can redistribute it and/or modify | |
7 # it under the terms of the GNU Affero General Public License as | |
8 # published by the Free Software Foundation, either version 3 of the | |
9 # License, or (at your option) any later version. | |
10 # | |
11 # Savane is distributed in the hope that it will be useful, | |
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 # GNU Affero General Public License for more details. | |
15 # | |
16 # You should have received a copy of the GNU Affero General Public License | |
17 # along with this program. If not, see <http://www.gnu.org/licenses/>. | |
18 | |
154 | 19 from django.contrib import admin |
20 from django.utils.translation import ugettext, ugettext_lazy as _ | |
21 import models as svmain_models | |
22 | |
23 class LicenseAdmin(admin.ModelAdmin): | |
24 list_display = ['slug', 'pk', 'name', 'url'] | |
25 search_fields = ['name'] | |
26 | |
27 class DevelopmentStatusAdmin(admin.ModelAdmin): | |
28 list_display = ['name', 'pk'] | |
29 search_fields = ['name'] | |
30 | |
31 class SshKeyInline(admin.TabularInline): | |
32 model = svmain_models.SshKey | |
33 extra = 2 # to add several keys in the ExtendedUser page | |
34 | |
173
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
35 class SvUserInfoAdmin(admin.ModelAdmin): |
154 | 36 fieldsets = ( |
173
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
37 (None, {'fields': ('user',)}), |
293
df0e87b3b7b9
i18n fixes: don't translate 'Savane'
Sylvain Beucler <beuc@beuc.net>
parents:
289
diff
changeset
|
38 ('Savane', |
154 | 39 {'fields': ('status', 'spamscore', |
40 'gpg_key', 'gpg_key_count', | |
318
8d7c891dec61
Start adding some stats for the homepage
Sylvain Beucler <beuc@beuc.net>
parents:
293
diff
changeset
|
41 'email_hide', 'timezone',)}), |
154 | 42 ) |
173
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
43 list_display = ('user', 'status') |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
44 list_filter = ('status',) |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
45 search_fields = ('user',) |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
46 ordering = ('user__username',) |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
47 #filter_horizontal = ('m2m',) |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
48 #inlines = [SshKeyInline] |
154 | 49 |
50 class GroupConfigurationAdmin(admin.ModelAdmin): | |
51 fieldsets = ( | |
52 (_('General Settings'), {'fields': ('name', 'base_host', 'description')}), | |
53 (_('Project WWW Homepage'), | |
54 {'fields': ('can_use_homepage', 'homepage_scm', 'dir_type_homepage', | |
55 'dir_homepage', 'url_homepage', 'url_cvs_viewcvs_homepage')}), | |
56 (_('Source Code Manager: CVS'), | |
57 {'fields': ('can_use_cvs', 'dir_type_cvs', | |
58 'dir_cvs', 'url_cvs_viewcvs')}), | |
59 (_('Source Code Manager: GNU Arch'), | |
60 {'fields': ('can_use_arch', 'dir_type_arch', | |
61 'dir_arch', 'url_arch_viewcvs')}), | |
62 (_('Source Code Manager: Subversion'), | |
63 {'fields': ('can_use_svn', 'dir_type_svn', | |
64 'dir_svn', 'url_svn_viewcvs')}), | |
65 (_('Source Code Manager: Git'), | |
66 {'fields': ('can_use_git', 'dir_type_git', | |
67 'dir_git', 'url_git_viewcvs')}), | |
68 (_('Source Code Manager: Mercurial'), | |
69 {'fields': ('can_use_hg', 'dir_type_hg', | |
70 'dir_hg', 'url_hg_viewcvs')}), | |
71 (_('Source Code Manager: Bazaar'), | |
72 {'fields': ('can_use_bzr', 'dir_type_bzr', | |
73 'dir_bzr', 'url_bzr_viewcvs')}), | |
74 (_('Download area'), | |
75 {'fields': ('can_use_download', 'dir_type_download', | |
76 'dir_download', 'url_download')}), | |
77 (_('Licenses'), {'fields': ('can_use_license',)}), | |
78 (_('Development Status'), {'fields': ('can_use_devel_status',)}), | |
79 (_('Mailing List'), | |
80 {'fields': ('can_use_mailing_list', 'mailing_list_virtual_host', | |
81 'mailing_list_address', 'mailing_list_format', | |
207
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
82 'url_mailing_list_listinfo', 'url_mailing_list_archives', |
154 | 83 'url_mailing_list_archives_private', 'url_mailing_list_admin')}), |
84 # TODO: finish | |
85 (_('News Manager'), {'fields': ('can_use_news',)}), | |
86 (_('Project Menu Settings'), | |
87 {'fields': ('is_menu_configurable_homepage', | |
88 'is_menu_configurable_extralink_documentation', | |
89 'is_menu_configurable_download', | |
90 'is_configurable_download_dir', | |
91 'is_menu_configurable_support', | |
92 # ... | |
93 )}), | |
94 | |
95 ) | |
96 | |
173
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
97 class SvGroupInfoAdmin(admin.ModelAdmin): |
154 | 98 # Copy/pasted from django.contrib.auth.admin; inheritance fails |
99 # when you attempt to display extended fields.. | |
100 search_fields = ('name',) | |
173
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
101 ordering = ('group__name',) |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
102 #filter_horizontal = ('permissions',) |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
103 list_display = ('pk', 'full_name', 'type', 'license',) |
154 | 104 list_filter = ('type', 'license', 'devel_status',) |
276 | 105 date_hierarchy = 'register_time' |
154 | 106 |
207
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
107 class MailingListAdmin(admin.ModelAdmin): |
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
108 search_fields = ('list_name',) |
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
109 ordering = ('list_name',) |
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
110 list_display = ('pk', 'list_name', 'status', 'is_public', 'description',) |
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
111 list_filter = ('status', 'is_public', ) |
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
112 |
173
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
113 admin.site.register(svmain_models.SvUserInfo, SvUserInfoAdmin) |
1c3b185b7ca4
Change derived class ExtendedUser to AutoOneToOneField SvUserInfo (idem for groups); replicate changes across the code. This allow to create Savane-specific user object automatically (e.g. after django-registration).
Sylvain Beucler <beuc@beuc.net>
parents:
154
diff
changeset
|
114 admin.site.register(svmain_models.SvGroupInfo, SvGroupInfoAdmin) |
154 | 115 admin.site.register(svmain_models.GroupConfiguration, GroupConfigurationAdmin) |
116 admin.site.register(svmain_models.License, LicenseAdmin) | |
117 admin.site.register(svmain_models.DevelopmentStatus, DevelopmentStatusAdmin) | |
207
6fef32fad596
Browse project mailing lists
Sylvain Beucler <beuc@beuc.net>
parents:
173
diff
changeset
|
118 admin.site.register(svmain_models.MailingList, MailingListAdmin) |