27 from django.shortcuts
import render_to_response
28 from django.template
import RequestContext
29 from django.template.loader
import render_to_string
30 from django.utils.translation
import ugettext
as _
31 from django.views.decorators.csrf
import csrf_protect
33 from wi.utils
import messages_ajax, parsing
34 from wi.utils.decorators
import django_view
35 from wi.utils.decorators
import user_permission
36 from wi.utils.messages_ajax
import ajax_request
37 from wi.utils.states
import user_groups_states_reversed
38 from wi.utils.views
import prep_data
50 if request.method ==
'POST':
51 prep_data((
'user/group/join_request/', {
'group_id': group_id}), request.session)
53 return messages_ajax.success(_(
'You have successfully sent a request.'))
55 return messages_ajax.success(render_to_string(template_name,
56 {
'confirmation': _(
'Yes'),
57 'text': _(
'Do you want to send a request?')},
58 context_instance=RequestContext(request)))
69 if request.method ==
'GET':
70 rest_data =
prep_data({
'own_groups':
'user/group/list_own_groups/',
71 'my_groups':
'user/group/list_groups/'}, request.session)
73 leader = parsing.parse_own_groups(rest_data)
75 for item
in rest_data[
'my_groups']:
76 item[
'amILeader'] =
True if item[
'group_id']
in leader
else False
78 return messages_ajax.success(rest_data[
'my_groups'])
89 if request.method ==
'GET':
90 all_groups =
prep_data(
'user/group/get_list/', request.session)
92 for item
in all_groups:
93 item[
'user_statusName'] = unicode(user_groups_states_reversed[item[
'user_status']])
95 return messages_ajax.success(all_groups)
104 def grp_details(request, group_id, template_name='groups/group_details.html'):
105 rest_data =
prep_data({
'groups':
'user/group/list_groups/',
106 'group_data': (
'user/group/get_by_id/', {
'group_id': group_id})},
109 group = rest_data[
'group_data']
110 my_groups = parsing.parse_groups_ids(rest_data)
112 group[
'leader_self'] =
True if group[
'leader_id'] == request.session[
'user'].user_id
else False
113 group[
'member'] =
True if group[
'group_id']
in my_groups
else False
115 return render_to_response(template_name, {
'group': group}, context_instance=RequestContext(request))
126 if request.method ==
'GET':
127 user = request.session[
'user']
128 rest_data =
prep_data({
'group_data': (
'user/group/get_by_id/', {
'group_id': group_id}),
129 'members': (
'user/group/list_members/', {
'group_id': group_id}),
130 'requests': (
'user/group/list_requests/', {
'group_id': group_id})},
133 leader_id = rest_data[
'group_data'].
get(
'leader_id')
138 if int(user.user_id) != int(leader_id):
141 for item
in rest_data[
'members']:
142 item[
'request'] =
False
143 item[
'leader'] = leader
144 item[
'self'] =
True if int(item[
'user_id']) == int(user.user_id)
else False
145 item[
'group_id'] = group_id
146 for item
in rest_data[
'requests']:
147 item[
'request'] =
True
148 item[
'leader'] = leader
149 item[
'self'] =
True if int(item[
'user_id']) == int(user.user_id)
else False
150 item[
'group_id'] = group_id
152 return messages_ajax.success([{
'name':_(
'Members:'),
'items': rest_data[
'members']},
153 {
'name':_(
'Requests:'),
'items': rest_data[
'requests']}])