Exemple #1
0
def create_user_ajax(request):
    ia = check_ajax(request)
    um = UserManager(request)
    if request.method == 'POST':
        try:
            um.set_post()
            new_user = um.update()
            if request.user.is_superuser:
                if um.is_superuser:
                    um.set_personnel()
                    um.set_superuser()
                elif um.is_personnel or um.is_reseller:
                    um.set_personnel()
            if new_user.is_superuser:
                SuperUserCreatedEventHandler().fire(new_user, None,
                                                    request.user.pk, True)
            elif new_user.is_staff:
                StaffUserCreatedEventHandler().fire(new_user, None,
                                                    request.user.pk, True)
            if not new_user.is_active:
                InactiveAccountLoginEventHandler().fire(
                    new_user, None, request.user.pk, True)
            return HttpResponse(str(new_user.pk))
        except RequestProcessException as e:
            # um.roll_back()
            return e.get_response()
    if ia:
        return HttpResponseBadRequest(_('invalid method'))
    return render(request, 'errors/AccessDenied.html')
Exemple #2
0
def edit_user_basics(request):
    u = request.user
    granted = False
    if u.is_staff or u.is_superuser:
        granted = True
    if request.method == 'GET':
        if granted:
            uid = request.GET.get('u')
        else:
            uid = u.pk
        try:
            user = User.objects.get(pk=uid)
            profile = UserProfile.objects.filter(user=uid).first()
            if not profile:
                profile = UserProfile()
            history = profile.history.all().order_by('-pk')[:5]
            return render(request, 'user/EditUserBasics.html', {
                'u': user,
                'profile': profile,
                'history': history,
            })
        except Exception as e:
            logger.error(e.message or e.args)
            return send_error(request, _('system error'))
    elif request.method == 'POST':
        um = UserManager(request)
        try:
            um.set_post()
            uid = um.create_profile().user_id
            if um.is_normal_user:
                update_ibs_user_from_crm(uid)
            elif um.is_company:
                um.set_company()
            if um.is_dedicate:
                um.set_dedicate()
            if request.user.is_superuser:
                if um.is_personnel:
                    um.unset_superuser()
                    um.set_personnel()
                elif um.is_superuser:
                    um.set_superuser()
            if um.is_personnel:
                if um.is_reseller:
                    um.create_reseller()
                else:
                    um.remove_reseller()
                if um.is_visitor:
                    um.create_visitor()
        except RequestProcessException as e:
            return e.get_response()
        except Exception as e:
            logger.error(e.message or e.args)
            return send_error(request, _('system error'))
        return HttpResponse('200')
    else:
        return render(request, 'errors/AccessDenied.html')