Gentoo Archives: gentoo-commits

From: Slava Bacherikov <slava@××××××××××××××.ua>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-packages:master commit in: gpackages/apps/packages/
Date: Thu, 07 Jun 2012 18:37:57
Message-Id: 1339082846.0ea02f6f29cbcea12e249f882f6f7b723920738b.bacher09@gentoo
1 commit: 0ea02f6f29cbcea12e249f882f6f7b723920738b
2 Author: Slava Bacherikov <slava <AT> bacher09 <DOT> org>
3 AuthorDate: Thu Jun 7 15:27:26 2012 +0000
4 Commit: Slava Bacherikov <slava <AT> bacherikov <DOT> org <DOT> ua>
5 CommitDate: Thu Jun 7 15:27:26 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoo-packages.git;a=commit;h=0ea02f6f
7
8 Code clean-up in admin
9
10 ---
11 gpackages/apps/packages/admin.py | 63 +++++++++++++++-----------------------
12 1 files changed, 25 insertions(+), 38 deletions(-)
13
14 diff --git a/gpackages/apps/packages/admin.py b/gpackages/apps/packages/admin.py
15 index b7fe67e..b403a45 100644
16 --- a/gpackages/apps/packages/admin.py
17 +++ b/gpackages/apps/packages/admin.py
18 @@ -4,6 +4,25 @@ from models import EbuildModel, PackageModel, LicensModel, CategoryModel, \
19 UseFlagModel, RepositoryModel, HomepageModel, HerdsModel, \
20 MaintainerModel, Keyword, ArchesModel, UseFlagDescriptionModel
21
22 +class AbstractAnnotateAdmin(object):
23 + annotate_dict = {}
24 +
25 + def queryset(self, request):
26 + return super(AbstractAnnotateAdmin, self).queryset(request) \
27 + .annotate(**self.annotate_dict)
28 +
29 +class EbuildsCountAdmin(AbstractAnnotateAdmin):
30 + annotate_dict = {'ebuilds_count': Count('ebuildmodel')}
31 +
32 + def ebuilds_count(self, obj):
33 + return obj.ebuilds_count
34 +
35 +class PackagesCountAdmin(AbstractAnnotateAdmin):
36 + annotate_dict = {'packages_count': Count('packagemodel')}
37 +
38 + def packages_count(self, obj):
39 + return obj.packages_count
40 +
41 class EbuildAdmin(admin.ModelAdmin):
42 list_display = ('__unicode__', 'is_masked', )
43 list_filter = ('created_datetime','updated_datetime', 'licenses', 'is_masked')
44 @@ -11,50 +30,23 @@ class EbuildAdmin(admin.ModelAdmin):
45 date_hierarchy = 'updated_datetime'
46 list_select_related = True
47
48 -
49 -class PackageAdmin(admin.ModelAdmin):
50 +class PackageAdmin(EbuildsCountAdmin, admin.ModelAdmin):
51 list_display = ('__unicode__', 'ebuilds_count')
52 list_filter = ('created_datetime', 'updated_datetime', 'herds')
53 list_select_related = True
54
55 - def queryset(self, request):
56 - return super(PackageAdmin, self).queryset(request).annotate(ebuilds_count = Count('ebuildmodel'))
57 -
58 - def ebuilds_count(self, obj):
59 - return obj.ebuilds_count
60 -
61 -
62 -class HerdsAdmin(admin.ModelAdmin):
63 +class HerdsAdmin(PackagesCountAdmin, admin.ModelAdmin):
64 list_display = ('name', 'email', 'description', 'packages_count')
65 search_fields = ('name', 'email')
66
67 - def queryset(self, request):
68 - return super(HerdsAdmin, self).queryset(request).annotate(packages_count = Count('packagemodel'))
69 -
70 - def packages_count(self, obj):
71 - return obj.packages_count
72 -
73 -class MaintainerAdmin(admin.ModelAdmin):
74 +class MaintainerAdmin(PackagesCountAdmin, admin.ModelAdmin):
75 list_display = ('name', 'email', 'packages_count')
76 search_fields = ('name', 'email')
77
78 - def queryset(self, request):
79 - return super(MaintainerAdmin, self).queryset(request).annotate(packages_count = Count('packagemodel'))
80 -
81 - def packages_count(self, obj):
82 - return obj.packages_count
83 -
84 -
85 -class UseFlagAdmin(admin.ModelAdmin):
86 +class UseFlagAdmin(EbuildsCountAdmin, admin.ModelAdmin):
87 list_display = ('name', 'description', 'ebuilds_count')
88 search_fields = ('name', 'description')
89
90 - def queryset(self, request):
91 - return super(UseFlagAdmin, self).queryset(request).annotate(ebuilds_count = Count('ebuildmodel'))
92 -
93 - def ebuilds_count(self, obj):
94 - return obj.ebuilds_count
95 -
96 class UseFlagDescriptionAdmin(admin.ModelAdmin):
97 list_display = ('use_flag', 'package', 'description')
98 list_select_related = True
99 @@ -63,15 +55,10 @@ class HomepageAdmin(admin.ModelAdmin):
100 list_display = ('url',)
101 search_fields = ('url',)
102
103 -class LicensAdmin(admin.ModelAdmin):
104 - list_display = ('name', 'licenses_count')
105 +class LicensAdmin(EbuildsCountAdmin, admin.ModelAdmin):
106 + list_display = ('name', 'ebuilds_count')
107 search_fields = ('name',)
108
109 - def queryset(self, request):
110 - return super(LicensAdmin, self).queryset(request).annotate(licenses_count = Count('ebuildmodel'))
111 -
112 - def licenses_count(self, obj):
113 - return obj.licenses_count
114
115 admin.site.register(EbuildModel, EbuildAdmin)
116 admin.site.register(PackageModel, PackageAdmin)