Exemplo n.º 1
0
def user_details(person_ID):
    """
    Bring the overview of all the details to show
    :param job_number:
    :return:
    """
    login_details = session["login_details"]

    user = User(login_details, person_ID)
    # jobs assigned to the user
    assigned_jobs = []
    if user.assigned_jobs is not None:

        for job_number in user.assigned_jobs:
            job = Job(job_number, session["login_details"], user.id)
            assigned_jobs.append(job)

    # jobs that the user has worked on
    job_list = []
    if user.jobs_list is not None:
        for list_entry in user.jobs_list:
            job_entry = Job(list_entry, login_details)
            job_list.append((job_entry.job_number, job_entry.title, job_entry.get_times(user.id)))

    # page function
    form = Form(request.form)
    if request.method == "POST" and assigned_jobs is not None:
        if sql_functions.verify_user_company_schema(session["login_details"]):

            for jobs in assigned_jobs:
                if jobs.job_number in request.form:

                    if request.form[jobs.job_number] == "Start":
                        start_time = jobs.start_time_entry(user.id)
                        flash(start_time.strftime("%Y/%m/%d %H:%M"))

                    elif request.form[jobs.job_number] == "Stop":
                        finish_time = jobs.user_stop_log(user.id)
                        flash(finish_time.strftime("%Y/%m/%d %H:%M"))

    return render_template(
        "private/users/main_details.html", user=user, assigned_jobs=assigned_jobs, job_list=job_list, form=form
    )