コード例 #1
0
ファイル: views.py プロジェクト: unistra/rfpportal-frcsxb
def dashboard_project_details(request,projectId):
    context = RequestContext(request)
    user = request.user
    project = Project.objects.get(pk = projectId)
    project_data = ProjectForm(data=model_to_dict(project), questions = project.rfp.get_project_questions())
    store_redirect_url(request)

    budget_line_list = BudgetLine.objects.filter(project = project)
    hr_budget_line_list = BudgetLine.objects.filter(project = project,category = 'HR')
    oc_budget_line_list = BudgetLine.objects.filter(project = project,category = 'OC')
    eq_budget_line_list = BudgetLine.objects.filter(project = project,category = 'EQ')

    oc_total = budget_line_sum(oc_budget_line_list)
    hr_total = budget_line_sum(hr_budget_line_list)
    eq_total = budget_line_sum(eq_budget_line_list)

    prop_rev_list = ProposedReviewer.objects.filter(project = project).exclude(type='USER_EXCLUDED')
    excluded_rev_list = ProposedReviewer.objects.filter(project = project, type='USER_EXCLUDED')
    total_budgeted = budget_line_sum(budget_line_list)

    review_list = Review.objects.filter(project = project.id)
    tag_list = Tag.objects.filter(project = project)

    context_dict = {'oc_total' : oc_total, 'eq_total' : eq_total, 'hr_total' : hr_total, 'tag_list' : tag_list, 'project':project,'project_data' : project_data,
                    'budget_line_list': budget_line_list,
                    'total' : total_budgeted,'hr_budget_lines_list' : hr_budget_line_list, 'oc_budget_lines_list' : oc_budget_line_list,
                    'eq_budget_lines_list' : eq_budget_line_list,'excluded_rev_list' : excluded_rev_list,'prop_rev_list' : prop_rev_list, 'list_of_review' : review_list}

    return render_to_response('dashboard/dashboard_project_details.html', context_dict, context)
コード例 #2
0
ファイル: views.py プロジェクト: unistra/rfpportal-frcsxb
def scientific_board_project_details(request, projectId):
    context = RequestContext(request)
    user = request.user
    project = Project.objects.get(id = projectId)
    project_data = ProjectForm(data=model_to_dict(project), questions = project.rfp.get_project_questions())
    tag_list = Tag.objects.filter(project=project)

    try:
        user_is_tag = Tag.objects.get(project = project, user = user)
        user_is_tagged = True
    except Tag.DoesNotExist:
        user_is_tagged = False
    except Tag.MultipleObjectsReturned:
        user_is_tagged = True

    store_redirect_url(request)

    list_of_review = Review.objects.filter(project = project, status='completed')
    list_of_bl = BudgetLine.objects.filter(project = project)

    HR_form = BudgetLineHR()
    EQ_form = BudgetLineEQ()
    OC_form = BudgetLineOP()
    prop_rev_list = ProposedReviewer.objects.filter(project = project).exclude(type='USER_EXCLUDED')

    context_dict = {'user_is_tagged' : user_is_tagged,
                    'tag_list' : tag_list, 'prop_rev_list' : prop_rev_list,
                    'project' : project, 'project_data' : project_data, 'list_of_review' : list_of_review,
                    'list_of_bl' : list_of_bl, 'HR_form' : HR_form,'EQ_form': EQ_form, 'OC_form' : OC_form}

    return  render_to_response('user_profile/scientific_board/scientific_board_project_details.html',context_dict,context)
コード例 #3
0
ファイル: views.py プロジェクト: unistra/rfpportal-frcsxb
def post_homepage_login_landing_page(request):
    context = RequestContext(request)
    user=request.user

    if user.is_staff:
        return redirect(reverse('dashboard'))

    is_pi = user.groups.filter(name = 'Principal_Investigator').exists()
    is_rev = user.groups.filter(name = 'Reviewer').exists()
    rfp_c = RfpCampaign.objects.filter(status = 'open')
    projects = Project.objects.filter(user = user).order_by('-id')[:3]

    list_of_rfp = RfpCampaign.objects.exclude(status='closed').exclude(status='under_review').exclude(deadline__lt = datetime.datetime.now())

    list_of_cs_rfp = RfpCampaign.objects.exclude(status='closed')

    project_list = Project.objects.filter(rfp__in = list(list_of_cs_rfp))
    list_of_tagged_project = Tag.objects.filter(user= user).filter(project__in = list(project_list))



    store_redirect_url(request)

    widget = True

    reviews = Review.objects.filter(user=user.pk)

    context_dict = {'list_of_tagged_project': list_of_tagged_project, 'list_of_rfp' : list_of_rfp,'list_of_cs_rfp' : list_of_cs_rfp, 'widget' : widget, 'reviews' : reviews, 'is_pi' : is_pi, 'is_rev' : is_rev, 'rfp_c' : rfp_c, 'projects':projects}

    return render_to_response('user_profile/post_homepage_login_landing_page.html',context_dict,context)
コード例 #4
0
ファイル: views.py プロジェクト: unistra/rfpportal-frcsxb
def dashboard_pi_list(request):
    context = RequestContext(request)
    user = request.user
    group = Group.objects.get(name='Principal_Investigator')
    user_list = group.user_set.all()
    store_redirect_url(request)

    context_dict = {'user_list' : user_list}

    return  render_to_response('dashboard/dashboard_pi_list.html',context_dict,context)
コード例 #5
0
ファイル: views.py プロジェクト: unistra/rfpportal-frcsxb
def index_profile(request):

    context = RequestContext(request)
    user = request.user

    is_pi = user.groups.filter(name = 'Principal_Investigator').exists()
    is_rev = user.groups.filter(name = 'Reviewer').exists()
    store_redirect_url(request)

    user_account = UserProfile.objects.get(user = user.id)
    projects = Project.objects.filter(user = user.id).order_by('-starting_date')
    reviews = Review.objects.filter(user=user.pk)

    context_dict = {'user_profile': user_account,'projects' : projects, 'reviews' : reviews, 'is_pi' : is_pi, 'is_rev' : is_rev}

    return render_to_response('user_profile/profile.html',context_dict,context)
コード例 #6
0
ファイル: views.py プロジェクト: unistra/rfpportal-frcsxb
def dashboard_pi_details(request, userId):
    context = RequestContext(request)
    user = request.user
    pi = User.objects.get(id = userId)
    pi_dict = model_to_dict(pi.userprofile)

    project_list = Project.objects.filter(user = pi).order_by('-rfp__year')
    num_project = project_list.exclude(status='draft').count()
    num_proj_granted = project_list.filter(status='granted').count()
    last_granted = project_list.filter(status='granted').first()
    store_redirect_url(request)

    #Information of Reviewer presented in the UserUpdate form
    pi_data = UserUpdate(pi_dict)

    context_dict = {'pi' : pi, 'pi_data' : pi_data, 'project_list' : project_list, 'num_project':num_project,'num_proj_granted': num_proj_granted,'last_granted' : last_granted}

    return  render_to_response('dashboard/dashboard_pi_details.html',context_dict,context)
コード例 #7
0
ファイル: views.py プロジェクト: unistra/rfpportal-frcsxb
def dashboard_reviewers_list(request):
    context = RequestContext(request)
    user = request.user
    group = Group.objects.get(name='Reviewer')
    redirect = store_redirect_url(request)

    """
    if request.method =="POST":
        form = SearchForm(request.POST)

        if form.is_valid():
            search = str(form.cleaned_data['search']).lower()

            #Initialization of lists
            reviewers_list = group.user_set.all()
            users_id = list()

            #Loop over users in reviewers group member
            for u in reviewers_list:
                print u
                model_dict = model_to_dict(u)
                print model_dict

                #Check if the searched string is included in one of the User field
                for key in model_dict:
                    if search in str(model_dict[key]).lower():
                        #Add the users id in a list
                        users_id.append(u.id)
                        break
            #Re-initialize the lists of reviewers including only the users with id found in the loop
            reviewers_list = group.user_set.filter(pk__in = (users_id))

    else:
        form = SearchForm()
        """
    reviewers_list = group.user_set.all()

    users_id = list()

    context_dict = {'reviewers_list' : reviewers_list, 'users_id' : users_id}

    return render_to_response('dashboard/dashboard_reviewers_list.html', context_dict, context)