Adarnof's Little Things (#547)

* Port to Django 1.10
Initial migrations for current states of all models. Requires faking to retain data.
Removed all references to render_to_response, replacing with render shortcut.
Same for HttpResponseRedirect to render shortcut.
Corrected notification signal import to wait for app registry to finish loading.

* Correct typos from render conversion

* Modify models to suppress Django field warnings

* Script for automatic database conversion
 - fakes initial migrations to preserve data
Include LOGIN_URL setting

* Correct context processor import typo

* Removed pathfinder support.
Current pathfinder versions require SSO, not APIs added to database.
Conditionally load additional database definitions only if services are enabled.
Prevents errors when running auth without creating all possible databases.

* Condense context processors

* Include Django 1.10 installation in migrate script
Remove syncdb/evolve, replace with migrate for update script

* Replaced member/blue perms with user state system
Removed sigtracker
Initial migrations for default perms and groups
Removed perm bootstrapping on first run

* Clean up services list

* Remove fleet fittings page

* Provide action feedback via django messaging
Display unread notification count
Correct left navbar alignment

* Stop storing service passwords.
Provide them one time upon activation or reset.
Closes #177

* Add group sync buttons to admin site
Allow searcing of AuthServicesInfo models
Display user main character

* Correct button CSS to remove underlines on hover

* Added bulk actions to notifications
Altered notification default ordering

* Centralize API key validation.
Remove unused error count on API key model.
Restructure API key refresh task to queue all keys per user and await completion.
Closes #350

* Example configuration files for supervisor.
Copy to /etc/supervisor/conf.d and restart to take effect.
Closes #521
Closes #266

* Pre-save receiver for member/blue state switching
Removed is_blue field
Added link to admin site

* Remove all hardcoded URLs from views and templates
Correct missing render arguments
Closes #540

* Correct celeryd process directory

* Migration to automatically set user states.
Runs instead of waiting for next API refresh cycle. Should make the transition much easier.

* Verify service accounts accessible to member state

* Restructure project to remove unnecessary apps.
(celerytask, util, portal, registraion apps)
Added workarounds for python 3 compatibility.

* Correct python2 compatibility

* Check services against state being changed to

* Python3 compatibility fixes

* Relocate x2bool py3 fix

* SSO integration for logging in to existing accounts.

* Add missing url names for fleetup reverse

* Sanitize groupnames before syncing.

* Correct trailing slash preventing url resolution

* Alter group name sanitization to allow periods and hyphens

* Correct state check on pre_save model for corp/alliance group assignment

* Remove sigtracker table from old dbs to allow user deletion

* Include missing celery configuration

* Teamspeak error handling

* Prevent celery worker deadlock on async group result wait

* Correct active navbar links for translated urls.
Correct corp status url resolution for some links.
Remove DiscordAuthToken model.
This commit is contained in:
Adarnof
2016-10-16 18:01:14 -04:00
committed by GitHub
parent 56136d050a
commit 1b4f5e4e88
220 changed files with 5716 additions and 5331 deletions

View File

@@ -0,0 +1 @@
from __future__ import unicode_literals

View File

@@ -1,8 +1,8 @@
from __future__ import unicode_literals
from django.contrib import admin
from models import SrpFleetMain
from models import SrpUserRequest
from srp.models import SrpFleetMain
from srp.models import SrpUserRequest
# Register your models here.
admin.site.register(SrpFleetMain)
admin.site.register(SrpUserRequest)
admin.site.register(SrpUserRequest)

7
srp/apps.py Normal file
View File

@@ -0,0 +1,7 @@
from __future__ import unicode_literals
from django.apps import AppConfig
class SRPConfig(AppConfig):
name = 'srp'

View File

@@ -1,3 +1,4 @@
from __future__ import unicode_literals
from django import forms
from django.utils.translation import ugettext_lazy as _
@@ -30,4 +31,3 @@ class SrpFleetUpdateCostForm(forms.Form):
class SrpFleetMainUpdateForm(forms.Form):
fleet_aar_link = forms.CharField(required=True, label=_("After Action Report Link"))

View File

@@ -0,0 +1,48 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.1 on 2016-09-05 21:40
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
initial = True
dependencies = [
('eveonline', '0001_initial'),
]
operations = [
migrations.CreateModel(
name='SrpFleetMain',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('fleet_name', models.CharField(default=b'', max_length=254)),
('fleet_doctrine', models.CharField(default=b'', max_length=254)),
('fleet_time', models.DateTimeField()),
('fleet_srp_code', models.CharField(default=b'', max_length=254)),
('fleet_srp_status', models.CharField(default=b'', max_length=254)),
('fleet_srp_aar_link', models.CharField(default=b'', max_length=254)),
('fleet_commander', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='eveonline.EveCharacter')),
],
),
migrations.CreateModel(
name='SrpUserRequest',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('killboard_link', models.CharField(default=b'', max_length=254)),
('after_action_report_link', models.CharField(default=b'', max_length=254)),
('additional_info', models.CharField(default=b'', max_length=254)),
('srp_status', models.CharField(default=b'', max_length=254)),
('srp_total_amount', models.BigIntegerField(default=0)),
('kb_total_loss', models.BigIntegerField(default=0)),
('srp_ship_name', models.CharField(default=b'', max_length=254)),
('post_time', models.DateTimeField(default=django.utils.timezone.now)),
('character', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='eveonline.EveCharacter')),
('srp_fleet_main', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='srp.SrpFleetMain')),
],
),
]

View File

View File

@@ -1,8 +1,11 @@
from __future__ import unicode_literals
from django.utils.encoding import python_2_unicode_compatible
from django.db import models
from django.utils import timezone
from eveonline.models import EveCharacter
@python_2_unicode_compatible
class SrpFleetMain(models.Model):
fleet_name = models.CharField(max_length=254, default="")
fleet_doctrine = models.CharField(max_length=254, default="")
@@ -16,6 +19,7 @@ class SrpFleetMain(models.Model):
return self.fleet_name + " - SrpFleetMain"
@python_2_unicode_compatible
class SrpUserRequest(models.Model):
killboard_link = models.CharField(max_length=254, default="")
after_action_report_link = models.CharField(max_length=254, default="")
@@ -25,7 +29,7 @@ class SrpUserRequest(models.Model):
character = models.ForeignKey(EveCharacter)
srp_fleet_main = models.ForeignKey(SrpFleetMain)
kb_total_loss = models.BigIntegerField(default=0)
srp_ship_name = models.CharField(max_length=254, default="")
srp_ship_name = models.CharField(max_length=254, default="")
post_time = models.DateTimeField(default=timezone.now)
def __str__(self):

View File

@@ -1,34 +1,37 @@
from django.template import RequestContext
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from __future__ import unicode_literals
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.auth.decorators import user_passes_test
from util import random_string
from django.contrib import messages
from eveonline.managers import EveManager
from authentication.managers import AuthServicesInfoManager
from util import check_if_user_has_permission
from models import SrpFleetMain
from models import SrpUserRequest
from form import SrpFleetMainForm
from form import SrpFleetUserRequestForm
from form import SrpFleetUpdateCostForm
from form import SrpFleetMainUpdateForm
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
from django.utils import timezone
from authentication.decorators import members_and_blues
import uuid
import logging
logger = logging.getLogger(__name__)
def srp_util_test(user):
return check_if_user_has_permission(user, 'member') or check_if_user_has_permission(user, 'blue_member')
def random_string(string_length=10):
"""Returns a random string of length string_length."""
random = str(uuid.uuid4()) # Convert UUID format to a Python string.
random = random.upper() # Make all characters uppercase.
random = random.replace("-", "") # Remove the UUID '-'.
return random[0:string_length] # Return the random string.
@login_required
@user_passes_test(srp_util_test)
@members_and_blues()
def srp_management(request):
logger.debug("srp_management called by user %s" % request.user)
totalcost = 0
@@ -45,11 +48,11 @@ def srp_management(request):
context = {"srpfleets": SrpFleetMain.objects.filter(fleet_srp_status=""), "totalcost": totalcost,
"price_pair": price_pair}
return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request))
return render(request, 'registered/srpmanagement.html', context=context)
@login_required
@user_passes_test(srp_util_test)
@members_and_blues()
def srp_management_all(request):
logger.debug("srp_management_all called by user %s" % request.user)
totalcost = 0
@@ -65,11 +68,11 @@ def srp_management_all(request):
logger.debug("Determined all-time total SRP cost %s" % totalcost)
context = {"srpfleets": SrpFleetMain.objects.all(), "totalcost": totalcost, "price_pair": price_pair}
return render_to_response('registered/srpmanagement.html', context, context_instance=RequestContext(request))
return render(request, 'registered/srpmanagement.html', context=context)
@login_required
@user_passes_test(srp_util_test)
@members_and_blues()
def srp_fleet_view(request, fleet_id):
logger.debug("srp_fleet_view called by user %s for fleet id %s" % (request.user, fleet_id))
if SrpFleetMain.objects.filter(id=fleet_id).exists():
@@ -83,11 +86,11 @@ def srp_fleet_view(request, fleet_id):
"srpfleetrequests": SrpUserRequest.objects.filter(srp_fleet_main=fleet_main),
"totalcost": totalcost}
return render_to_response('registered/srpfleetdata.html', context, context_instance=RequestContext(request))
return render(request, 'registered/srpfleetdata.html', context=context)
else:
logger.error("Unable to view SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
return HttpResponseRedirect("/srp")
logger.error(
"Unable to view SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
return redirect("auth_srp_management_view")
@login_required
@@ -101,7 +104,7 @@ def srp_fleet_add_view(request):
form = SrpFleetMainForm(request.POST)
logger.debug("Request type POST contains form valid: %s" % form.is_valid())
if form.is_valid():
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
authinfo = AuthServicesInfo.objects.get_or_create(user=request.user)[0]
character = EveManager.get_character_by_id(authinfo.main_char_id)
srp_fleet_main = SrpFleetMain()
@@ -116,6 +119,7 @@ def srp_fleet_add_view(request):
completed = True
completed_srp_code = srp_fleet_main.fleet_srp_code
logger.info("Created SRP Fleet %s by user %s" % (srp_fleet_main.fleet_name, request.user))
messages.success(request, 'Created SRP fleet %s.' % srp_fleet_main.fleet_name)
else:
logger.debug("Returning blank SrpFleetMainForm")
@@ -123,7 +127,7 @@ def srp_fleet_add_view(request):
render_items = {'form': form, "completed": completed, "completed_srp_code": completed_srp_code}
return render_to_response('registered/srpfleetadd.html', render_items, context_instance=RequestContext(request))
return render(request, 'registered/srpfleetadd.html', context=render_items)
@login_required
@@ -134,9 +138,13 @@ def srp_fleet_remove(request, fleet_id):
srpfleetmain = SrpFleetMain.objects.get(id=fleet_id)
srpfleetmain.delete()
logger.info("SRP Fleet %s deleted by user %s" % (srpfleetmain.fleet_name, request.user))
messages.success(request, 'Removed SRP fleet %s.' % srpfleetmain.fleet_name)
else:
logger.error("Unable to delete SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
return HttpResponseRedirect("/srp")
logger.error(
"Unable to delete SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
messages.error(request, 'Unable to locate SRP fleet with ID %s' % fleet_id)
return redirect("auth_srp_management_view")
@login_required
@permission_required('auth.srp_management')
@@ -147,9 +155,13 @@ def srp_fleet_disable(request, fleet_id):
srpfleetmain.fleet_srp_code = ""
srpfleetmain.save()
logger.info("SRP Fleet %s disabled by user %s" % (srpfleetmain.fleet_name, request.user))
messages.success(request, 'Disabled SRP fleet %s.' % srpfleetmain.fleet_name)
else:
logger.error("Unable to disable SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
return HttpResponseRedirect("/srp")
logger.error(
"Unable to disable SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
messages.error(request, 'Unable to locate SRP fleet with ID %s' % fleet_id)
return redirect("auth_srp_management_view")
@login_required
@permission_required('auth.srp_management')
@@ -160,9 +172,13 @@ def srp_fleet_enable(request, fleet_id):
srpfleetmain.fleet_srp_code = random_string(8)
srpfleetmain.save()
logger.info("SRP Fleet %s enable by user %s" % (srpfleetmain.fleet_name, request.user))
messages.success(request, 'Enabled SRP fleet %s.' % srpfleetmain.fleet_name)
else:
logger.error("Unable to enable SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
return HttpResponseRedirect("/srp")
logger.error(
"Unable to enable SRP fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
messages.error(request, 'Unable to locate SRP fleet with ID %s' % fleet_id)
return redirect("auth_srp_management_view")
@login_required
@permission_required('auth.srp_management')
@@ -173,9 +189,12 @@ def srp_fleet_mark_completed(request, fleet_id):
srpfleetmain.fleet_srp_status = "Completed"
srpfleetmain.save()
logger.info("Marked SRP Fleet %s as completed by user %s" % (srpfleetmain.fleet_name, request.user))
messages.success(request, 'Marked SRP fleet %s as completed.' % srpfleetmain.fleet_name)
else:
logger.error("Unable to mark SRP fleet with id %s as completed for user %s - fleet matching id not found." % (fleet_id, request.user))
return HttpResponseRedirect("/srp_fleet_view/" + str(fleet_id))
logger.error("Unable to mark SRP fleet with id %s as completed for user %s - fleet matching id not found." % (
fleet_id, request.user))
messages.error(request, 'Unable to locate SRP fleet with ID %s' % fleet_id)
return redirect("auth_srp_fleet_view", fleet_id)
@login_required
@@ -187,18 +206,21 @@ def srp_fleet_mark_uncompleted(request, fleet_id):
srpfleetmain.fleet_srp_status = ""
srpfleetmain.save()
logger.info("Marked SRP Fleet %s as incomplete for user %s" % (fleet_id, request.user))
messages.success(request, 'Marked SRP fleet %s as incomplete.' % srpfleetmain.fleet_name)
return redirect("auth_srp_fleet_view", fleet_id)
else:
logger.error("Unable to mark SRP Fleet id %s as incomplete for user %s - fleet matching id not found." % (fleet_id, request.user))
return HttpResponseRedirect("/srp_fleet_view/" + str(fleet_id))
logger.error("Unable to mark SRP Fleet id %s as incomplete for user %s - fleet matching id not found." % (
fleet_id, request.user))
messages.error(request, 'Unable to locate SRP fleet with ID %s' % fleet_id)
return redirect('auth_srp_management_view')
@login_required
@user_passes_test(srp_util_test)
@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
srp_code = ""
if SrpFleetMain.objects.filter(fleet_srp_code=fleet_srp).exists() is False:
no_srp_code = True
@@ -209,7 +231,7 @@ def srp_request_view(request, fleet_srp):
logger.debug("Request type POST contains form valid: %s" % form.is_valid())
if form.is_valid():
authinfo = AuthServicesInfoManager.get_auth_service_info(request.user)
authinfo = AuthServicesInfo.objects.get_or_create(user=request.user)[0]
character = EveManager.get_character_by_id(authinfo.main_char_id)
srp_fleet_main = SrpFleetMain.objects.get(fleet_srp_code=fleet_srp)
post_time = timezone.now()
@@ -226,9 +248,12 @@ def srp_request_view(request, fleet_srp):
srp_kill_link = srpManager.get_kill_id(srp_request.killboard_link)
(srp_kill_data, ship_value) = 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))
notify(request.user, "Your SRP request Killmail Link Failed Validation", message="Your SRP request Killmail link %s is invalid. Please make sure your using zKillboard." % srp_request.killboard_link, level="danger")
return HttpResponseRedirect("/srp")
logger.debug("User %s Submitted Invalid Killmail Link %s or server could not be reached" % (
request.user, srp_request.killboard_link))
# THIS SHOULD BE IN FORM VALIDATION
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 = srpManager.get_ship_name(srp_kill_data)
srp_request.srp_ship_name = srp_ship_name
kb_total_loss = ship_value
@@ -236,7 +261,9 @@ def srp_request_view(request, fleet_srp):
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))
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 %s.' % srp_ship_name)
else:
logger.debug("Returning blank SrpFleetUserRequestForm")
@@ -244,7 +271,7 @@ def srp_request_view(request, fleet_srp):
render_items = {'form': form, "completed": completed, "no_srp_code": no_srp_code}
return render_to_response('registered/srpfleetrequest.html', render_items, context_instance=RequestContext(request))
return render(request, 'registered/srpfleetrequest.html', context=render_items)
@login_required
@@ -258,12 +285,15 @@ def srp_request_remove(request, 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 %s for their %s.' % (
srpuserrequest.character, srpuserrequest.srp_ship_name))
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))
return HttpResponseRedirect("/srp")
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 %s' % srp_request_id)
return redirect("auth_srp_management_view")
else:
return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view))
return redirect("auth_srp_fleet_view", stored_fleet_view)
@login_required
@@ -272,8 +302,6 @@ 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))
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
@@ -281,13 +309,24 @@ def srp_request_approve(request, srp_request_id):
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))
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 %s for their %s.' % (
srpuserrequest.character, 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)
)
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))
return HttpResponseRedirect("/srp")
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 %s' % srp_request_id)
return redirect("auth_srp_management_view")
else:
return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view))
return redirect("auth_srp_fleet_view", stored_fleet_view)
@login_required
@@ -301,25 +340,37 @@ def srp_request_reject(request, 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))
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 %s for their %s.' % (
srpuserrequest.character, 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)
)
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))
return HttpResponseRedirect("/srp")
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 %s' % srp_request_id)
return redirect("auth_srp_management_view")
else:
return HttpResponseRedirect("/srp_fleet_view/" + str(stored_fleet_view))
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" % (request.user, fleet_srp_request_id))
no_srp_code = False
srp_code = ""
logger.debug("srp_request_update_amount_view 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:
logger.error("Unable to locate SRP request id %s for user %s" % (fleet_srp_request_id, request.user))
no_srp_code = True
messages.error(request, 'Unable to locate SRP request with ID %s' % fleet_srp_request_id)
return redirect("auth_srp_management_view")
if request.method == 'POST':
form = SrpFleetUpdateCostForm(request.POST)
@@ -328,17 +379,17 @@ def srp_request_update_amount_view(request, fleet_srp_request_id):
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))
return HttpResponseRedirect("/srp_fleet_view/" + str(srp_request.srp_fleet_main.id))
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, "no_srp_code": no_srp_code}
render_items = {'form': form}
return render_to_response('registered/srpfleetrequestamount.html', render_items,
context_instance=RequestContext(request))
return render(request, 'registered/srpfleetrequestamount.html', context=render_items)
@login_required
@@ -346,7 +397,6 @@ def srp_request_update_amount_view(request, fleet_srp_request_id):
def srp_fleet_edit_view(request, fleet_id):
logger.debug("srp_fleet_edit_view called by user %s for fleet id %s" % (request.user, fleet_id))
no_fleet_id = False
form = None
if SrpFleetMain.objects.filter(id=fleet_id).exists():
if request.method == 'POST':
form = SrpFleetMainUpdateForm(request.POST)
@@ -356,15 +406,16 @@ def srp_fleet_edit_view(request, fleet_id):
srpfleetmain.fleet_srp_aar_link = form.cleaned_data['fleet_aar_link']
srpfleetmain.save()
logger.info("User %s edited SRP Fleet %s" % (request.user, srpfleetmain.fleet_name))
return HttpResponseRedirect("/srp")
messages.success(request, 'Saved changes to SRP fleet %s' % srpfleetmain.fleet_name)
return redirect("auth_srp_management_view")
else:
logger.debug("Returning blank SrpFleetMainUpdateForm")
form = SrpFleetMainUpdateForm()
render_items = {'form': form, "no_fleet_id": no_fleet_id}
return render(request, 'registered/srpfleetupdate.html', context=render_items)
else:
logger.error("Unable to edit srp fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
no_fleet_id = True
render_items = {'form': form, "no_fleet_id": no_fleet_id}
return render_to_response('registered/srpfleetupdate.html', render_items,
context_instance=RequestContext(request))
logger.error(
"Unable to edit srp fleet id %s for user %s - fleet matching id not found." % (fleet_id, request.user))
messages.error(request, 'Unable to locate SRP fleet with ID %s' % fleet_id)
return redirect("auth_srp_management_view")