Esempio n. 1
0
def display_all_interviews_for_application(application_id, interviewsRepo,
                                           companyRepo, applicationsRepo):
    interviews_list = interviewsRepo.getInterviewsByApplicationID(
        application_id)
    application = applicationsRepo.getApplicationByID(application_id)
    company = companyRepo.getCompanyById(application.company_id)

    application_details = {}
    application_details["fields"] = {
        "job_role": application.job_role,
        "interview_stage": application.interview_stage,
        "employment_type": application.employment_type
    }
    cleanup_specific_job_application(application_details)

    company_details = {}
    company_details["fields"] = {
        "name": company.name,
        "description": company.description,
        "location": company.location
    }
    cleanup_specific_company(company_details)

    links = {
        "add_new_interview":
        '/applications/{}/add_interview'.format(application_id),
        "view_application":
        '/applications/{}'.format(application_id),
        "view_company_profile":
        '/company/{}/view_company'.format(company.company_id)
    }

    interview_details = None
    if interviews_list:
        interview_details = {"fields": {}}
        for interview in interviews_list:
            interview_id = interview.interview_id
            other_medium = interview.other_medium
            view_interview = '/applications/{}/interview/{}'.format(
                application_id, interview_id)
            interview_details["fields"][interview_id] = {
                "date": interview.interview_date,
                "time": interview.interview_time,
                "interview_type": interview.interview_type,
                "status": interview.status,
                "view_interview": view_interview,
            }
            cleanup_interview_fields(interview_details, interview_id,
                                     other_medium)

    general_details = {
        "links": links,
        "application_details": application_details,
        "company_details": company_details,
        "interview_details": interview_details
    }

    return render_template("view_all_interviews.html",
                           general_details=general_details)
Esempio n. 2
0
def display_job_offer(job_offer_id, jobOffersRepo, companyRepo, applicationsRepo):
    job_offer = jobOffersRepo.getJobOfferByID(job_offer_id)
    company = companyRepo.getCompanyById(job_offer.company_id)
    application = applicationsRepo.getApplicationByID(job_offer.application_id)

    job_offer_details = {
        "job_role": job_offer.job_role, 
        "starting_date": job_offer.starting_date, 
        "salary_offered": job_offer.salary_offered, 
        "perks_offered": job_offer.perks_offered, 
        "offer_response": job_offer.offer_response, 
        "company_name": company.name
    }
    cleanup_specific_job_offer(job_offer_details)

    company_details = {}
    company_details["fields"] = {
        "name": company.name, 
        "description": company.description, 
        "industry": company.industry, 
    }
    cleanup_specific_company(company_details)

    application_details = {}
    application_details["fields"] = {
        "interview_stage": application.interview_stage, 
        "job_description": application.job_description, 
        "emp_type": application.employment_type,
        "date": "N/A",
        "time": "N/A", 
    }
    cleanup_specific_job_application(application_details)

    links = {
        "update_offer": '/applications/{}/job_offers/{}/update_job_offer'.format(application.app_id, job_offer_id), 
        "delete_offer": '/applications/{}/job_offers/{}/delete_job_offer'.format(application.app_id, job_offer_id), 
        "company_profile": '/company/{}/view_company'.format(company.company_id),
        "view_application": '/applications/{}'.format(application.app_id)
    }

    general_details = {
        "job_offer_details": job_offer_details, 
        "company_details": company_details, 
        "application_details": application_details, 
        "links": links
    }

    return render_template("view_job_offer.html", general_details=general_details)
Esempio n. 3
0
def display_all_interview_prep_entries(application_id, interview_id, user_id, applicationsRepo, interviewsRepo, interviewPrepRepo, companyRepo):
    interview_prep_list = interviewPrepRepo.getAllInterviewPrepEntriesByInterviewId(interview_id, user_id)
    application = applicationsRepo.getApplicationByID(application_id)
    interview = interviewsRepo.getInterviewByID(interview_id)
    company = companyRepo.getCompanyById(application.company_id)

    application_details = {}
    application_details["fields"] = {
        "job_role": application.job_role, 
        "employment_type": application.employment_type,  
        "interview_stage": application.interview_stage,
    }
    cleanup_specific_job_application(application_details)

    company_details = {}
    company_details["fields"] = {
        "name": company.name, 
        "description": company.description,
        "location": company.location,
        "industry": company.industry, 
    }
    cleanup_specific_company(company_details)

    interview_details = {}
    interview_details["fields"] = {
        "date": interview.interview_date, 
        "time": interview.interview_time, 
        "interview_type": interview.interview_type,
        "status": interview.status,
    }
    cleanup_specific_interview(interview_details, interview.other_medium)

    interview_prep_details = None

    if interview_prep_list: 
        interview_prep_details = {}
        interview_prep_details["fields"] = {}
        count = 0
        for prep in interview_prep_list:
            count += 1
            interview_prep_id = prep.interview_prep_id
            view_prep_link = '/applications/{}/interview/{}/interview_preparation/{}/view_interview_prep_entry'.format(application_id, interview_id, interview_prep_id)
            interview_prep_details["fields"][interview_prep_id] = {
                "number": count, 
                "question": prep.question, 
                "answer": replace_na_value_with_none(prep.answer), 
                "view_prep_link": view_prep_link
            }

    add_interview_prep = '/applications/{}/interview/{}/interview_preparation'.format(application_id, interview_id)
    view_interview = '/applications/{}/interview/{}'.format(application.app_id, interview.interview_id)
    links = {
        "add_interview_prep": add_interview_prep,
        "company_profile": '/company/{}/view_company'.format(company.company_id),
        "view_application": '/applications/{}'.format(application.app_id), 
        "view_interview": view_interview,
    }

    general_details = {
        "interview_prep_details": interview_prep_details, 
        "interview_details": interview_details, 
        "company_details": company_details, 
        "application_details": application_details,
        "links": links
    }

    return render_template("view_all_interview_prep.html", general_details=general_details)
Esempio n. 4
0
def display_interview_details(interviewsRepo, application_id, interview_id, applicationsRepo, companyRepo):
    application = applicationsRepo.getApplicationByID(application_id)
    interview = interviewsRepo.getInterviewByID(interview_id)
    company = companyRepo.getCompanyById(application.company_id)

    other_medium = interview.other_medium
    interview_details = {}
    interview_details["fields"] = {
        "date": interview.interview_date, 
        "time": interview.interview_time, 
        "interview_type": interview.interview_type, 
        "status":  interview.status,
        "medium": interview.medium, 
        "location": interview.location, 
        "interviewer_names": interview.interviewer_names, 
        "extra_notes": interview.extra_notes,
        "contact_number": interview.contact_number, 
        "past_dated": False,
        "video_link": interview.video_link,
        "display_video_link": False 
    }
    cleanup_specific_interview(interview_details, other_medium)

    company_details = {}
    company_details["fields"] = {
        "name": company.name, 
        "description": company.description, 
        "location": company.location, 
        "industry": company.industry,
    }
    cleanup_specific_company(company_details)

    application_details = {}
    application_details["fields"] = {
        "job_role": application.job_role, 
        "job_description": application.job_description, 
        "interview_stage": application.interview_stage, 
        "emp_type": application.employment_type
    }
    cleanup_specific_job_application(application_details)

    links = {
        "company_website": cleanup_urls(company.url),
        "company_profile": '/company/{}/view_company'.format(company.company_id), 
        "update_interview": "/applications/{}/interview/{}/update_interview".format(application_id, interview_id),
        "delete_interview": "/applications/{}/interview/{}/delete_interview".format(application_id, interview_id),
        "view_interview_prep_url": '/applications/{}/interview/{}/interview_preparation'.format(application_id, interview_id),
        "view_all_interview_prep": '/applications/{}/interview/{}/view_all_preparation'.format(application_id, interview_id), 
        "view_application": '/applications/{}'.format(application_id), 
        "view_application_notes": '/applications/{}/view_application_notes'.format(application_id), 
        "view_company_notes": '/company/{}/view_all_company_notes'.format(company.company_id), 
        "update_interview_status": '/applications/{}/interview/{}/update_interview_status'.format(application_id, interview_id), 
        "add_new_note": '/applications/{}/app_notes/add_note'.format(application_id)
    }

    general_details = {
        "application_details": application_details,
        "company_details": company_details, 
        "interview_details": interview_details,
        "links": links
    }

    return render_template("view_interview_details.html", general_details=general_details)
Esempio n. 5
0
def display_update_interview_prep_form(application_id, interview_id,
                                       interview_prep_id,
                                       update_interview_prep_form,
                                       applicationsRepo, companyRepo,
                                       interviewsRepo):
    application = applicationsRepo.getApplicationByID(application_id)
    company = companyRepo.getCompanyById(application.company_id)
    interview = interviewsRepo.getInterviewByID(interview_id)

    application_details = {}
    application_details["fields"] = {
        "job_role": application.job_role,
        "job_description": application.job_description,
        "interview_stage": application.interview_stage
    }
    cleanup_specific_job_application(application_details)

    company_details = {}
    company_details["fields"] = {
        "name": company.name,
        "description": company.description,
        "location": company.location,
        "interviewers": company.interviewer_names
    }
    cleanup_specific_company(company_details)

    interview_details = {}
    interview_details["fields"] = {
        "date": interview.interview_date,
        "time": interview.interview_time,
        "status": interview.status,
        "interview_type": interview.interview_type,
    }
    cleanup_specific_interview(interview_details, interview.other_medium)

    view_all_interview_prep = '/applications/{}/interview/{}/view_all_preparation'.format(
        application_id, interview_id)
    links = {
        "action_url":
        '/applications/{}/interview/{}/interview_preparation/{}/update_interview_prep_entry'
        .format(application_id, interview_id, interview_prep_id),
        "view_interview":
        '/applications/{}/interview/{}'.format(application_id, interview_id),
        "view_application":
        '/applications/{}'.format(application_id),
        "view_all_interview_prep":
        view_all_interview_prep,
        "glassdoor":
        "https://www.glassdoor.co.uk/blog/50-common-interview-questions/",
        "the_muse":
        "https://www.themuse.com/advice/interview-questions-and-answers",
        "monster":
        "https://www.monster.com/career-advice/article/100-potential-interview-questions",
        "national_careers_service_UK":
        "https://nationalcareers.service.gov.uk/careers-advice/top-10-interview-questions"
    }

    general_details = {
        "company_details": company_details,
        "application_details": application_details,
        "interview_details": interview_details,
        "links": links
    }

    return render_template(
        "update_interview_prep.html",
        general_details=general_details,
        update_interview_prep_form=update_interview_prep_form)
Esempio n. 6
0
def display_application_details(session, user_id, applicationsRepo,
                                application_id, companyRepo, interviewsRepo,
                                jobOffersRepo):
    application = applicationsRepo.getApplicationByID(application_id)
    app_date = application.app_date
    app_time = application.app_time
    company = companyRepo.getCompanyById(application.company_id)

    application_details = {}
    application_details["fields"] = {
        "job_ref": application.job_ref,
        "date": app_date,
        "time": app_time,
        "job_role": application.job_role,
        "job_description": application.job_description,
        "perks": application.job_perks,
        "technology_stack": application.tech_stack,
        "salary": application.salary,
        "platform": application.platform,
        "interview_stage": application.interview_stage,
        "emp_type": application.employment_type,
        "contact_received?": application.contact_received,
    }
    cleanup_specific_job_application(application_details)

    # Lets grab some company details:
    company_details = {}
    company_details["fields"] = {
        "name": company.name,
        "description": company.description,
    }
    cleanup_specific_company(company_details)

    # Now I want to display all the interviews & Job offers for this application_id:
    interview_details = get_interviews(interviewsRepo, application_id)
    job_offer_details = get_job_offers(application_id, user_id, company,
                                       jobOffersRepo)

    general_details = {
        "links": {},
        "application_details": application_details,
        "company_details": company_details,
        "interview_details": interview_details,
        "job_offer_details": job_offer_details,
    }

    general_details["links"] = {
        "update_application":
        '/applications/{}/update_application'.format(application_id),
        "delete_application":
        '/applications/{}/delete'.format(application_id),
        "add_note":
        '/applications/{}/app_notes/add_note'.format(application_id),
        "view_notes":
        '/applications/{}/view_application_notes'.format(application_id),
        "add_interview":
        '/applications/{}/add_interview'.format(application_id),
        "view_interviews":
        '/applications/{}/view_all_interviews'.format(application_id),
        "company_profile":
        '/company/{}/view_company'.format(company.company_id),
        "company_website":
        cleanup_urls(company.url),
        "update_company":
        '/company/{}/update_company'.format(company.company_id),
        "view_job_posting":
        cleanup_urls(application.job_url),
        "add_job_offer":
        '/applications/{}/add_job_offer'.format(application_id),
    }

    return render_template("view_application.html",
                           general_details=general_details)
Esempio n. 7
0
def display_interview_preparation_form(user_id, interview_prep_form,
                                       application_id, interview_id,
                                       applicationsRepo, companyRepo,
                                       interviewPrepRepo, interviewsRepo):
    application = applicationsRepo.getApplicationByID(application_id)
    interview = interviewsRepo.getInterviewByID(interview_id)
    company = companyRepo.getCompanyById(application.company_id)
    interview_prep_entries = interviewPrepRepo.getAllInterviewPrepEntriesByInterviewId(
        interview_id, user_id)

    company_details = {}
    company_details["fields"] = {
        "name": company.name,
        "description": company.description,
        "website": company.url,
        "interviewers": interview.interviewer_names,
    }
    cleanup_specific_company(company_details)

    application_details = {}
    application_details["fields"] = {
        "job_role": application.job_role,
        "job_description": application.job_description,
        "interview_stage": application.interview_stage
    }
    cleanup_specific_job_application(application_details)

    interview_details = {}
    interview_details["fields"] = {
        "date": interview.interview_date,
        "time": interview.interview_time,
        "status": interview.status,
        "interview_type": interview.interview_type,
    }
    cleanup_specific_interview(interview_details, interview.other_medium)

    interview_prep_details = {"fields": None, "empty_table": True}

    # If there are any interview_prep entries to display, lets add them to our dict:
    question_number = 0
    if interview_prep_entries:
        interview_prep_details["fields"] = {}
        interview_prep_details["empty_table"] = False
        for entry in interview_prep_entries:
            question_number += 1
            prep_id = entry.interview_prep_id
            view_prep_entry = '/applications/{}/interview/{}/interview_preparation/{}/view_interview_prep_entry'.format(
                application_id, interview_id, prep_id)
            interview_prep_details["fields"][prep_id] = {
                "Question": entry.question,
                "Answer": replace_na_value_with_none(entry.answer),
                "question_number": question_number,
                "view_prep_entry": view_prep_entry,
            }

    view_all_interview_prep = '/applications/{}/interview/{}/view_all_preparation'.format(
        application_id, interview_id)
    links = {
        "application_id":
        application_id,
        "interview_id":
        interview_id,
        "action_url":
        '/applications/{}/interview/{}/interview_preparation'.format(
            application_id, interview_id),
        "view_interview":
        '/applications/{}/interview/{}'.format(application_id, interview_id),
        "view_application":
        '/applications/{}'.format(application_id),
        "view_all_interview_prep":
        view_all_interview_prep,
        "view_company_profile":
        '/company/{}/view_company'.format(company.company_id),
        "view_company_notes":
        '/company/{}/view_all_company_notes'.format(company.company_id),
        "glassdoor":
        "https://www.glassdoor.co.uk/blog/50-common-interview-questions/",
        "the_muse":
        "https://www.themuse.com/advice/interview-questions-and-answers",
        "monster":
        "https://www.monster.com/career-advice/article/100-potential-interview-questions",
        "national_careers_service_UK":
        "https://nationalcareers.service.gov.uk/careers-advice/top-10-interview-questions"
    }

    general_details = {
        "interview_prep_details": interview_prep_details,
        "company_details": company_details,
        "application_details": application_details,
        "interview_details": interview_details,
        "links": links,
    }

    return render_template("interview_prep.html",
                           general_details=general_details,
                           interview_prep_form=interview_prep_form)