当前位置: 首页>>代码示例>>Python>>正文


Python revisions.set_user方法代码示例

本文整理汇总了Python中reversion.revisions.set_user方法的典型用法代码示例。如果您正苦于以下问题:Python revisions.set_user方法的具体用法?Python revisions.set_user怎么用?Python revisions.set_user使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在reversion.revisions的用法示例。


在下文中一共展示了revisions.set_user方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: ajax_change_status

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def ajax_change_status(request):
    if not request.is_ajax():
        return HttpResponseForbidden()

    post_dict = dict(request.POST)
    if 'statuses_id[]' in post_dict and 'profile_ids[]' in post_dict:
        statuses = UserStatus.objects.filter(id__in=post_dict['statuses_id[]'])
        for profile in UserProfile.objects.filter(id__in=post_dict['profile_ids[]']):
            for status in statuses:
                profile.set_status(status)

            post_save.send(UserProfile, instance=profile, created=False)
            reversion.set_user(request.user)
            reversion.set_comment("Change from user status bulk change")

    return HttpResponse("OK") 
开发者ID:znick,项目名称:anytask,代码行数:18,代码来源:views.py

示例2: make_profile

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def make_profile(backend, user, response, is_new=False, *args, **kwargs):
    if is_new:
        if not hasattr(user, 'profile'):
            profile = Profile(user=user)
            profile.language = Language.get_default_language()
            logger.info('Info from %s: %s', backend.name, response)
            profile.save()
            form = ProfileForm(instance=profile, user=user)
        else:
            data = backend.strategy.request_data()
            logger.info(data)
            form = ProfileForm(data, instance=user.profile, user=user)
            if form.is_valid():
                with transaction.atomic(), revisions.create_revision():
                    form.save()
                    revisions.set_user(user)
                    revisions.set_comment('Updated on registration')
                    return
        return render(backend.strategy.request, 'registration/profile_creation.html', {
            'title': 'Create your profile', 'form': form,
        }) 
开发者ID:DMOJ,项目名称:online-judge,代码行数:23,代码来源:social_auth.py

示例3: lesson_create

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def lesson_create(request, course):
    user = request.user
    params = get_params(request.POST, user)
    for group in params['lesson_groups']:
        schedule_id = uuid.uuid1().hex
        for lssn_date in params['lesson_dates']:
            lssn_id = set_params(params, course, group, user, schedule_id, lssn_date)

    reversion.set_user(user)
    reversion.set_comment("Create lesson")

    return HttpResponse(json.dumps({'page_title': ' | '.join([params['lesson_title'], course.name, str(course.year)]),
                                    'redirect_page': '/lesson/edit/' + str(lssn_id)}),
                        content_type="application/json") 
开发者ID:znick,项目名称:anytask,代码行数:16,代码来源:views.py

示例4: lesson_edit

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def lesson_edit(request, course, lesson_id):
    user = request.user
    lesson = get_object_or_404(Lesson, id=lesson_id)
    schedule_id = lesson.schedule_id
    group = lesson.group
    params = get_params(request.POST, request.user)

    if 'change_all' not in request.POST:
        set_params(params, course, group, user, schedule_id, params['lesson_dates'][0], lesson)
    else:
        if need_delete(lesson, params):
            Lesson.objects.filter(
                schedule_id=schedule_id,
                date_starttime__gte=lesson.date_starttime
            ).delete()
            for i, lssn_date in enumerate(params['lesson_dates']):
                set_params(params, course, group, user, schedule_id, lssn_date, None)

        else:
            lesson_changed = Lesson.objects.filter(
                schedule_id=schedule_id,
                date_starttime__gte=lesson.date_starttime
            )
            i = j = 0
            while i < len(lesson_changed):
                if lesson_changed[i].date_starttime.date() != params['lesson_dates'][j][0].date():
                    j += 1
                else:
                    set_params(params, course, group, user, schedule_id, params['lesson_dates'][j], lesson_changed[i])
                    i += 1

    reversion.set_user(user)
    reversion.set_comment("Edit lesson")

    return HttpResponse(json.dumps({'page_title': ' | '.join([lesson.title, course.name, str(course.year)]),
                                    'redirect_page': None}),
                        content_type="application/json") 
开发者ID:znick,项目名称:anytask,代码行数:39,代码来源:views.py

示例5: my_tasks

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def my_tasks(request):
    user = request.user
    issues = Issue.objects \
        .filter(student=user) \
        .exclude(task__type=Task.TYPE_MATERIAL) \
        .exclude(task__type=Task.TYPE_SEMINAR) \
        .order_by('-update_time')

    user_as_str = str(user.username) + '_tasks_filter'

    f = IssueFilterStudent(request.GET, issues)
    f.set_user(user)

    if f.form.data:
        request.session[user_as_str] = f.form.data
    elif user_as_str in request.session:
        f.form.data = request.session.get(user_as_str)

    f.form.helper = FormHelper(f.form)
    f.form.helper.form_method = 'get'
    f.form.helper.layout.append(
        HTML(u"""<div class="form-group row">
        <button id="button_filter" class="btn btn-secondary pull-xs-right" type="submit">{0}</button>
        </div>""".format(_(u'primenit')))
    )

    context = {
        'filter': f,
    }

    return render(request, 'my_tasks.html', context) 
开发者ID:znick,项目名称:anytask,代码行数:33,代码来源:views.py

示例6: post

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def post(self, request, *args, **kwargs):
        self.object = self.get_object()
        page = self.get_comment_page()

        if self.is_comment_locked():
            return HttpResponseForbidden()

        parent = request.POST.get('parent')
        if parent:
            if len(parent) > 10:
                return HttpResponseBadRequest()
            try:
                parent = int(parent)
            except ValueError:
                return HttpResponseNotFound()
            else:
                if not Comment.objects.filter(hidden=False, id=parent, page=page).exists():
                    return HttpResponseNotFound()

        form = CommentForm(request, request.POST)
        if form.is_valid():
            comment = form.save(commit=False)
            comment.author = request.profile
            comment.page = page
            with LockModel(write=(Comment, Revision, Version), read=(ContentType,)), revisions.create_revision():
                revisions.set_user(request.user)
                revisions.set_comment(_('Posted comment'))
                comment.save()
            return HttpResponseRedirect(request.path)

        context = self.get_context_data(object=self.object, comment_form=form)
        return self.render_to_response(context) 
开发者ID:DMOJ,项目名称:online-judge,代码行数:34,代码来源:comments.py

示例7: generate_api_token

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def generate_api_token(request):
    profile = request.profile
    with transaction.atomic(), revisions.create_revision():
        revisions.set_user(request.user)
        revisions.set_comment(_('Generated API token for user'))
        return JsonResponse({'data': {'token': profile.generate_api_token()}}) 
开发者ID:DMOJ,项目名称:online-judge,代码行数:8,代码来源:user.py

示例8: remove_api_token

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def remove_api_token(request):
    profile = request.profile
    with transaction.atomic(), revisions.create_revision():
        profile.api_token = None
        profile.save()
        revisions.set_user(request.user)
        revisions.set_comment(_('Removed API token for user'))
    return JsonResponse({}) 
开发者ID:DMOJ,项目名称:online-judge,代码行数:10,代码来源:user.py

示例9: generate_scratch_codes

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def generate_scratch_codes(request):
    profile = request.profile
    with transaction.atomic(), revisions.create_revision():
        revisions.set_user(request.user)
        revisions.set_comment(_('Generated scratch codes for user'))
    return JsonResponse({'data': {'codes': profile.generate_scratch_codes()}}) 
开发者ID:DMOJ,项目名称:online-judge,代码行数:8,代码来源:user.py

示例10: form_valid

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def form_valid(self, form):
        with transaction.atomic(), revisions.create_revision():
            revisions.set_comment(_('Edited from site'))
            revisions.set_user(self.request.user)
            return super(CommentEditAjax, self).form_valid(form) 
开发者ID:DMOJ,项目名称:online-judge,代码行数:7,代码来源:comment.py

示例11: save_revision

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def save_revision(self, user, comment, *args, **kwargs):
        with transaction.atomic(), reversion.create_revision():
            self.save()
            reversion.set_user(user)
            reversion.set_comment(comment) 
开发者ID:peragro,项目名称:django-project,代码行数:7,代码来源:mixins.py

示例12: set_user_statuses

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def set_user_statuses(request, username=None):
    if request.method == 'GET':
        return HttpResponseForbidden()

    user = request.user

    if not user.is_staff:
        return HttpResponseForbidden()

    user_to_show = user
    if username:
        user_to_show = get_object_or_404(User, username=username)

    user_profile = user_to_show.profile
    is_error = False
    error = ''

    try:
        user_profile.user_status = filter(bool, dict(request.POST).get('status_by_type[]', []))
        user_profile.updated_by = user
        user_profile.save()
        reversion.set_user(user)
        reversion.set_comment("Change from user profile")
    except Exception as e:
        is_error = True
        error = unicode(e)

    user_statuses = list(user_profile.user_status.all().values("name", "color"))

    user_profile_log = {
        'update_time': user_profile.update_time.astimezone(
            timezone_pytz(user.profile.time_zone)
        ).strftime("%d-%m-%Y %H:%M"),
        'updated_by': user_profile.updated_by.username,
        'fullname': user_profile.updated_by.get_full_name()
    }

    return HttpResponse(json.dumps({'user_statuses': user_statuses,
                                    'user_profile_log': user_profile_log,
                                    'is_error': is_error,
                                    'error': error}),
                        content_type="application/json") 
开发者ID:znick,项目名称:anytask,代码行数:44,代码来源:views.py

示例13: edit_profile

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def edit_profile(request):
    if request.profile.mute:
        raise Http404()
    if request.method == 'POST':
        form = ProfileForm(request.POST, instance=request.profile, user=request.user)
        if form.is_valid():
            with transaction.atomic(), revisions.create_revision():
                form.save()
                revisions.set_user(request.user)
                revisions.set_comment(_('Updated on site'))

            if newsletter_id is not None:
                try:
                    subscription = Subscription.objects.get(user=request.user, newsletter_id=newsletter_id)
                except Subscription.DoesNotExist:
                    if form.cleaned_data['newsletter']:
                        Subscription(user=request.user, newsletter_id=newsletter_id, subscribed=True).save()
                else:
                    if subscription.subscribed != form.cleaned_data['newsletter']:
                        subscription.update(('unsubscribe', 'subscribe')[form.cleaned_data['newsletter']])

            perm = Permission.objects.get(codename='test_site', content_type=ContentType.objects.get_for_model(Profile))
            if form.cleaned_data['test_site']:
                request.user.user_permissions.add(perm)
            else:
                request.user.user_permissions.remove(perm)

            return HttpResponseRedirect(request.path)
    else:
        form = ProfileForm(instance=request.profile, user=request.user)
        if newsletter_id is not None:
            try:
                subscription = Subscription.objects.get(user=request.user, newsletter_id=newsletter_id)
            except Subscription.DoesNotExist:
                form.fields['newsletter'].initial = False
            else:
                form.fields['newsletter'].initial = subscription.subscribed
        form.fields['test_site'].initial = request.user.has_perm('judge.test_site')

    tzmap = settings.TIMEZONE_MAP
    return render(request, 'user/edit-profile.html', {
        'require_staff_2fa': settings.DMOJ_REQUIRE_STAFF_2FA,
        'form': form, 'title': _('Edit profile'), 'profile': request.profile,
        'can_download_data': bool(settings.DMOJ_USER_DATA_DOWNLOAD),
        'has_math_config': bool(settings.MATHOID_URL),
        'TIMEZONE_MAP': tzmap or 'http://momentjs.com/static/img/world.png',
        'TIMEZONE_BG': settings.TIMEZONE_BG if tzmap else '#4E7CAD',
    }) 
开发者ID:DMOJ,项目名称:online-judge,代码行数:50,代码来源:user.py

示例14: test_reversion_anonymization

# 需要导入模块: from reversion import revisions [as 别名]
# 或者: from reversion.revisions import set_user [as 别名]
def test_reversion_anonymization(self):
        from reversion import revisions as reversion
        from reversion.models import Version
        from gdpr.utils import get_reversion_versions

        anon = ContactFormAnonymizer()
        anon.Meta.anonymize_reversion = True
        anon.Meta.reversible_anonymization = True

        user = User(username='test_username')
        user.save()

        with reversion.create_revision():
            form = ContactForm()
            form.email = CUSTOMER__EMAIL
            form.full_name = CUSTOMER__LAST_NAME
            form.save()

            reversion.set_user(user)

        with reversion.create_revision():
            form.email = CUSTOMER__EMAIL2
            form.save()

            reversion.set_user(user)

        with reversion.create_revision():
            form.email = CUSTOMER__EMAIL3
            form.save()

            reversion.set_user(user)

        versions: List[Version] = get_reversion_versions(form)

        self.assertEqual(versions[0].field_dict['email'], CUSTOMER__EMAIL)
        self.assertEqual(versions[1].field_dict['email'], CUSTOMER__EMAIL2)
        self.assertEqual(versions[2].field_dict['email'], CUSTOMER__EMAIL3)

        anon.anonymize_obj(form, base_encryption_key=self.base_encryption_key)

        anon_versions: List[Version] = get_reversion_versions(form)
        anon_form = ContactForm.objects.get(pk=form.pk)

        self.assertNotEqual(anon_versions[0].field_dict['email'], CUSTOMER__EMAIL)
        self.assertNotEqual(anon_versions[1].field_dict['email'], CUSTOMER__EMAIL2)
        self.assertNotEqual(anon_versions[2].field_dict['email'], CUSTOMER__EMAIL3)
        self.assertNotEqual(anon_form.email, CUSTOMER__EMAIL3)

        anon.deanonymize_obj(anon_form, base_encryption_key=self.base_encryption_key)

        deanon_versions: List[Version] = get_reversion_versions(form)
        deanon_form = ContactForm.objects.get(pk=form.pk)

        self.assertEqual(deanon_versions[0].field_dict['email'], CUSTOMER__EMAIL)
        self.assertEqual(deanon_versions[1].field_dict['email'], CUSTOMER__EMAIL2)
        self.assertEqual(deanon_versions[2].field_dict['email'], CUSTOMER__EMAIL3)
        self.assertEqual(deanon_form.email, CUSTOMER__EMAIL3)
        self.assertDictEqual(versions[0].field_dict, deanon_versions[0].field_dict)
        self.assertDictEqual(versions[1].field_dict, deanon_versions[1].field_dict)
        self.assertDictEqual(versions[2].field_dict, deanon_versions[2].field_dict) 
开发者ID:druids,项目名称:django-GDPR,代码行数:62,代码来源:test_model_anonymization.py


注:本文中的reversion.revisions.set_user方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。