def index(request): """ Main entrance page. """ _, username, email, _, _ = get_app_credentials_from_auth_value( request.COOKIES.get(APP_AUTH_KEY, None)) long_url = request.POST.get('long_url', None) short_url = request.POST.get('short_url', None) go_url = custom_reverse_url('go_url:index') # get popular URLs message = None if username and long_url: try: update_entry(long_url, short_url, username) message = "Added %s as %s%s" % (long_url, go_url, short_url) except GoUrlException as e: message = e.message top_urls = get_top_urls() context = { 'go_url': go_url, 'signin_url': add_query_parameter(SSO_URL, 'service', 'go_url'), 'signout_url': custom_reverse_url('go_url:signout'), 'company_nickname': constants.COMPANY_NICKNAME, 'app_urls': get_app_urls(), 'email': email, 'message': message, 'short_url': request.GET.get('short_url', ''), 'top_urls': top_urls, } return render_to_response('go_url/index.html', context, context_instance=RequestContext(request))
def index(request): """ Main entrance page. """ _, username, email, _, _ = get_app_credentials_from_auth_value( request.COOKIES.get(APP_AUTH_KEY, None)) context = { 'email': email, 'signin_url': add_query_parameter(SSO_URL, 'service', APP_NAME), 'signout_url': custom_reverse_url(APP_NAME + ':signout'), 'app_urls': get_app_urls() } return render_to_response(APP_NAME + '/index.html', context, context_instance=RequestContext(request))
def index(request): """ Main entrance page. """ _, username, email, displayName, _ = get_app_credentials_from_auth_value( request.COOKIES.get(APP_AUTH_KEY, None)) signin_url = add_query_parameter(SSO_URL, 'service', APP_NAME) context = { 'email': email, 'displayName': displayName, 'signin_url': signin_url, 'signout_url': custom_reverse_url(APP_NAME + ':signout'), 'better360_url': custom_reverse_url(APP_NAME + ':index'), 'app_urls': get_app_urls(), 'content': None } if not email: return HttpResponseRedirect(signin_url) person_name = request.REQUEST.get('personName') project_name = request.REQUEST.get('projectName') if person_name and project_name: context['content'] = get_dilbert_perf( person_name, project_name, int(request.REQUEST.get('knowledge')) - 1, int(request.REQUEST.get('initiative')) - 1, int(request.REQUEST.get('dependability')) - 1, int(request.REQUEST.get('adaptability')) - 1, int(request.REQUEST.get('quality')) - 1, int(request.REQUEST.get('quantity')) - 1 ) context['content'] = ' '.join(context['content']) context['person_name'] = person_name context['project_name'] = project_name return render_to_response(APP_NAME + '/index.html', context, context_instance=RequestContext(request))
def index(request, query=None): """ Main entrance page. """ post_query = request.POST.get('query') if post_query: return HttpResponseRedirect( custom_reverse_url(APP_NAME + ':index') + post_query) cn, _, email, displayName, _ = get_app_credentials_from_auth_value( request.COOKIES.get(APP_AUTH_KEY, None)) if email: show_inactive_user = True else: show_inactive_user = False extra_hierarchy_levels = 0 if not query: if email: ldap_objs = get_object_by_query(email, show_inactive_user) else: ldap_objs = get_object_by_query(who_settings.BOSS, show_inactive_user) else: while query.endswith('+'): query = query[:-1] extra_hierarchy_levels += 1 ldap_objs = get_object_by_query(query, show_inactive_user) who_url = custom_reverse_url(APP_NAME + ':index') possible_objs = [] json_relationships = None data_properties = None chart_size = None if len(ldap_objs) > 1: possible_objs = ldap_objs elif len(ldap_objs) == 1: ldap_obj = ldap_objs[0] manager_obj = LDAPUser.objects.get(id=ldap_obj.manager_id) sibling_obj_set = set() if ldap_obj == manager_obj: # big boss pass else: for _obj in manager_obj.reports: if _obj != ldap_obj and _obj != manager_obj: # 1) skip the report right under manager sibling_obj_set.add(_obj) # recursive call, potentially slow: relationships, ldap_objects = get_js_hierarchy( request, who_url, manager_obj, None, 3 + extra_hierarchy_levels, copy(sibling_obj_set), show_inactive_user) json_relationships = json.dumps(relationships) #print "Json relationships:%s" % json_relationships data_properties = get_data_properties(ldap_obj, ldap_objects) #print "Styling:%s" % data_properties #chart_size = ('large' if len(relationships) <= 6 else # 'medium' if len(relationships) <= 12 else 'small') chart_size = 'medium' context = { 'who_url': who_url, 'email': email, 'displayName': displayName, 'company_employee_name': constants.COMPANY_EMPLOYEE_NAME, 'query': query or '', 'extra_hierarchy_header': '+' * (extra_hierarchy_levels + 1), 'signin_url': add_query_parameter(SSO_URL, 'service', APP_NAME), 'signout_url': custom_reverse_url(APP_NAME + ':signout'), 'percent_url': custom_reverse_url(APP_NAME + ':percent'), 'app_urls': get_app_urls(), # ambiguous query, list choices 'possible_objs': possible_objs, # for graphing: 'json_relationships': json_relationships, 'data_properties': data_properties, 'chart_size': chart_size, } return render_to_response(APP_NAME + '/index.html', context, context_instance=RequestContext(request))
def percent(request): cn, _, email, _, _ = get_app_credentials_from_auth_value( request.COOKIES.get(APP_AUTH_KEY, None)) who_url = custom_reverse_url(APP_NAME + ':index') percentpost_url = custom_reverse_url(APP_NAME + ':percentpost') if not email: return HttpResponseRedirect(who_url) ldap_objs = get_object_by_query(email, show_inactive_user=False) if len(ldap_objs) != 1: return HttpResponse("Error, unable to find a unique person " "for '%s'" % email) ldap_obj = ldap_objs[0] departments = request.GET.get('departments', '') titles = request.GET.get('titles', '') include_contractors = request.GET.get('contractors', '') include_inactives = request.GET.get('inactives', '') # calculate seniority youngens1, oldfarts1 = get_employee_ranking( ldap_obj, include_contractors=False, include_inactives=False) youngens2, oldfarts2 = get_employee_ranking( ldap_obj, departments=departments, titles=titles, include_contractors=include_contractors, include_inactives=include_inactives) #print "HEY %s / %s" % (oldfarts.count(), youngens.count()) total_queried_employees = (len(youngens1) + len(oldfarts1)) percentile1 = ((float(len(youngens1)) / total_queried_employees) if total_queried_employees > 0 else 0) percentile1 *= 100 total_queried_employees = (len(youngens2) + len(oldfarts2)) percentile2 = ((float(len(youngens2)) / total_queried_employees) if total_queried_employees > 0 else 0) percentile2 *= 100 def add_date_attribute(ldap_objs): for ldap_obj in ldap_objs: ldap_obj.hire_date = ldap_obj.hire_date.strftime("%Y-%m-%d") return ldap_objs context = { 'who_url': who_url, 'percentpost_url': percentpost_url, 'email': email, 'displayName': ldap_obj.displayName, 'company_employee_name': constants.COMPANY_EMPLOYEE_NAME, 'signin_url': add_query_parameter(SSO_URL, 'service', APP_NAME), 'signout_url': custom_reverse_url(APP_NAME + ':signout'), 'app_urls': get_app_urls(), # form for query ranking 'departments': departments, 'titles': titles, 'include_contractors': include_contractors, 'include_inactives': include_inactives, # display objects 'hire_date': ldap_obj.hire_date, 'company_percentile': percentile1, 'company_youngens': add_date_attribute(youngens1), 'company_oldfarts': add_date_attribute(oldfarts1), 'specific_percentile': percentile2, 'specific_youngens': add_date_attribute(youngens2), 'specific_oldfarts': add_date_attribute(oldfarts2), } #print "%s %s"%(youngens2[0].hire_date, type(youngens2[0].hire_date)) #print "%s" % youngens2[0].hire_date.strftime("%Y-%m-%d") return render_to_response(APP_NAME + '/percent.html', context, context_instance=RequestContext(request))