1 from django.contrib.auth.decorators import login_required
2 from django.db.models import Q
3 from django.views.generic.base import TemplateView
4 from django.views.generic.edit import UpdateView
5 from django.views.generic.list import ListView
6 from django.core.urlresolvers import reverse_lazy
8 from .models import User
11 class ProfileView(TemplateView):
12 template_name = 'aa/profile.html'
15 profile_view = login_required(ProfileView.as_view())
18 class ProfileContactEditView(UpdateView):
20 fields = ['phone', 'mobile', 'share_contact_details']
21 success_url = reverse_lazy('profile-view')
24 return self.request.user
27 profile_contact_edit = login_required(ProfileContactEditView.as_view())
30 class MembersListView(ListView):
33 def get_queryset(self):
34 qs = User.objects.filter(is_active=True)
35 if self.request.GET.get('q'):
36 for part in self.request.GET.get('q').split():
40 qs = qs.filter(Q(first_name__icontains=part) | Q(last_name__icontains=part))
44 members_list_view = login_required(MembersListView.as_view())