Пример #1
0
    """Admin definitions for the Profile model."""

    list_display = ('__str__', 'first_time_setup_done')
    raw_id_fields = ('user', 'starred_review_requests', 'starred_groups')


class LocalSiteProfileAdmin(ModelAdmin):
    """Admin definitions for the LocalSiteProfile model."""

    list_display = ('__str__', )
    raw_id_fields = ('user', 'profile', 'local_site')


def fix_review_counts():
    """Clear out the review counts, so that they'll be regenerated."""
    LocalSiteProfile.objects.update(direct_incoming_request_count=None,
                                    total_incoming_request_count=None,
                                    pending_outgoing_request_count=None,
                                    total_outgoing_request_count=None,
                                    starred_public_request_count=None)
    Group.objects.update(incoming_request_count=None)


# Get rid of the old User admin model, and replace it with our own.
admin_site.unregister(User)
admin_site.register(User, RBUserAdmin)

admin_site.register(ReviewRequestVisit, ReviewRequestVisitAdmin)
admin_site.register(Profile, ProfileAdmin)
admin_site.register(LocalSiteProfile, LocalSiteProfileAdmin)
Пример #2
0
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
# "Software"), to deal in the Software without restriction, including
# without limitation the rights to use, copy, modify, merge, publish,
# distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so, subject to
# the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#

from reviewboard.admin import ModelAdmin, admin_site
from reviewboard.site.models import LocalSite


class LocalSiteAdmin(ModelAdmin):
    list_display = ('name', 'public')
    filter_horizontal = ('users', 'admins')


admin_site.register(LocalSite, LocalSiteAdmin)
Пример #3
0
            post_url_continue (unicode, optional):
                The next URL to go to.

        Returns:
            django.http.HttpResponse:
            A response redirecting the user to the change form.
        """
        if ('_addanother' not in request.POST
                and IS_POPUP_VAR not in request.POST):
            # request.POST is immutable on modern versions of Django. The
            # pattern used within Django for this exact situation is to copy
            # the dictionary and then modify it.
            request.POST = request.POST.copy()
            request.POST['_continue'] = 1

        return super(ApplicationAdmin, self).response_add(
            request,
            obj,
            post_url_continue=post_url_continue,
        )


# Ensure that the oauth2_provider admin modules is loaded so that we can
# replace their admin registration with our own. If we do not do this, we can't
# guarantee that it will be registered before we try to unregister it during
# unit tests.
importlib.import_module('oauth2_provider.admin')
admin_site.unregister(Application)
admin_site.register(Application, ApplicationAdmin)
Пример #4
0
from django.template.defaultfilters import truncatechars
from django.utils.translation import ugettext_lazy as _

from reviewboard.admin import ModelAdmin, admin_site
from reviewboard.changedescs.models import ChangeDescription


class ChangeDescriptionAdmin(ModelAdmin):
    """Admin definitions for the ChangeDescription model."""

    list_display = ('truncated_text', 'public', 'timestamp')
    list_filter = ('timestamp', 'public')
    readonly_fields = ('fields_changed', )

    def truncated_text(self, obj):
        """Return the text of the object, truncated to 60 characters."""
        return truncatechars(obj.text, 60)

    truncated_text.short_description = _('Change Description Text')


admin_site.register(ChangeDescription, ChangeDescriptionAdmin)
Пример #5
0
from django.utils.translation import ugettext_lazy as _

from reviewboard.admin import ModelAdmin, admin_site
from reviewboard.attachments.models import FileAttachment


class FileAttachmentAdmin(ModelAdmin):
    """Admin definitions for the FileAttachment model."""

    list_display = ('file', 'caption', 'mimetype', 'review_request_id')
    list_display_links = ('file', 'caption')
    search_fields = ('caption', 'mimetype')
    raw_id_fields = ('added_in_filediff', )

    def review_request_id(self, obj):
        """Return the review request ID for this file attachment."""
        return obj.review_request.get().id

    review_request_id.short_description = _('Review request ID')


admin_site.register(FileAttachment, FileAttachmentAdmin)
Пример #6
0
from __future__ import unicode_literals

from reviewboard.admin import ModelAdmin, admin_site
from reviewboard.hostingsvcs.models import HostingServiceAccount


class HostingServiceAccountAdmin(ModelAdmin):
    list_display = ('username', 'service_name', 'visible', 'local_site')
    raw_id_fields = ('local_site', )


admin_site.register(HostingServiceAccount, HostingServiceAccountAdmin)
Пример #7
0
    search_fields = ['text']
    raw_id_fields = ('reply_to', )

    def review_request_id(self, obj):
        return obj.review.get().review_request.id

    review_request_id.short_description = _('Review request ID')


class StatusUpdateAdmin(ModelAdmin):
    list_display = ('review_request_id', 'summary', 'description')
    raw_id_fields = ('user', 'review_request', 'change_description', 'review')

    def review_request_id(self, obj):
        return obj.review_request.id

    review_request_id.short_description = _('Review request ID')


admin_site.register(Comment, CommentAdmin)
admin_site.register(DefaultReviewer, DefaultReviewerAdmin)
admin_site.register(FileAttachmentComment, FileAttachmentCommentAdmin)
admin_site.register(GeneralComment, GeneralCommentAdmin)
admin_site.register(Group, GroupAdmin)
admin_site.register(Review, ReviewAdmin)
admin_site.register(ReviewRequest, ReviewRequestAdmin)
admin_site.register(ReviewRequestDraft, ReviewRequestDraftAdmin)
admin_site.register(Screenshot, ScreenshotAdmin)
admin_site.register(ScreenshotComment, ScreenshotCommentAdmin)
admin_site.register(StatusUpdate, StatusUpdateAdmin)