我们从Python开源项目中,提取了以下37个代码示例,用于说明如何使用django.contrib.admin.models.CHANGE。
def log_change(self, request, object, message): """ Log that an object has been successfully changed. The default implementation creates an admin LogEntry object. """ from django.contrib.admin.models import LogEntry, CHANGE LogEntry.objects.log_action( user_id=request.user.pk, content_type_id=get_content_type_for_model(object).pk, object_id=object.pk, object_repr=force_text(object), action_flag=CHANGE, change_message=message, )
def log_change(self, request, object, message): """ Log that an object has been successfully changed. The default implementation creates an admin LogEntry object. """ from django.contrib.admin.models import LogEntry, CHANGE return LogEntry.objects.log_action( user_id=request.user.pk, content_type_id=get_content_type_for_model(object).pk, object_id=object.pk, object_repr=force_text(object), action_flag=CHANGE, change_message=message, )
def disable_action(modeladmin, request, queryset): queryset.update(is_active=False) ct = ContentType.objects.get_for_model(queryset.model) for entry in queryset: LogEntry.objects.log_action(user_id=request.user.id, content_type_id=ct.pk, object_id=entry.pk, object_repr=entry.username, action_flag=CHANGE, change_message=_("Disabled")) messages.add_message(request, messages.INFO, '%d disabled' % queryset.count())
def enable_action(modeladmin, request, queryset): queryset.update(is_active=True) ct = ContentType.objects.get_for_model(queryset.model) for entry in queryset: LogEntry.objects.log_action(user_id=request.user.id, content_type_id=ct.pk, object_id=entry.pk, object_repr=entry.username, action_flag=CHANGE, change_message=_("Enabled")) messages.add_message(request, messages.INFO, '%d enabled' % queryset.count())
def log_change(self, request, object, message): """ Log that an object has been successfully changed. The default implementation creates an admin LogEntry object. """ from django.contrib.admin.models import LogEntry, CHANGE LogEntry.objects.log_action( user_id=request.user.pk, content_type_id=get_content_type_for_model(object).pk, object_id=object.pk, object_repr=force_text(object), action_flag=CHANGE, change_message=message )
def log_change(self, request, object, message): """ ?????? """ from django.contrib.admin.models import LogEntry, CHANGE LogEntry.objects.log_action( user_id = request.user.pk, content_type_id = ContentType.objects.get_for_model(object).pk, object_id = object.pk, object_repr = force_text(object), action_flag = CHANGE, change_message = message )
def process_response(self, request, response): if not self.is_cms_request(request): return response from django.utils.cache import add_never_cache_headers if ((hasattr(request, 'toolbar') and request.toolbar.edit_mode) or not all(ph.cache_placeholder for ph in getattr(request, 'placeholders', ()))): add_never_cache_headers(response) if hasattr(request, 'user') and request.user.is_staff and response.status_code != 500: try: pk = LogEntry.objects.filter( user=request.user, action_flag__in=(ADDITION, CHANGE) ).only('pk').order_by('-pk')[0].pk if hasattr(request, 'cms_latest_entry') and request.cms_latest_entry != pk: log = LogEntry.objects.filter(user=request.user, action_flag__in=(ADDITION, CHANGE))[0] request.session['cms_log_latest'] = log.pk # If there were no LogEntries, just don't touch the session. # Note that in the case of a user logging-in as another user, # request may have a cms_latest_entry attribute, but there are no # LogEntries for request.user. except IndexError: pass return response
def _fake_logentry(self, instance_id, user, text, model=Page): LogEntry.objects.log_action( user_id=user.id, content_type_id=ContentType.objects.get_for_model(model).pk, object_id=instance_id, object_repr=text, action_flag=CHANGE, ) entry = LogEntry.objects.filter(user=user, object_id=instance_id, action_flag__in=(CHANGE,))[0] session = self.client.session session['cms_log_latest'] = entry.pk session.save()
def _fake_logentry(self, instance_id, user, text, model=Page): LogEntry.objects.log_action( user_id=user.id, content_type_id=ContentType.objects.get_for_model(model).pk, object_id=instance_id, object_repr=text, action_flag=CHANGE, ) entry = LogEntry.objects.filter(user=user, action_flag__in=(CHANGE,))[0] session = self.client.session session['cms_log_latest'] = entry.pk session.save()
def unpublish(self, request, page_id, language): """ Publish or unpublish a language of a page """ site = Site.objects.get_current() page = get_object_or_404(self.model, pk=page_id) if not page.has_publish_permission(request): return HttpResponseForbidden(force_text(_("You do not have permission to unpublish this page"))) if not page.publisher_public_id: return HttpResponseForbidden(force_text(_("This page was never published"))) try: page.unpublish(language) message = _('The %(language)s page "%(page)s" was successfully unpublished') % { 'language': get_language_object(language, site)['name'], 'page': page} messages.info(request, message) LogEntry.objects.log_action( user_id=request.user.id, content_type_id=ContentType.objects.get_for_model(Page).pk, object_id=page_id, object_repr=page.get_title(), action_flag=CHANGE, change_message=message, ) except RuntimeError: exc = sys.exc_info()[1] messages.error(request, exc.message) except ValidationError: exc = sys.exc_info()[1] messages.error(request, exc.message) path = admin_reverse("cms_page_changelist") if request.GET.get('redirect_language'): path = "%s?language=%s&page_id=%s" % (path, request.GET.get('redirect_language'), request.GET.get('redirect_page_id')) return HttpResponseRedirect(path)
def unpublish(self, request, article_id, language): """ Publish or unpublish a language of a article """ article = get_object_or_404(self.model, pk=article_id) if not article.has_publish_permission(request): return HttpResponseForbidden(force_text(_('You do not have permission to unpublish this article'))) if not article.publisher_public_id: return HttpResponseForbidden(force_text(_('This article was never published'))) try: article.unpublish(language) message = _('The %(language)s article "%(article)s" was successfully unpublished') % { 'language': get_language_object(language)['name'], 'article': article} messages.info(request, message) LogEntry.objects.log_action( user_id=request.user.id, content_type_id=ContentType.objects.get_for_model(Article).pk, object_id=article_id, object_repr=article.get_title(), action_flag=CHANGE, change_message=message, ) except RuntimeError: exc = sys.exc_info()[1] messages.error(request, exc.message) except ValidationError: exc = sys.exc_info()[1] messages.error(request, exc.message) path = admin_reverse('cms_articles_article_changelist') if request.GET.get('redirect_language'): path = '%s?language=%s&article_id=%s' % ( path, request.GET.get('redirect_language'), request.GET.get('redirect_article_id') ) return HttpResponseRedirect(path)
def change(request, news_object): LogEntry.objects.log_action( user_id=request.user.id, content_type_id=ContentType.objects.get_for_model(news_object).pk, object_id=news_object.id, object_repr=news_object.title, action_flag=CHANGE, change_message="Changed")
def log_change(self, request, object, message): """ Log that an object has been successfully changed. The default implementation creates an admin LogEntry object. """ from django.contrib.admin.models import LogEntry, CHANGE LogEntry.objects.log_action( user_id=request.user.pk, content_type_id=ContentType.objects.get_for_model(object).pk, object_id=object.pk, object_repr=force_text(object), action_flag=CHANGE, change_message=message )
def process_request(self, request): """ If we should show the toolbar for this request, put it on request.toolbar. Then call the request_hook on the toolbar. """ if not self.is_cms_request(request): return edit_on = get_cms_setting('CMS_TOOLBAR_URL__EDIT_ON') edit_off = get_cms_setting('CMS_TOOLBAR_URL__EDIT_OFF') build = get_cms_setting('CMS_TOOLBAR_URL__BUILD') disable = get_cms_setting('CMS_TOOLBAR_URL__DISABLE') anonymous_on = get_cms_setting('TOOLBAR_ANONYMOUS_ON') if disable in request.GET: request.session['cms_toolbar_disabled'] = True if edit_on in request.GET: # If we actively enter edit mode, we should show the toolbar in any case request.session['cms_toolbar_disabled'] = False if not request.session.get('cms_toolbar_disabled', False) and ( request.user.is_staff or (anonymous_on and request.user.is_anonymous()) ): if edit_on in request.GET and not request.session.get('cms_edit', False): if not request.session.get('cms_edit', False): menu_pool.clear() request.session['cms_edit'] = True if request.session.get('cms_build', False): request.session['cms_build'] = False if edit_off in request.GET and request.session.get('cms_edit', True): if request.session.get('cms_edit', True): menu_pool.clear() request.session['cms_edit'] = False if request.session.get('cms_build', False): request.session['cms_build'] = False if build in request.GET and not request.session.get('cms_build', False): request.session['cms_build'] = True else: request.session['cms_build'] = False request.session['cms_edit'] = False if request.user.is_staff: try: request.cms_latest_entry = LogEntry.objects.filter( user=request.user, action_flag__in=(ADDITION, CHANGE) ).only('pk').order_by('-pk')[0].pk except IndexError: request.cms_latest_entry = -1 request.toolbar = CMSToolbar(request)