From 4556a0e740cc3b01afee52fbd67062c1c8b5f761 Mon Sep 17 00:00:00 2001 From: iAddz Date: Wed, 3 May 2017 21:55:10 +0100 Subject: [PATCH] SRP QOL + Validation (#786) - new UI for srp management (mass performs, inline editing) - unique validation for srp killboard links - character auth ownership verification for killboard links - removed remnants of old error messaging system & replaced with current standard - added a confirmation popup when deleting fleet SRP's --- alliance_auth/urls.py | 11 +- services/managers/srp_manager.py | 3 +- srp/form.py | 4 - srp/views.py | 190 +++++++------ stock/static/css/checkbox.css | 58 ++++ stock/templates/bundles/x-editable-js.html | 4 + stock/templates/bundles/x-editable.css.html | 4 + stock/templates/registered/srpfleetdata.html | 250 ++++++++++++------ .../templates/registered/srpfleetrequest.html | 25 +- .../registered/srpfleetrequestamount.html | 31 --- stock/templates/registered/srpmanagement.html | 4 +- 11 files changed, 355 insertions(+), 229 deletions(-) create mode 100644 stock/static/css/checkbox.css create mode 100644 stock/templates/bundles/x-editable-js.html create mode 100644 stock/templates/bundles/x-editable.css.html delete mode 100755 stock/templates/registered/srpfleetrequestamount.html diff --git a/alliance_auth/urls.py b/alliance_auth/urls.py index 5ccbc7dc..ec817f45 100755 --- a/alliance_auth/urls.py +++ b/alliance_auth/urls.py @@ -55,11 +55,14 @@ urlpatterns = [ 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_remove/(\w+)', srp.views.srp_request_remove, + url(r'^srp_request_remove/', srp.views.srp_request_remove, name="auth_srp_request_remove"), - url(r'srp_request_approve/(\w+)', srp.views.srp_request_approve, + url(r'srp_request_approve/', 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'), + url(r'srp_request_reject/', srp.views.srp_request_reject, + name='auth_srp_request_reject'), + url(_(r'srp_request_amount_update/(\w+)'), srp.views.srp_request_update_amount, + name="auth_srp_request_update_amount"), # Notifications url(r'^remove_notifications/(\w+)/$', notifications.views.remove_notification, name='auth_remove_notification'), @@ -179,8 +182,6 @@ urlpatterns += i18n_patterns( url(_(r'^srp_fleet_add_view/$'), srp.views.srp_fleet_add_view, name='auth_srp_fleet_add_view'), url(_(r'^srp_fleet_edit/(\w+)$'), srp.views.srp_fleet_edit_view, name='auth_srp_fleet_edit_view'), url(_(r'^srp_request/(\w+)'), srp.views.srp_request_view, name='auth_srp_request_view'), - url(_(r'srp_request_amount_update/(\w+)'), srp.views.srp_request_update_amount_view, - name="auth_srp_request_update_amount_view"), # Tools url(_(r'^tool/fleet_formatter_tool/$'), services.views.fleet_formatter_view, diff --git a/services/managers/srp_manager.py b/services/managers/srp_manager.py index a71c3ca2..94bca0db 100644 --- a/services/managers/srp_manager.py +++ b/services/managers/srp_manager.py @@ -31,6 +31,7 @@ class srpManager: logger.debug("Ship type for kill ID %s is determined to be %s" % (kill_id, ship_type)) ship_value = result['zkb']['totalValue'] logger.debug("total loss value for kill id %s is %s" % (kill_id, ship_value)) - return ship_type, ship_value + victim_name = result['victim']['characterName'] + return ship_type, ship_value, victim_name else: raise ValueError("Invalid Kill ID") diff --git a/srp/form.py b/srp/form.py index 2d0d6504..036d6438 100755 --- a/srp/form.py +++ b/srp/form.py @@ -25,9 +25,5 @@ class SrpFleetUserRequestForm(forms.Form): return data -class SrpFleetUpdateCostForm(forms.Form): - srp_total_amount = forms.IntegerField(required=True, label=_("Total SRP Amount")) - - class SrpFleetMainUpdateForm(forms.Form): fleet_aar_link = forms.CharField(required=True, label=_("After Action Report Link")) diff --git a/srp/views.py b/srp/views.py index 775a7f96..1c8cb3b5 100755 --- a/srp/views.py +++ b/srp/views.py @@ -3,13 +3,13 @@ from django.shortcuts import render, redirect from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import permission_required from django.contrib import messages +from django.http import JsonResponse from eveonline.managers import EveManager from authentication.models import AuthServicesInfo from srp.models import SrpFleetMain from srp.models import SrpUserRequest from srp.form import SrpFleetMainForm from srp.form import SrpFleetUserRequestForm -from srp.form import SrpFleetUpdateCostForm from srp.form import SrpFleetMainUpdateForm from services.managers.srp_manager import srpManager from notifications import notify @@ -58,7 +58,7 @@ def srp_fleet_view(request, fleet_id): if SrpFleetMain.objects.filter(id=fleet_id).exists(): fleet_main = SrpFleetMain.objects.get(id=fleet_id) context = {"fleet_id": fleet_id, "fleet_status": fleet_main.fleet_srp_status, - "srpfleetrequests": fleet_main.srpuserrequest_set.all(), + "srpfleetrequests": fleet_main.srpuserrequest_set.order_by('srp_ship_name'), "totalcost": fleet_main.total_cost} return render(request, 'registered/srpfleetdata.html', context=context) @@ -194,18 +194,23 @@ def srp_fleet_mark_uncompleted(request, fleet_id): @members_and_blues() def srp_request_view(request, fleet_srp): logger.debug("srp_request_view called by user %s for fleet srp code %s" % (request.user, fleet_srp)) - completed = False - no_srp_code = False if SrpFleetMain.objects.filter(fleet_srp_code=fleet_srp).exists() is False: - no_srp_code = True logger.error("Unable to locate SRP Fleet using code %s for user %s" % (fleet_srp, request.user)) + messages.error(request, + _('Unable to locate SRP code with ID %(srpfleetid)s') % {"srpfleetid": fleet_srp}) + return redirect("auth_srp_management_view") if request.method == 'POST': form = SrpFleetUserRequestForm(request.POST) logger.debug("Request type POST contains form valid: %s" % form.is_valid()) if form.is_valid(): + if SrpUserRequest.objects.filter(killboard_link=form.cleaned_data['killboard_link']).exists(): + messages.error(request, + _("This Killboard link has already been posted.")) + return redirect("auth_srp_management_view") + authinfo = AuthServicesInfo.objects.get(user=request.user) character = EveManager.get_character_by_id(authinfo.main_char_id) srp_fleet_main = SrpFleetMain.objects.get(fleet_srp_code=fleet_srp) @@ -219,7 +224,7 @@ def srp_request_view(request, fleet_srp): try: srp_kill_link = srpManager.get_kill_id(srp_request.killboard_link) - (ship_type_id, ship_value) = srpManager.get_kill_data(srp_kill_link) + (ship_type_id, ship_value, victim_name) = srpManager.get_kill_data(srp_kill_link) except ValueError: logger.debug("User %s Submitted Invalid Killmail Link %s or server could not be reached" % ( request.user, srp_request.killboard_link)) @@ -227,117 +232,138 @@ def srp_request_view(request, fleet_srp): messages.error(request, _("Your SRP request Killmail link is invalid. Please make sure you are using zKillboard.")) return redirect("auth_srp_management_view") - srp_ship_name = EveManager.get_itemtype(ship_type_id).name - srp_request.srp_ship_name = srp_ship_name - kb_total_loss = ship_value - srp_request.kb_total_loss = kb_total_loss - srp_request.post_time = post_time - srp_request.save() - completed = True - logger.info("Created SRP Request on behalf of user %s for fleet name %s" % ( - request.user, srp_fleet_main.fleet_name)) - messages.success(request, _('Submitted SRP request for your %(ship)s.') % {"ship": srp_ship_name}) + characters = EveManager.get_characters_by_owner_id(request.user.id) + for character in characters: + if character.character_name == victim_name: + srp_request.srp_ship_name = EveManager.get_itemtype(ship_type_id).name + srp_request.kb_total_loss = ship_value + srp_request.post_time = post_time + srp_request.save() + logger.info("Created SRP Request on behalf of user %s for fleet name %s" % ( + request.user, srp_fleet_main.fleet_name)) + messages.success(request, _('Submitted SRP request for your %(ship)s.') % {"ship": srp_request.srp_ship_name}) + return redirect("auth_srp_management_view") + else: + continue + messages.error(request, + _("%(charname)s does not belong to your Auth account. Please add the API key for this character and try again") + % {"charname": victim_name}) + return redirect("auth_srp_management_view") else: logger.debug("Returning blank SrpFleetUserRequestForm") form = SrpFleetUserRequestForm() - render_items = {'form': form, "completed": completed, "no_srp_code": no_srp_code} + render_items = {'form': form} return render(request, 'registered/srpfleetrequest.html', context=render_items) @login_required @permission_required('auth.srp_management') -def srp_request_remove(request, srp_request_id): - logger.debug("srp_request_remove called by user %s for srp request id %s" % (request.user, srp_request_id)) +def srp_request_remove(request): + numrequests = len(request.POST)-1 + logger.debug("srp_request_remove called by user %s for %s srp request id's" % (request.user, numrequests)) 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.delete() - logger.info("Deleted SRP request id %s for user %s" % (srp_request_id, request.user)) - messages.success(request, _('Deleted SRP request from %(character)s for their %(ship)s.') % { - "character": srpuserrequest.character, "ship": srpuserrequest.srp_ship_name}) + for srp_request_id in request.POST: + if numrequests == 0: + messages.warning(request, _("No SRP requests selected")) + return redirect("auth_srp_management_view") + if srp_request_id == "csrfmiddlewaretoken": + continue + 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.delete() + logger.info("Deleted SRP request id %s for user %s" % (srp_request_id, request.user)) if stored_fleet_view is None: logger.error("Unable to delete srp request id %s for user %s - request matching id not found." % ( srp_request_id, request.user)) messages.error(request, _('Unable to locate SRP request with ID %(requestid)s') % {"requestid": srp_request_id}) return redirect("auth_srp_management_view") else: + messages.success(request, _('Deleted %(numrequests)s SRP requests') % {"numrequests": numrequests}) return redirect("auth_srp_fleet_view", stored_fleet_view) @login_required @permission_required('auth.srp_management') -def srp_request_approve(request, srp_request_id): - logger.debug("srp_request_approve called by user %s for srp request id %s" % (request.user, srp_request_id)) +def srp_request_approve(request): + numrequests = len(request.POST)-1 + logger.debug("srp_request_approve called by user %s for %s srp request id's" % (request.user, numrequests)) 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" - if srpuserrequest.srp_total_amount == 0: - srpuserrequest.srp_total_amount = srpuserrequest.kb_total_loss - srpuserrequest.save() - logger.info("Approved SRP request id %s for character %s by user %s" % ( - srp_request_id, srpuserrequest.character, request.user)) - messages.success(request, _('Approved SRP request from %(character)s for their %(ship)s.') % { - "character": srpuserrequest.character, "ship": srpuserrequest.srp_ship_name}) - notify( - srpuserrequest.character.user, - 'SRP Request Approved', - level='success', - message='Your SRP request for a %s lost during %s has been approved for %s ISK.' % ( - srpuserrequest.srp_ship_name, srpuserrequest.srp_fleet_main.fleet_name, srpuserrequest.srp_total_amount) - ) + for srp_request_id in request.POST: + if numrequests == 0: + messages.warning(request, _("No SRP requests selected")) + return redirect("auth_srp_management_view") + if srp_request_id == "csrfmiddlewaretoken": + continue + 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" + if srpuserrequest.srp_total_amount == 0: + srpuserrequest.srp_total_amount = srpuserrequest.kb_total_loss + srpuserrequest.save() + logger.info("Approved SRP request id %s for character %s by user %s" % ( + srp_request_id, srpuserrequest.character, request.user)) + notify( + srpuserrequest.character.user, + 'SRP Request Approved', + level='success', + message='Your SRP request for a %s lost during %s has been approved for %s ISK.' % ( + srpuserrequest.srp_ship_name, srpuserrequest.srp_fleet_main.fleet_name, srpuserrequest.srp_total_amount) + ) if stored_fleet_view is None: logger.error("Unable to approve srp request id %s on behalf of user %s - request matching id not found." % ( srp_request_id, request.user)) messages.error(request, _('Unable to locate SRP request with ID %(requestid)s') % {"requestid": srp_request_id}) return redirect("auth_srp_management_view") else: + messages.success(request, _('Approved %(numrequests)s SRP requests') % {"numrequests": numrequests}) return redirect("auth_srp_fleet_view", stored_fleet_view) @login_required @permission_required('auth.srp_management') -def srp_request_reject(request, srp_request_id): - logger.debug("srp_request_reject called by user %s for srp request id %s" % (request.user, srp_request_id)) +def srp_request_reject(request): + numrequests = len(request.POST)-1 + logger.debug("srp_request_reject called by user %s for %s srp request id's" % (request.user, numrequests)) 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() - logger.info("SRP request id %s for character %s rejected by %s" % ( - srp_request_id, srpuserrequest.character, request.user)) - messages.success(request, _('Rejected SRP request from %(character)s for their %(ship)s.') % { - "character": srpuserrequest.character, "ship": srpuserrequest.srp_ship_name}) - notify( - srpuserrequest.character.user, - 'SRP Request Rejected', - level='danger', - message='Your SRP request for a %s lost during %s has been rejected.' % ( - srpuserrequest.srp_ship_name, srpuserrequest.srp_fleet_main.fleet_name) - ) - + for srp_request_id in request.POST: + if numrequests == 0: + messages.warning(request, _("No SRP requests selected")) + return redirect("auth_srp_management_view") + if srp_request_id == "csrfmiddlewaretoken": + continue + 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() + logger.info("SRP request id %s for character %s rejected by %s" % ( + srp_request_id, srpuserrequest.character, request.user)) + notify( + srpuserrequest.character.user, + 'SRP Request Rejected', + level='danger', + message='Your SRP request for a %s lost during %s has been rejected.' % ( + srpuserrequest.srp_ship_name, srpuserrequest.srp_fleet_main.fleet_name) + ) if stored_fleet_view is None: logger.error("Unable to reject SRP request id %s on behalf of user %s - request matching id not found." % ( srp_request_id, request.user)) messages.error(request, _('Unable to locate SRP request with ID %(requestid)s') % {"requestid": srp_request_id}) return redirect("auth_srp_management_view") else: + messages.success(request, _('Rejected %(numrequests)s SRP requests.') % {"numrequests": numrequests}) return redirect("auth_srp_fleet_view", stored_fleet_view) @login_required @permission_required('auth.srp_management') -def srp_request_update_amount_view(request, fleet_srp_request_id): - logger.debug("srp_request_update_amount_view called by user %s for fleet srp request id %s" % ( +def srp_request_update_amount(request, fleet_srp_request_id): + logger.debug("srp_request_update_amount called by user %s for fleet srp request id %s" % ( request.user, fleet_srp_request_id)) if SrpUserRequest.objects.filter(id=fleet_srp_request_id).exists() is False: @@ -345,24 +371,12 @@ def srp_request_update_amount_view(request, fleet_srp_request_id): messages.error(request, _('Unable to locate SRP request with ID %(requestid)s') % {"requestid": fleet_srp_request_id}) return redirect("auth_srp_management_view") - if request.method == 'POST': - form = SrpFleetUpdateCostForm(request.POST) - logger.debug("Request type POST contains form valid: %s" % form.is_valid()) - if form.is_valid(): - srp_request = SrpUserRequest.objects.get(id=fleet_srp_request_id) - srp_request.srp_total_amount = form.cleaned_data['srp_total_amount'] - srp_request.save() - logger.info("Updated srp request id %s total to %s by user %s" % ( - fleet_srp_request_id, form.cleaned_data['srp_total_amount'], request.user)) - messages.success(request, _('Updated SRP amount.')) - return redirect("auth_srp_fleet_view", srp_request.srp_fleet_main.id) - else: - logger.debug("Returning blank SrpFleetUpdateCostForm") - form = SrpFleetUpdateCostForm() - - render_items = {'form': form} - - return render(request, 'registered/srpfleetrequestamount.html', context=render_items) + srp_request = SrpUserRequest.objects.get(id=fleet_srp_request_id) + srp_request.srp_total_amount = request.POST['value'] + srp_request.save() + logger.info("Updated srp request id %s total to %s by user %s" % ( + fleet_srp_request_id, request.POST['value'], request.user)) + return JsonResponse({"success":True,"pk":fleet_srp_request_id,"newValue":request.POST['value']}) @login_required diff --git a/stock/static/css/checkbox.css b/stock/static/css/checkbox.css new file mode 100644 index 00000000..6c2eb2f1 --- /dev/null +++ b/stock/static/css/checkbox.css @@ -0,0 +1,58 @@ +.checkbox label:after, +.radio label:after { + content: ''; + display: table; + clear: both; +} + +.checkbox .cr, +.radio .cr { + position: relative; + display: inline-block; + border: 1px solid #a9a9a9; + border-radius: .25em; + width: 1.3em; + height: 1.3em; + float: left; + margin-right: .5em; +} + +.radio .cr { + border-radius: 50%; +} + +.checkbox .cr .cr-icon, +.radio .cr .cr-icon { + position: absolute; + font-size: .8em; + line-height: 0; + top: 50%; + left: 20%; +} + +.radio .cr .cr-icon { + margin-left: 0.04em; +} + +.checkbox label input[type="checkbox"], +.radio label input[type="radio"] { + display: none; +} + +.checkbox label input[type="checkbox"] + .cr > .cr-icon, +.radio label input[type="radio"] + .cr > .cr-icon { + transform: scale(3) rotateZ(-20deg); + opacity: 0; + transition: all .3s ease-in; +} + +.checkbox label input[type="checkbox"]:checked + .cr > .cr-icon, +.radio label input[type="radio"]:checked + .cr > .cr-icon { + transform: scale(1) rotateZ(0deg); + opacity: 1; +} + +.checkbox label input[type="checkbox"]:disabled + .cr, +.radio label input[type="radio"]:disabled + .cr { + opacity: .5; +} \ No newline at end of file diff --git a/stock/templates/bundles/x-editable-js.html b/stock/templates/bundles/x-editable-js.html new file mode 100644 index 00000000..ab132384 --- /dev/null +++ b/stock/templates/bundles/x-editable-js.html @@ -0,0 +1,4 @@ +{% load static %} + + + diff --git a/stock/templates/bundles/x-editable.css.html b/stock/templates/bundles/x-editable.css.html new file mode 100644 index 00000000..535d4b40 --- /dev/null +++ b/stock/templates/bundles/x-editable.css.html @@ -0,0 +1,4 @@ +{% load staticfiles %} + + + diff --git a/stock/templates/registered/srpfleetdata.html b/stock/templates/registered/srpfleetdata.html index ce526b04..1bbbe862 100755 --- a/stock/templates/registered/srpfleetdata.html +++ b/stock/templates/registered/srpfleetdata.html @@ -7,7 +7,42 @@ {% block title %}Alliance Auth{% endblock %} {% block page_title %}Srp Fleet Data{% endblock page_title %} -{% block extra_css %}{% endblock extra_css %} +{% block extra_css %} + {% include 'bundles/x-editable.css.html' %} + + +{% endblock extra_css %} {% block content %}
@@ -27,92 +62,147 @@ {% endif %}
- + {% if srpfleetrequests %} - - - - - - - - - - - {% if perms.auth.srp_management %} - - {% endif %} - - {% for srpfleetrequest in srpfleetrequests %} - - - - - - - - - + + {% csrf_token %} + + + + + {% endif %} + + + +
{% trans "Pilot Name" %}{% trans "Killboard Link" %}{% trans "Additional Info" %}{% trans "Ship Type" %}{% trans "Killboard Loss Amt" %}{% trans "SRP ISK Cost" %}{% trans "Post Time" %}{% trans "Status" %}{% trans "Actions" %}
{{ srpfleetrequest.character.character_name }} - Link - {{ srpfleetrequest.additional_info }}{{ srpfleetrequest.srp_ship_name }}ISK: {{ srpfleetrequest.kb_total_loss | intcomma }}ISK: {{ srpfleetrequest.srp_total_amount | intcomma }}{{ srpfleetrequest.post_time | date:"Y-m-d H:i" }} - {% if srpfleetrequest.srp_status == "Approved" %} -
- {% trans "Approved" %} -
- {% elif srpfleetrequest.srp_status == "Rejected" %} -
- {% trans "Rejected" %} -
- {% else %} -
- {% trans "Pending" %} -
- {% endif %} -
- - - - {% if srpfleetrequest.srp_status in "RejectedPending" %} - - - - {% elif srpfleetrequest.srp_status == "" %} - - - - {% endif %} - {% if srpfleetrequest.srp_status in "ApprovedPending" %} - - - - {% elif srpfleetrequest.srp_status == "" %} - - - - {% endif %} - - - - -
+ + + + + + + {% endblocktrans %} + + + {% if perms.auth.srp_management %} + {% endif %} - {% endfor %} -
{% trans "Pilot Name" %}{% trans "Killboard Link" %}{% trans "Additional Info" %}{% trans "Ship Type" %}{% trans "Killboard Loss Amt" %}{% trans "SRP ISK Cost" %} + {% blocktrans %}{% trans "Post Time" %}{% trans "Status" %}{% trans "Actions" %}
+ {% for srpfleetrequest in srpfleetrequests %} + + {{ srpfleetrequest.character.character_name }} + + Link + + {{ srpfleetrequest.additional_info }} + {{ srpfleetrequest.srp_ship_name }} + {{ srpfleetrequest.kb_total_loss | intcomma }} ISK + {{ srpfleetrequest.srp_total_amount | intcomma }} ISK + {{ srpfleetrequest.post_time | date:"Y-m-d H:i" }} + + {% if srpfleetrequest.srp_status == "Approved" %} +
+ {% trans "Approved" %} +
+ {% elif srpfleetrequest.srp_status == "Rejected" %} +
+ {% trans "Rejected" %} +
+ {% else %} +
+ {% trans "Pending" %} +
+ {% endif %} + + {% if perms.auth.srp_management %} + +
+ +
+ + {% endif %} + + {% endfor %} + + + {% else %}
{% trans "No SRP requests for this fleet." %}
{% endif %} - {% endblock content %} + +{% block extra_javascript %} + {% include 'bundles/x-editable-js.html' %} +{% endblock %} + +{% block extra_script %} + $(document).ready(function() { + $.fn.editable.defaults.mode = 'inline'; + $.fn.editable.defaults.showbuttons = false; + $.fn.editable.defaults.highlight = "#AAFF80"; + + + $('.srp').editable({ + display: function(value, response) { + return false; + }, + success: function(response, newValue) { + newValue = parseInt(newValue); + newvalue = newValue.toLocaleString() + " ISK"; + $(this).html(newvalue.bold()); + }, + validate: function(value) { + if (value === null || value === '') { + return 'Empty values not allowed'; + } + } + }); + $('.srp').on('hidden', function(e, reason){ + if(reason === 'save' || reason === 'nochange') { + var $next = $(this).closest('tr').next().find('.editable'); + setTimeout(function() { + $next.editable('show'); + }, 400); + } + }); + }); + $(document).ready(function(){ + $("[rel=tooltip]").tooltip({ placement: 'top'}); +}); +{% endblock extra_script %} diff --git a/stock/templates/registered/srpfleetrequest.html b/stock/templates/registered/srpfleetrequest.html index c2beff83..48a15ede 100755 --- a/stock/templates/registered/srpfleetrequest.html +++ b/stock/templates/registered/srpfleetrequest.html @@ -15,24 +15,13 @@
- {% if no_srp_code %} - - {% else %} - {% if completed == False %} - - {% else %} - - - {% endif %} - {% endif %} +
diff --git a/stock/templates/registered/srpfleetrequestamount.html b/stock/templates/registered/srpfleetrequestamount.html deleted file mode 100755 index cc1f4fe6..00000000 --- a/stock/templates/registered/srpfleetrequestamount.html +++ /dev/null @@ -1,31 +0,0 @@ -{% extends "public/base.html" %} -{% load bootstrap %} -{% load staticfiles %} -{% load i18n %} - -{% block title %}Alliance Auth - Update SRP Amount{% endblock %} - -{% block page_title %}{% trans "Update SRP Amount" %}{% endblock page_title %} - -{% block content %} - -
-

{% trans "Update SRP Amount" %}

- -
-
-
- -
-
-
- -
- -{% endblock content %} diff --git a/stock/templates/registered/srpmanagement.html b/stock/templates/registered/srpmanagement.html index 5bd9b408..c56ca713 100755 --- a/stock/templates/registered/srpmanagement.html +++ b/stock/templates/registered/srpmanagement.html @@ -41,7 +41,7 @@ {% trans "Fleet ISK Cost" %} {% trans "SRP Status" %} {% trans "Pending Requests" %} - {% trans "Actions" %} + {% trans "Actions" %} {% for srpfleet in srpfleets %} @@ -98,7 +98,7 @@ - + {% if srpfleet.fleet_srp_code %}