Logging everywhere.

Corrected corp model updating logic to handle owning corp.
Corrected typecasting during api access mask comparison.
Removed error protection during user TS3 group updating to propogate errors.

Relevent issues:
Sorry for the spam.
This commit is contained in:
Adarnof
2016-01-02 21:24:40 +00:00
parent 9225896938
commit a789edb3d8
16 changed files with 505 additions and 57 deletions

View File

@@ -13,6 +13,9 @@ from eveonline.managers import EveManager
from form import TimerForm
from models import Timer
import logging
logger = logging.getLogger(__name__)
def timer_util_test(user):
return check_if_user_has_permission(user, 'member') or check_if_user_has_permission(user, 'blue_member')
@@ -22,13 +25,14 @@ def timer_util_test(user):
@user_passes_test(timer_util_test)
@permission_required('auth.timer_view')
def timer_view(request):
logger.debug("timer_view called by user %s" % request.user)
timer_list = Timer.objects.all()
closest_timer = None
if timer_list:
closest_timer = \
sorted(list(Timer.objects.all()), key=lambda d: abs(datetime.datetime.now() - d.eve_time.replace(tzinfo=None)))[
0]
logger.debug("Determined closest timer is %s" % closest_timer)
render_items = {'timers': Timer.objects.all(),
'closest_timer': closest_timer}
@@ -38,20 +42,21 @@ def timer_view(request):
@login_required
@permission_required('auth.timer_management')
def add_timer_view(request):
logger.debug("add_timer_view called by user %s" % request.user)
if request.method == 'POST':
form = TimerForm(request.POST)
logger.debug("Request type POST contains form valid: %s" % form.is_valid())
if form.is_valid():
# Get character
auth_info = AuthServicesInfoManager.get_auth_service_info(request.user)
character = EveManager.get_character_by_id(auth_info.main_char_id)
corporation = EveManager.get_corporation_info_by_id(character.corporation_id)
logger.debug("Determined timer add request on behalf of character %s corporation %s" % (character, corporation))
# calculate future time
future_time = datetime.timedelta(days=form.cleaned_data['days_left'], hours=form.cleaned_data['hours_left'], minutes=form.cleaned_data['minutes_left'])
current_time = datetime.datetime.utcnow()
eve_time = current_time + future_time
logger.debug("Determined timer eve time is %s - current time %s, adding %s" % (eve_time, current_time, future_time))
# handle valid form
timer = Timer()
timer.details = form.cleaned_data['details']
@@ -65,8 +70,10 @@ def add_timer_view(request):
timer.eve_corp = corporation
timer.user = request.user
timer.save()
logger.info("Created new timer in %s at %s by user %s" % (timer.system, timer.eve_time, request.user))
return HttpResponseRedirect("/timers/")
else:
logger.debug("Returning new TimerForm")
form = TimerForm()
render_items = {'form': form}
@@ -77,7 +84,11 @@ def add_timer_view(request):
@login_required
@permission_required('auth.timer_management')
def remove_timer(request, timer_id):
logger.debug("remove_timer called by user %s for timer id %s" % (request.user, timer_id))
if Timer.objects.filter(id=timer_id).exists():
timer = Timer.objects.get(id=timer_id)
timer.delete()
logger.debug("Deleting timer id %s by user %s" % (timer_id, request.user))
else:
logger.error("Unable to delete timer id %s for user %s - timer matching id not found." % (timer_id, request.user))
return HttpResponseRedirect("/timers/")