def details(request, title_id): title = get_object_or_404(Title, pk=int(title_id)) if title.title_compo_diffs.all(): title.lastModified = print_time_min(title.title_compo_diffs.latest('id')) else: title.lastModified = None title.color = ColorThreshold.get_access_color(title.accessLvl) data = { "title" : title, "member_count" : title.members.count(), "colorThresholds" : ColorThreshold.as_json(), 'roles_columns': ROLES_COLUMNS, 'diffs_columns': DIFFS_COLUMNS, 'datatables_defaults': DATATABLES_DEFAULTS } return render_to_response("ecm/hr/titles/title_details.html", data, Ctx(request))
def details(request, title_id): title = get_object_or_404(Title, pk=int(title_id)) if title.title_compo_diffs.all(): title.lastModified = print_time_min( title.title_compo_diffs.latest('id')) else: title.lastModified = None title.color = ColorThreshold.get_access_color(title.accessLvl) data = { "title": title, "member_count": title.members.count(), "colorThresholds": ColorThreshold.as_json(), 'roles_columns': ROLES_COLUMNS, 'diffs_columns': DIFFS_COLUMNS, 'datatables_defaults': DATATABLES_DEFAULTS } return render_to_response("ecm/hr/titles/title_details.html", data, Ctx(request))
def details(request, characterID): avg_session = { 'sessionlength': 0, '30days': 0, '7days': 0, } now = timezone.now() try: member = Member.objects.get(characterID=int(characterID)) try: member.base = CelestialObject.objects.get(itemID=member.baseID).itemName except CelestialObject.DoesNotExist: member.base = str(member.baseID) member.color = ColorThreshold.get_access_color(member.accessLvl) member.roles_no_director = member.roles.exclude(roleID=1) # exclude 'director' query = MemberSession.objects.filter(character_id=member.characterID).order_by('session_begin') query_30 = query.filter(session_begin__gt=now - timedelta(30)) query_7 = query.filter(session_begin__gt=now - timedelta(7)) session_len = query.aggregate(len=Avg('session_seconds'))['len'] or 0 session_len_30 = query_30.aggregate(len=Avg('session_seconds'))['len'] or 0 session_len_7 = query_7.aggregate(len=Avg('session_seconds'))['len'] or 0 # Totals total = query.aggregate(len=Sum('session_seconds'))['len'] or 0 lastWeek = query_7.aggregate(len=Sum('session_seconds'))['len'] or 0 lastMonth = query_30.aggregate(len=Sum('session_seconds'))['len'] or 0 loginhistory = query.order_by('-session_begin')[:10] avg_session['sessionlength'] = timedelta(seconds=session_len) avg_session['30days'] = timedelta(seconds=session_len_30) avg_session['7days'] = timedelta(seconds=session_len_7) if member.corp_id == Corporation.objects.mine().corporationID: member.date = UpdateDate.get_latest(Member) else: try: d = MemberDiff.objects.filter(member=member, new=False).order_by("-id")[0] member.date = d.date except IndexError: member.date = 0 skills, skill_count, skillpoint_count = get_skills(member) except Member.DoesNotExist: member = Member(characterID=int(characterID), name="???") try: killboardUrl = Setting.get('corp_killboard_url') except Setting.DoesNotExist: killboardUrl = None data = { 'member' : member, 'killboardUrl' : killboardUrl, 'sessiondata' : avg_session, 'lastWeek' : lastWeek, 'lastMonth' : lastMonth, 'total' : total, 'logins' : loginhistory, 'skills_tree' : json.dumps(skills), 'skill_count' : skill_count, 'skillpoint_count' : print_integer(skillpoint_count), 'datatables_defaults': DATATABLES_DEFAULTS, 'access_columns' : ACCESS_CHANGES_COLUMNS, 'sorting' : [[2, 'desc']], } return render_to_response("ecm/hr/members/details.html", data, Ctx(request))