diff --git a/alliance_auth/urls.py b/alliance_auth/urls.py index 313265c8..2ecc97a8 100755 --- a/alliance_auth/urls.py +++ b/alliance_auth/urls.py @@ -136,10 +136,19 @@ urlpatterns = patterns('', # SRP URLS url(r'^srp/$', 'srp.views.srp_management', name='auth_srp_management_view'), + url(r'^srp_all/$', 'srp.views.srp_management_all', name='auth_srp_management_all_view'), url(r'^srp_fleet_view/(\w+)$', 'srp.views.srp_fleet_view', name='auth_srp_fleet_view'), url(r'^srp_fleet_add_view/$', 'srp.views.srp_fleet_add_view', name='auth_srp_fleet_add_view'), url(r'^srp_fleet_remove/(\w+)$', 'srp.views.srp_fleet_remove', name='auth_srp_flet_remove'), + url(r'^srp_fleet_mark_completed/(\w+)', 'srp.views.srp_fleet_mark_completed', + name='auth_srp_fleet_mark_completed'), + url(r'^srp_fleet_mark_uncompleted/(\w+)', 'srp.views.srp_fleet_mark_uncompleted', + name='auth_srp_fleet_mark_uncompleted'), url(r'^srp_request/(\w+)', 'srp.views.srp_request_view', name='auth_srp_request_view'), url(r'^srp_request_remove/(\w+)', 'srp.views.srp_request_remove', name="auth_srp_request_remove"), + url(r'srp_request_approve/(\w+)', 'srp.views.srp_request_approve', + name='auth_srp_request_approve'), + url(r'srp_request_reject/(\w+)', 'srp.views.srp_request_reject', name='auth_srp_request_reject'), + ) \ No newline at end of file diff --git a/srp/models.py b/srp/models.py index 522906fd..a7fe3ab9 100755 --- a/srp/models.py +++ b/srp/models.py @@ -8,6 +8,7 @@ class SrpFleetMain(models.Model): fleet_doctrine = models.CharField(max_length=254, default="") fleet_time = models.DateTimeField() fleet_srp_code = models.CharField(max_length=254, default="", unique=True) + fleet_srp_status = models.CharField(max_length=254, default="") fleet_commander = models.ForeignKey(EveCharacter) def __str__(self): @@ -16,7 +17,9 @@ class SrpFleetMain(models.Model): class SrpUserRequest(models.Model): killboard_link = models.CharField(max_length=254, default="") + after_action_report_link = models.CharField(max_length=254, default="") additional_info = models.CharField(max_length=254, default="") + srp_status = models.CharField(max_length=254, default="") character = models.ForeignKey(EveCharacter) srp_fleet_main = models.ForeignKey(SrpFleetMain) diff --git a/srp/views.py b/srp/views.py index ce6f8930..c5ebe8a2 100755 --- a/srp/views.py +++ b/srp/views.py @@ -22,6 +22,13 @@ def srp_util_test(user): @login_required @user_passes_test(srp_util_test) def srp_management(request): + context = {"srpfleets": SrpFleetMain.objects.filter(fleet_srp_status="")} + return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request)) + + +@login_required +@user_passes_test(srp_util_test) +def srp_management_all(request): context = {"srpfleets": SrpFleetMain.objects.all()} return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request)) @@ -31,7 +38,8 @@ def srp_management(request): def srp_fleet_view(request, fleet_id): if SrpFleetMain.objects.filter(id=fleet_id): fleet_main = SrpFleetMain.objects.get(id=fleet_id) - context = {"srpfleetrequests": SrpUserRequest.objects.filter(srp_fleet_main=fleet_main)} + context = {"fleet_id": fleet_id, "fleet_status": fleet_main.fleet_srp_status, + "srpfleetrequests": SrpUserRequest.objects.filter(srp_fleet_main=fleet_main)} return render_to_response('registered/srpfleetdata.html', context, context_instance=RequestContext(request)) @@ -82,6 +90,28 @@ def srp_fleet_remove(request, fleet_id): return HttpResponseRedirect("/srp") +@login_required +@permission_required('auth.srp_management') +def srp_fleet_mark_completed(request, fleet_id): + if SrpFleetMain.objects.filter(id=fleet_id).exists(): + srpfleetmain = SrpFleetMain.objects.get(id=fleet_id) + srpfleetmain.fleet_srp_status = "Completed" + srpfleetmain.save() + + return HttpResponseRedirect("/srp_fleet_view/" + str(fleet_id)) + + +@login_required +@permission_required('auth.srp_management') +def srp_fleet_mark_uncompleted(request, fleet_id): + if SrpFleetMain.objects.filter(id=fleet_id).exists(): + srpfleetmain = SrpFleetMain.objects.get(id=fleet_id) + srpfleetmain.fleet_srp_status = "" + srpfleetmain.save() + + return HttpResponseRedirect("/srp_fleet_view/" + str(fleet_id)) + + @login_required @user_passes_test(srp_util_test) def srp_request_view(request, fleet_srp): @@ -127,6 +157,40 @@ def srp_request_remove(request, srp_request_id): stored_fleet_view = srpuserrequest.srp_fleet_main.id srpuserrequest.delete() + if stored_fleet_view is None: + return HttpResponseRedirect("/srp") + else: + return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view)) + + +@login_required +@permission_required('auth.srp_management') +def srp_request_approve(request, srp_request_id): + stored_fleet_view = None + + if SrpUserRequest.objects.filter(id=srp_request_id).exists(): + srpuserrequest = SrpUserRequest.objects.get(id=srp_request_id) + stored_fleet_view = srpuserrequest.srp_fleet_main.id + srpuserrequest.srp_status = "Approved" + srpuserrequest.save() + + if stored_fleet_view is None: + return HttpResponseRedirect("/srp") + else: + return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view)) + + +@login_required +@permission_required('auth.srp_management') +def srp_request_reject(request, srp_request_id): + stored_fleet_view = None + + if SrpUserRequest.objects.filter(id=srp_request_id).exists(): + srpuserrequest = SrpUserRequest.objects.get(id=srp_request_id) + stored_fleet_view = srpuserrequest.srp_fleet_main.id + srpuserrequest.srp_status = "Rejected" + srpuserrequest.save() + if stored_fleet_view is None: return HttpResponseRedirect("/srp") else: diff --git a/templates/registered/srpfleetdata.html b/templates/registered/srpfleetdata.html index 9b95dff1..5b8ac9ac 100755 --- a/templates/registered/srpfleetdata.html +++ b/templates/registered/srpfleetdata.html @@ -11,12 +11,26 @@

SRP Fleet Data +
+ {% if perms.auth.srp_management %} + {% if fleet_status == "Completed" %} + + + + {% else %} + + + + {% endif %} + {% endif %} +

+ {% if perms.auth.srp_management %} {% endif %} @@ -33,12 +47,35 @@ target="_blank">{{ srpfleetrequest.killboard_link }} + {% if perms.auth.srp_management %} - {% endif %} diff --git a/templates/registered/srpmanagement.html b/templates/registered/srpmanagement.html index 8befc2bf..3f4d8984 100755 --- a/templates/registered/srpmanagement.html +++ b/templates/registered/srpmanagement.html @@ -13,8 +13,11 @@

SRP Management
{% if perms.auth.srp_management %} + + + - + {% endif %}
@@ -25,9 +28,8 @@

- {% if perms.auth.srp_management %} - - {% endif %} + + {% for srpfleet in srpfleets %} @@ -44,13 +46,24 @@ {{ srpfleet.fleet_commander.character_name }} - {% if perms.auth.timer_management %} - +
Pilot Name Killboard Link Additional InfoStatusActions {{ srpfleetrequest.additional_info }} + {% if srpfleetrequest.srp_status == "Approved" %} +
+ Approved +
+ {% elif srpfleetrequest.srp_status == "Rejected" %} +
+ Rejected +
+ {% else %} +
+ Pending +
+ {% endif %} +
+ + + + + + + + class="glyphicon glyphicon-trash"> Fleet Time Fleet Doctrine Fleet CommanderFleet SRP CodeFleet SRP CodeSRP Status Actions
-
- {{ srpfleet.fleet_srp_code }} + +
+ + + {% if srpfleet.fleet_srp_status == "" %} +
+ Pending
- - {% endif %} + {% else %} +
+ Completed +
+ {% endif %} +