~widelands-dev/widelands-website/django_staticfiles

« back to all changes in this revision

Viewing changes to pybb/admin.py

  • Committer: franku
  • Date: 2016-12-13 18:28:51 UTC
  • mto: This revision was merged to the branch mainline in revision 443.
  • Revision ID: somal@arcor.de-20161213182851-bo5ebf8pdvw5beua
run the script

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
from django.contrib import admin
4
4
from pybb.models import Category, Forum, Topic, Post, Read
5
5
 
 
6
 
6
7
def delete_selected(modeladmin, request, queryset):
7
 
    """ Overwritten Django's default action to delete a post.
8
 
    
 
8
    """Overwritten Django's default action to delete a post.
 
9
 
9
10
    This action uses the delete() method of the post model.
10
11
    This ensures also deleting a topic if neccesary, preventing
11
12
    index-errors if a topic has only one post.
 
13
 
12
14
    """
13
15
    for obj in queryset:
14
16
        obj.delete()
15
17
delete_selected.short_description = 'Delete selected posts'
16
18
 
 
19
 
17
20
def unhide_post(modeladmin, request, queryset):
18
 
    "Unhide post(s) and inform subscribers"
 
21
    """Unhide post(s) and inform subscribers."""
19
22
    for obj in queryset:
20
23
        obj.unhide_post()
21
24
unhide_post.short_description = 'Unhide post and inform subscribers'
22
25
 
 
26
 
23
27
class CategoryAdmin(admin.ModelAdmin):
24
28
    list_display = ['name', 'position', 'forum_count']
25
29
    list_per_page = 20
26
30
    ordering = ['position']
27
31
    search_fields = ['name']
28
32
 
 
33
 
29
34
class ForumAdmin(admin.ModelAdmin):
30
35
    list_display = ['name', 'category', 'position', 'topic_count']
31
36
    list_per_page = 20
33
38
    search_fields = ['name', 'category__name']
34
39
    fieldsets = (
35
40
        (None, {
36
 
                'fields': ('category', 'name', 'updated')
37
 
                }
38
 
         ),
 
41
            'fields': ('category', 'name', 'updated')
 
42
        }
 
43
        ),
39
44
        (_('Additional options'), {
40
 
                'classes': ('collapse',),
41
 
                'fields': ('position', 'description', 'moderators')
42
 
                }
43
 
            ),
44
 
        )
 
45
            'classes': ('collapse',),
 
46
            'fields': ('position', 'description', 'moderators')
 
47
        }
 
48
        ),
 
49
    )
 
50
 
45
51
 
46
52
class TopicAdmin(admin.ModelAdmin):
47
53
    list_display = ['name', 'forum', 'created', 'head', 'is_hidden']
51
57
    search_fields = ['name']
52
58
    fieldsets = (
53
59
        (None, {
54
 
                'fields': ('forum', 'name', 'user', ('created', 'updated'))
55
 
                }
56
 
         ),
 
60
            'fields': ('forum', 'name', 'user', ('created', 'updated'))
 
61
        }
 
62
        ),
57
63
        (_('Additional options'), {
58
 
                'classes': ('collapse',),
59
 
                'fields': (('views',), ('sticky', 'closed'), 'subscribers')
60
 
                }
61
 
         ),
62
 
        )
 
64
            'classes': ('collapse',),
 
65
            'fields': (('views',), ('sticky', 'closed'), 'subscribers')
 
66
        }
 
67
        ),
 
68
    )
 
69
 
63
70
 
64
71
class PostAdmin(admin.ModelAdmin):
65
72
    list_display = ['summary', 'topic', 'user', 'created', 'hidden']
70
77
    actions = [delete_selected, unhide_post]
71
78
    fieldsets = (
72
79
        (None, {
73
 
                'fields': ('topic', 'user', 'markup', 'hidden')
74
 
                }
75
 
         ),
 
80
            'fields': ('topic', 'user', 'markup', 'hidden')
 
81
        }
 
82
        ),
76
83
        (_('Additional options'), {
77
 
                'classes': ('collapse',),
78
 
                'fields' : (('created', 'updated'), 'user_ip' )
79
 
                }
80
 
         ),
 
84
            'classes': ('collapse',),
 
85
            'fields': (('created', 'updated'), 'user_ip')
 
86
        }
 
87
        ),
81
88
        (_('Message'), {
82
 
                'fields': ('body', 'body_html', 'body_text')
83
 
                }
84
 
         ),
85
 
        )
 
89
            'fields': ('body', 'body_html', 'body_text')
 
90
        }
 
91
        ),
 
92
    )
 
93
 
86
94
 
87
95
class ReadAdmin(admin.ModelAdmin):
88
96
    list_display = ['user', 'topic', 'time']