Example #1
0
def render(request, template, context):
    context['pages'] = user_profile.get_pages(request, context['profile'])
    for page in context['pages']:
        if page['is_active']:
            context['active_page'] = page
            break

    if request.user.is_authenticated():
        is_authenticated_user = context['profile'].pk == request.user.pk
    else:
        is_authenticated_user = False
    context['is_authenticated_user'] = is_authenticated_user

    user_acl = request.user.acl
    if request.user.is_authenticated():
        if is_authenticated_user:
            context['show_email'] = True
        else:
            context['show_email'] = user_acl['can_see_users_emails']
    else:
        context['show_email'] = False

    context['state'] = get_user_state(context['profile'], user_acl)

    if request.user.is_authenticated():
        try:
            allow_message_user(request.user, context['profile'])
            context['can_message'] = True
        except PermissionDenied as e:
            context['can_message'] = False
            context['cant_message_reason'] = e

    return django_render(request, template, context)
Example #2
0
def render(request, template, context):
    context['pages'] = user_profile.get_pages(request, context['profile'])
    for page in context['pages']:
        if page['is_active']:
            context['active_page'] = page
            break

    if request.user.is_authenticated():
        is_authenticated_user = context['profile'].pk == request.user.pk
    else:
        is_authenticated_user = False
    context['is_authenticated_user'] = is_authenticated_user

    user_acl = request.user.acl
    if request.user.is_authenticated():
        if is_authenticated_user:
            context['show_email'] = True
        else:
            context['show_email'] = user_acl['can_see_users_emails']
    else:
        context['show_email'] = False

    context['state'] = get_user_state(context['profile'], user_acl)

    if request.user.is_authenticated():
        try:
            allow_message_user(request.user, context['profile'])
            context['can_message'] = True
        except PermissionDenied as e:
            context['can_message'] = False
            context['cant_message_reason'] = e

    return django_render(request, template, context)
Example #3
0
def render(request, template, context):
    request.frontend_context['PROFILE_PAGES'] = []

    context['sections'] = user_profile.get_sections(request,
                                                    context['profile'])

    for section in context['sections']:
        request.frontend_context['PROFILE_PAGES'].append({
            'name':
            unicode(section['name']),
            'icon':
            section['icon'],
            'meta':
            section.get('metadata'),
            'component':
            section['component'],
        })

        if section['is_active']:
            context['active_section'] = section

    if request.user.is_authenticated():
        is_authenticated_user = context['profile'].pk == request.user.pk
    else:
        is_authenticated_user = False
    context['is_authenticated_user'] = is_authenticated_user

    user_acl = request.user.acl
    if request.user.is_authenticated():
        if is_authenticated_user:
            context['show_email'] = True
        else:
            context['show_email'] = user_acl['can_see_users_emails']
    else:
        context['show_email'] = False

    context['profile'].status = get_user_status(context['profile'], user_acl)

    if request.user.is_authenticated():
        try:
            allow_message_user(request.user, context['profile'])
            context['can_message'] = True
        except PermissionDenied as e:
            context['can_message'] = False
            context['cant_message_reason'] = e

    request.frontend_context['PROFILE'] = UserProfileSerializer(
        context['profile'], context={
            'user': request.user
        }).data

    return django_render(request, template, context)
Example #4
0
    def clean(self):
        cleaned_data = super(ThreadParticipantsForm, self).clean()

        if not cleaned_data.get('users'):
            raise forms.ValidationError(
                _("You have to specify message recipients."))

        clean_usernames = []
        for name in cleaned_data['users'].split(','):
            clean_name = name.strip().lower()
            if clean_name == self.user.slug:
                raise forms.ValidationError(
                    _("You can't addres message to yourself."))
            if clean_name not in clean_usernames:
                clean_usernames.append(clean_name)

        max_participants = self.user.acl['max_private_thread_participants']
        if max_participants and len(clean_usernames) > max_participants:
            message = ungettext(
                "You can't start private thread "
                "with more than than %(users)s user.",
                "You can't start private thread "
                "with more than than %(users)s users.", max_participants)
            message = message % {'users': max_participants}
            raise forms.ValidationError(message)

        users_qs = get_user_model().objects.filter(slug__in=clean_usernames)
        for user in users_qs:
            try:
                allow_message_user(self.user, user)
            except PermissionDenied as e:
                raise forms.ValidationError(unicode(e))
            self.users_cache.append(user)

        if len(self.users_cache) != len(clean_usernames):
            valid_usernames = [u.slug for u in self.users_cache]
            invalid_usernames = []
            for username in clean_usernames:
                if username not in valid_usernames:
                    invalid_usernames.append(username)
            message = _("One or more message recipients could "
                        "not be found: %(usernames)s")
            formats = {'usernames': ', '.join(invalid_usernames)}
            raise forms.ValidationError(message % formats)

        valid_usernames = [u.username for u in self.users_cache]
        cleaned_data['users'] = ','.join(valid_usernames)

        return cleaned_data
Example #5
0
    def clean(self):
        cleaned_data = super(ThreadParticipantsForm, self).clean()

        if not cleaned_data.get('users'):
            raise forms.ValidationError(
                _("You have to specify message recipients."))

        clean_usernames = []
        for name in cleaned_data['users'].split(','):
            clean_name = name.strip().lower()
            if clean_name == self.user.slug:
                raise forms.ValidationError(
                    _("You can't addres message to yourself."))
            if clean_name not in clean_usernames:
                clean_usernames.append(clean_name)

        max_participants = self.user.acl['max_private_thread_participants']
        if max_participants and len(clean_usernames) > max_participants:
            message = ungettext("You can't start private thread "
                                "with more than than %(users)s user.",
                                "You can't start private thread "
                                "with more than than %(users)s users.",
                                max_participants)
            message = message % {'users': max_participants}
            raise forms.ValidationError(message)

        users_qs = get_user_model().objects.filter(slug__in=clean_usernames)
        for user in users_qs:
            try:
                allow_message_user(self.user, user)
            except PermissionDenied as e:
                raise forms.ValidationError(unicode(e))
            self.users_cache.append(user)

        if len(self.users_cache) != len(clean_usernames):
            valid_usernames = [u.slug for u in self.users_cache]
            invalid_usernames = []
            for username in clean_usernames:
                if username not in valid_usernames:
                    invalid_usernames.append(username)
            message = _("One or more message recipients could "
                        "not be found: %(usernames)s")
            formats = {'usernames': ', '.join(invalid_usernames)}
            raise forms.ValidationError(message % formats)

        valid_usernames = [u.username for u in self.users_cache]
        cleaned_data['users'] = ','.join(valid_usernames)

        return cleaned_data
    def get_users(self, usernames):
        users = []
        for user in UserModel.objects.filter(slug__in=usernames):
            try:
                allow_message_user(self.context['user'], user)
            except PermissionDenied as e:
                raise serializers.ValidationError(six.text_type(e))
            users.append(user)

        if len(usernames) != len(users):
            invalid_usernames = set(usernames) - set([u.slug for u in users])
            sorted_usernames = sorted(invalid_usernames)

            message = _("One or more users could not be found: %(usernames)s")
            raise serializers.ValidationError(message % {'usernames': ', '.join(sorted_usernames)})

        return users
Example #7
0
def render(request, template, context):
    request.frontend_context['PROFILE_PAGES'] = []

    context['sections'] = user_profile.get_sections(request, context['profile'])

    for section in context['sections']:
        request.frontend_context['PROFILE_PAGES'].append({
            'name': unicode(section['name']),
            'icon': section['icon'],
            'meta': section.get('metadata'),
            'component': section['component'],
        })

        if section['is_active']:
            context['active_section'] = section

    if request.user.is_authenticated():
        is_authenticated_user = context['profile'].pk == request.user.pk
    else:
        is_authenticated_user = False
    context['is_authenticated_user'] = is_authenticated_user

    user_acl = request.user.acl
    if request.user.is_authenticated():
        if is_authenticated_user:
            context['show_email'] = True
        else:
            context['show_email'] = user_acl['can_see_users_emails']
    else:
        context['show_email'] = False

    context['profile'].status = get_user_status(context['profile'], user_acl)

    if request.user.is_authenticated():
        try:
            allow_message_user(request.user, context['profile'])
            context['can_message'] = True
        except PermissionDenied as e:
            context['can_message'] = False
            context['cant_message_reason'] = e

    request.frontend_context['PROFILE'] = UserProfileSerializer(
        context['profile'], context={'user': request.user}).data

    return django_render(request, template, context)
Example #8
0
    def get_users(self, usernames):
        users = []
        for user in UserModel.objects.filter(slug__in=usernames):
            try:
                allow_message_user(self.context['user'], user)
            except PermissionDenied as e:
                raise serializers.ValidationError(str(e))
            users.append(user)

        if len(usernames) != len(users):
            invalid_usernames = set(usernames) - set([u.slug for u in users])
            sorted_usernames = sorted(invalid_usernames)

            message = _("One or more users could not be found: %(usernames)s")
            raise serializers.ValidationError(
                message % {'usernames': ', '.join(sorted_usernames)})

        return users
Example #9
0
def render(request, template, context):
    context['sections'] = user_profile.get_sections(request, context['profile'])
    for section in context['sections']:
        if section['is_active']:
            context['active_section'] = section
            break

    if request.user.is_authenticated():
        is_authenticated_user = context['profile'].pk == request.user.pk
    else:
        is_authenticated_user = False
    context['is_authenticated_user'] = is_authenticated_user

    user_acl = request.user.acl
    if request.user.is_authenticated():
        if is_authenticated_user:
            context['show_email'] = True
        else:
            context['show_email'] = user_acl['can_see_users_emails']
    else:
        context['show_email'] = False

    context['status'] = get_user_status(context['profile'], user_acl)

    if request.user.is_authenticated():
        try:
            allow_message_user(request.user, context['profile'])
            context['can_message'] = True
        except PermissionDenied as e:
            context['can_message'] = False
            context['cant_message_reason'] = e

    request.frontend_context['PROFILE'] = UserProfileSerializer(
        context['profile'], context={'user': request.user}).data

    return django_render(request, template, context)