Ejemplo n.º 1
0
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))
Ejemplo n.º 2
0
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))
Ejemplo n.º 3
0
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))