Beispiel #1
0
def edit_user(request, user_id):
    current_user = request.fmsuser
    users = FMSUser.objects.all()
    if current_user.organisation:
        users = users.filter(organisation=current_user.organisation)
    elif not request.user.is_superuser:
        raise PermissionDenied()

    users = users.filter(logical_deleted=False)

    user_to_edit = users.get(id=user_id)
    can_edit = current_user.leader and not user_to_edit.leader

    if request.method == "POST" and can_edit:
        user_form = FmsUserForm(request.POST, instance=user_to_edit)
        if user_form.is_valid():
            user_form.save()
            messages.add_message(request, messages.SUCCESS, _("User has been updated successfully"))
            return HttpResponseRedirect(reverse('list_users'))
    else:
        user_form = FmsUserForm(instance=user_to_edit)

    return render_to_response("pro/auth/user_edit.html", {
        'can_edit': can_edit,
        'user_form': user_form
    }, context_instance=RequestContext(request))
Beispiel #2
0
def edit_user(request, user_id):
    current_user = request.fmsuser
    users = FMSUser.objects.all()
    if current_user.organisation:
        users = users.filter(organisation=current_user.organisation)
    elif not request.user.is_superuser:
        raise PermissionDenied()

    users = users.filter(logical_deleted=False)

    user_to_edit = users.get(id=user_id)
    can_edit = current_user.leader and not user_to_edit.leader

    if request.method == "POST" and can_edit:
        user_form = FmsUserForm(request.POST, instance=user_to_edit)
        if user_form.is_valid():
            user_form.save()
            messages.add_message(request, messages.SUCCESS,
                                 _("User has been updated successfully"))
            return HttpResponseRedirect(reverse('list_users'))
    else:
        user_form = FmsUserForm(instance=user_to_edit)

    return render_to_response("pro/auth/user_edit.html", {
        'can_edit': can_edit,
        'user_form': user_form
    },
                              context_instance=RequestContext(request))
Beispiel #3
0
    def test_pro_with_citizen_email(self):
        citizen = FMSUser(
            telephone="0123456789",
            first_name="citizen",
            last_name="citizen",
            email="*****@*****.**",
        )
        citizen.save()

        pro_data = {
            "email"    : citizen.email,
            "last_name": "user",
            "telephone": "123456789",
            "quality"  : 1
        }

        # Create a pro user
        pro_form = FmsUserForm(pro_data)

        # Form has to be INVALID because a citizen uses this email
        self.assertFalse(pro_form.is_valid())
        self.assertTrue(pro_form.errors)
    def test_pro_with_citizen_email(self):
        citizen = FMSUser(
            telephone="0123456789",
            first_name="citizen",
            last_name="citizen",
            email="*****@*****.**",
        )
        citizen.save()

        pro_data = {
            "email": citizen.email,
            "last_name": "user",
            "telephone": "123456789",
            "quality": 1
        }

        # Create a pro user
        pro_form = FmsUserForm(pro_data)

        # Form has to be INVALID because a citizen uses this email
        self.assertFalse(pro_form.is_valid())
        self.assertTrue(pro_form.errors)
    def test_double_pro_case_insensitive(self):
        pro_data = {
            "email": "*****@*****.**",
            "last_name": "user",
            "telephone": "123456789",
            "quality": 1
        }

        # Create first pro
        pro_form = FmsUserForm(pro_data)

        # Form has to be valid
        self.assertTrue(pro_form.is_valid())
        pro_form.save()

        # Create second pro with a caps in email
        pro_data['email'] = pro_data['email'].upper()
        pro_form = FmsUserForm(pro_data)

        # Form has to be INVALID because the email is already existing
        self.assertFalse(pro_form.is_valid())
        self.assertTrue(pro_form.errors)
Beispiel #6
0
    def test_double_pro_case_insensitive(self):
        pro_data = {
            "email"    : "*****@*****.**",
            "last_name": "user",
            "telephone": "123456789",
            "quality"  : 1
        }

        # Create first pro
        pro_form = FmsUserForm(pro_data)

        # Form has to be valid
        self.assertTrue(pro_form.is_valid())
        pro_form.save()

        # Create second pro with a caps in email
        pro_data['email'] = pro_data['email'].upper()
        pro_form          = FmsUserForm(pro_data)

        # Form has to be INVALID because the email is already existing
        self.assertFalse(pro_form.is_valid())
        self.assertTrue(pro_form.errors)