Revision 3e3743f2 snf-astakos-app/astakos/im/views.py
b/snf-astakos-app/astakos/im/views.py | ||
---|---|---|
1095 | 1095 |
@require_http_methods(["GET", "POST"]) |
1096 | 1096 |
@signed_terms_required |
1097 | 1097 |
@login_required |
1098 |
def project_update(request, application_id):
|
|
1098 |
def project_modify(request, application_id):
|
|
1099 | 1099 |
resource_groups = RESOURCES_PRESENTATION_DATA.get('groups', {}) |
1100 | 1100 |
resource_catalog = () |
1101 | 1101 |
result = callpoint.list_resources() |
... | ... | |
1133 | 1133 |
@signed_terms_required |
1134 | 1134 |
@login_required |
1135 | 1135 |
@transaction.commit_on_success |
1136 |
def project_app(request, application_id): |
|
1137 |
return common_detail(request, application_id, is_chain=False) |
|
1138 |
|
|
1139 |
@require_http_methods(["GET", "POST"]) |
|
1140 |
@signed_terms_required |
|
1141 |
@login_required |
|
1142 |
@transaction.commit_on_success |
|
1136 | 1143 |
def project_detail(request, chain_id): |
1137 |
addmembers_form = AddProjectMembersForm()
|
|
1138 |
if request.method == 'POST': |
|
1139 |
addmembers_form = AddProjectMembersForm(
|
|
1140 |
request.POST,
|
|
1141 |
chain_id=int(chain_id),
|
|
1142 |
request_user=request.user)
|
|
1143 |
if addmembers_form.is_valid():
|
|
1144 |
try:
|
|
1145 |
rollback = False
|
|
1146 |
chain_id = int(chain_id)
|
|
1147 |
map(lambda u: enroll_member(
|
|
1148 |
chain_id,
|
|
1149 |
u,
|
|
1150 |
request_user=request.user),
|
|
1151 |
addmembers_form.valid_users)
|
|
1152 |
except (IOError, PermissionDenied), e:
|
|
1153 |
messages.error(request, e)
|
|
1154 |
except BaseException, e:
|
|
1155 |
rollback = True
|
|
1156 |
messages.error(request, e)
|
|
1157 |
finally:
|
|
1158 |
if rollback == True:
|
|
1159 |
transaction.rollback()
|
|
1160 |
else:
|
|
1161 |
transaction.commit()
|
|
1162 |
addmembers_form = AddProjectMembersForm()
|
|
1144 |
return common_detail(request, chain_id)
|
|
1145 |
|
|
1146 |
def addmembers(request, chain_id):
|
|
1147 |
addmembers_form = AddProjectMembersForm(
|
|
1148 |
request.POST,
|
|
1149 |
chain_id=int(chain_id),
|
|
1150 |
request_user=request.user)
|
|
1151 |
if addmembers_form.is_valid():
|
|
1152 |
try:
|
|
1153 |
rollback = False
|
|
1154 |
chain_id = int(chain_id)
|
|
1155 |
map(lambda u: enroll_member(
|
|
1156 |
chain_id,
|
|
1157 |
u,
|
|
1158 |
request_user=request.user),
|
|
1159 |
addmembers_form.valid_users)
|
|
1160 |
except (IOError, PermissionDenied), e:
|
|
1161 |
messages.error(request, e)
|
|
1162 |
except BaseException, e:
|
|
1163 |
rollback = True
|
|
1164 |
messages.error(request, e)
|
|
1165 |
finally:
|
|
1166 |
if rollback == True:
|
|
1167 |
transaction.rollback()
|
|
1168 |
else:
|
|
1169 |
transaction.commit()
|
|
1163 | 1170 |
|
1164 |
rollback = False |
|
1171 |
def common_detail(request, common_id, is_chain=True): |
|
1172 |
if is_chain: |
|
1173 |
if request.method == 'POST': |
|
1174 |
addmembers(request, common_id) |
|
1165 | 1175 |
|
1166 |
project, application = get_by_chain_or_404(chain_id) |
|
1167 |
if project: |
|
1168 |
members = project.projectmembership_set.select_related() |
|
1169 |
else: |
|
1170 |
members = ProjectMembership.objects.none() |
|
1176 |
addmembers_form = AddProjectMembersForm() |
|
1177 |
|
|
1178 |
project, application = get_by_chain_or_404(common_id) |
|
1179 |
if project: |
|
1180 |
members = project.projectmembership_set.select_related() |
|
1181 |
members_table = tables.ProjectMembersTable(project, |
|
1182 |
members, |
|
1183 |
user=request.user, |
|
1184 |
prefix="members_") |
|
1185 |
RequestConfig(request, paginate={"per_page": PAGINATE_BY} |
|
1186 |
).configure(members_table) |
|
1187 |
|
|
1188 |
else: |
|
1189 |
members_table = None |
|
1171 | 1190 |
|
1172 |
members_table = tables.ProjectApplicationMembersTable(project, |
|
1173 |
members, |
|
1174 |
user=request.user, |
|
1175 |
prefix="members_") |
|
1176 |
RequestConfig(request, paginate={"per_page": PAGINATE_BY}).configure(members_table) |
|
1191 |
else: # is application |
|
1192 |
application = get_object_or_404(ProjectApplication, pk=common_id) |
|
1193 |
members_table = None |
|
1194 |
addmembers_form = None |
|
1177 | 1195 |
|
1178 | 1196 |
modifications_table = None |
1179 | 1197 |
|
1180 |
following_applications = list(application.followers())
|
|
1198 |
following_applications = list(application.pending_modifications())
|
|
1181 | 1199 |
following_applications.reverse() |
1182 |
modifications_table = \
|
|
1200 |
modifications_table = (
|
|
1183 | 1201 |
tables.ProjectModificationApplicationsTable(following_applications, |
1184 | 1202 |
user=request.user, |
1185 |
prefix="modifications_") |
|
1203 |
prefix="modifications_"))
|
|
1186 | 1204 |
|
1187 | 1205 |
return object_detail( |
1188 | 1206 |
request, |
... | ... | |
1192 | 1210 |
extra_context={ |
1193 | 1211 |
'addmembers_form':addmembers_form, |
1194 | 1212 |
'members_table': members_table, |
1195 |
'user_owns_project': request.user.owns_project(project),
|
|
1213 |
'user_owns_project': request.user.owns_application(application),
|
|
1196 | 1214 |
'modifications_table': modifications_table, |
1197 | 1215 |
'member_status': application.user_status(request.user) |
1198 | 1216 |
}) |
Also available in: Unified diff