36# added my jobs to employee

This commit is contained in:
Eligiusz Kurzawa 2021-01-17 11:30:13 +01:00
parent 7b461d92b5
commit c9aba0ad89
5 changed files with 248 additions and 66 deletions

View File

@ -35,17 +35,14 @@
<nav class="navbar navbar-expand-lg navbar-dark ftco_navbar bg-dark ftco-navbar-light" id="ftco-navbar"> <nav class="navbar navbar-expand-lg navbar-dark ftco_navbar bg-dark ftco-navbar-light" id="ftco-navbar">
<div class="container"> <div class="container">
<a class="navbar-brand" href="{% url 'jobs:home' %}">JobPortal</a> <a class="navbar-brand" href="{% url 'jobs:home' %}">Job portal</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#ftco-nav" aria-controls="ftco-nav" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#ftco-nav" aria-controls="ftco-nav" aria-expanded="false" aria-label="Toggle navigation">
<span class="oi oi-menu"></span> Menu <span class="oi oi-menu"></span> Menu
</button> </button>
<div class="collapse navbar-collapse" id="ftco-nav"> <div class="collapse navbar-collapse" id="ftco-nav">
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<li class="nav-item active"><a href="{% url 'jobs:home' %}" class="nav-link">Home</a></li> <li class="nav-item"><a href="{% url 'jobs:home' %}" class="nav-link">Home</a></li>
<li class="nav-item"><a href="about.html" class="nav-link">About</a></li>
<li class="nav-item"><a href="blog.html" class="nav-link">Blog</a></li>
<li class="nav-item"><a href="contact.html" class="nav-link">Contact</a></li>
{% if not user.is_authenticated %} {% if not user.is_authenticated %}
<li class="nav-item cta mr-md-2"><a href="{% url 'users:register' %}" class="nav-link">Register</a></li> <li class="nav-item cta mr-md-2"><a href="{% url 'users:register' %}" class="nav-link">Register</a></li>
<li class="nav-item cta cta-colored"><a href="{% url 'users:login' %}" class="nav-link">Login</a></li> <li class="nav-item cta cta-colored"><a href="{% url 'users:login' %}" class="nav-link">Login</a></li>
@ -56,7 +53,7 @@
{{ user.first_name }} {{ user.first_name }}
</button> </button>
<div class="dropdown-menu"> <div class="dropdown-menu">
<a class="dropdown-item" href="#">My jobs</a> <a class="dropdown-item" href="{% url 'users:employee_jobs' %}">My jobs</a>
<a class="dropdown-item" href="{% url 'users:employer_messages' pk=user.pk %}">You have {{ user.count_unread_messages }} message(s)</a> <a class="dropdown-item" href="{% url 'users:employer_messages' pk=user.pk %}">You have {{ user.count_unread_messages }} message(s)</a>
<a class="dropdown-item" href="{% url 'users:my_wish_list' pk=user.id %}">My wish list</a> <a class="dropdown-item" href="{% url 'users:my_wish_list' pk=user.id %}">My wish list</a>
<a class="dropdown-item" href="{% url 'users:update_profile' pk=user.get_profile_id %}">Update profile</a> <a class="dropdown-item" href="{% url 'users:update_profile' pk=user.get_profile_id %}">Update profile</a>
@ -88,81 +85,31 @@
<!-- END nav --> <!-- END nav -->
{% block content %} {% block content %}
{% endblock %} {% endblock %}
<section class="ftco-section-parallax">
<div class="parallax-img d-flex align-items-center">
<div class="container">
<div class="row d-flex justify-content-center">
<div class="col-md-7 text-center heading-section heading-section-white ftco-animate">
<h2>Subcribe to our Newsletter</h2>
<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in</p>
<div class="row d-flex justify-content-center mt-4 mb-4">
<div class="col-md-8">
<form action="#" class="subscribe-form">
<div class="form-group d-flex">
<input type="text" class="form-control" placeholder="Enter email address">
<input type="submit" value="Subscribe" class="submit px-3">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</section>
<footer class="ftco-footer ftco-bg-dark ftco-section"> <footer class="ftco-footer ftco-bg-dark ftco-section">
<div class="container"> <div class="container">
<div class="row mb-5"> <div class="row mb-5">
<div class="col-md"> <div class="col-md">
<div class="ftco-footer-widget mb-4"> <div class="ftco-footer-widget mb-4">
<h2 class="ftco-heading-2">About</h2> <h2 class="ftco-heading-2">About</h2>
<p>Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts.</p> <p>EDF Energy is a British integrated energy company with operations spanning electricity generation and the sale of natural gas and electricity to homes and businesses throughout the United Kingdom.</p>
<ul class="ftco-footer-social list-unstyled float-md-left float-lft mt-3"> <ul class="ftco-footer-social list-unstyled float-md-left float-lft mt-3">
<li class="ftco-animate"><a href="#"><span class="icon-twitter"></span></a></li> <li class="ftco-animate"><a href="https://twitter.com/edfenergy"><span class="icon-twitter"></span></a></li>
<li class="ftco-animate"><a href="#"><span class="icon-facebook"></span></a></li> <li class="ftco-animate"><a href="https://www.facebook.com/edfenergy"><span class="icon-facebook"></span></a></li>
<li class="ftco-animate"><a href="#"><span class="icon-instagram"></span></a></li> <li class="ftco-animate"><a href="https://www.instagram.com/edfenergy/"><span class="icon-instagram"></span></a></li>
</ul>
</div>
</div>
<div class="col-md">
<div class="ftco-footer-widget mb-4">
<h2 class="ftco-heading-2">Employers</h2>
<ul class="list-unstyled">
<li><a href="#" class="py-2 d-block">How it works</a></li>
<li><a href="#" class="py-2 d-block">Register</a></li>
<li><a href="#" class="py-2 d-block">Post a Job</a></li>
<li><a href="#" class="py-2 d-block">Advance Skill Search</a></li>
<li><a href="#" class="py-2 d-block">Recruiting Service</a></li>
<li><a href="#" class="py-2 d-block">Blog</a></li>
<li><a href="#" class="py-2 d-block">Faq</a></li>
</ul>
</div>
</div>
<div class="col-md">
<div class="ftco-footer-widget mb-4 ml-md-4">
<h2 class="ftco-heading-2">Workers</h2>
<ul class="list-unstyled">
<li><a href="#" class="py-2 d-block">How it works</a></li>
<li><a href="#" class="py-2 d-block">Register</a></li>
<li><a href="#" class="py-2 d-block">Post Your Skills</a></li>
<li><a href="#" class="py-2 d-block">Job Search</a></li>
<li><a href="#" class="py-2 d-block">Emploer Search</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<div class="col-md"> <div class="col-md">
<div class="ftco-footer-widget mb-4"> <div class="ftco-footer-widget mb-4">
<h2 class="ftco-heading-2">Have a Questions?</h2> <h2 class="ftco-heading-2">Have a Questions?</h2>
<div class="block-23 mb-3"> <div class="block-23 mb-3">
<ul> <ul>
<li><span class="icon icon-map-marker"></span><span class="text">203 Fake St. Mountain View, San Francisco, California, USA</span></li> <li><span class="icon icon-map-marker"></span><span class="text">203 Fake St. Mountain View, London, United Kingdom</span></li>
<li><a href="#"><span class="icon icon-phone"></span><span class="text">+2 392 3929 210</span></a></li> <li><a href="#"><span class="icon icon-phone"></span><span class="text">+2 392 3929 210</span></a></li>
<li><a href="#"><span class="icon icon-envelope"></span><span class="text">info@yourdomain.com</span></a></li> <li><a href="#"><span class="icon icon-envelope"></span><span class="text">info@fakeedfenergy.com</span></a></li>
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -29,11 +29,11 @@
{% else %} {% else %}
<input type="submit" value="Apply" class="btn btn-primary py-2 mr-1"> <input type="submit" value="Apply" class="btn btn-primary py-2 mr-1">
{% if in_my_list %} {% if in_my_list %}
<a href="javascripts:void(0);" id="jobwl{{ job.id }}" title="Remove from my wish list" onclick="addorremove({{ job.id }})" class="btn btn-danger rounded-circle btn-favorite d-flex align-items-center"> <a href="javascripts:void(0);" id="jobwl{{ job.id }}" title="Remove from my wish list" data-wl="1" onclick="addorremove({{ job.id }})" class="btn btn-danger rounded-circle btn-favorite d-flex align-items-center">
<span class="icon-heart"></span> <span class="icon-heart"></span>
</a> </a>
{% else %} {% else %}
<a href="javascripts:void(0);" id="jobwl{{ job.id }}" title="Add to my wish list" onclick="addorremove({{ job.id }})" class="btn btn-primary rounded-circle btn-favorite d-flex align-items-center"> <a href="javascripts:void(0);" id="jobwl{{ job.id }}" title="Add to my wish list" data-wl="0" onclick="addorremove({{ job.id }})" class="btn btn-primary rounded-circle btn-favorite d-flex align-items-center">
<span class="icon-heart"></span> <span class="icon-heart"></span>
</a> </a>
{% endif %} {% endif %}

View File

@ -0,0 +1,223 @@
{% extends 'base.html' %}
{% load static %}
{% block content %}
<div class="hero-wrap js-fullheight" style="background-image: url('{% static 'images/bg_2.jpg' %}');" data-stellar-background-ratio="0.5">
<div class="overlay"></div>
<div class="container">
<div class="row no-gutters slider-text js-fullheight align-items-center justify-content-start" data-scrollax-parent="true">
<div class="col-xl-10 ftco-animate mb-5 pb-5" data-scrollax=" properties: { translateY: '70%' }">
<p class="mb-4 mt-5 pt-5" data-scrollax="properties: { translateY: '30%', opacity: 1.6 }">We have <span class="number" data-number="850000">0</span> great job offers you deserve!</p>
<h1 class="mb-5" data-scrollax="properties: { translateY: '30%', opacity: 1.6 }">Your Dream <br><span>Job is Waiting</span></h1>
<div class="ftco-search">
<div class="row">
<div class="col-md-12 nav-link-wrap">
<div class="nav nav-pills text-center" id="v-pills-tab" role="tablist" aria-orientation="vertical">
<a class="nav-link active mr-md-1" id="v-pills-1-tab" data-toggle="pill" href="#v-pills-1" role="tab" aria-controls="v-pills-1" aria-selected="true">Find a Job</a>
</div>
</div>
<div class="col-md-12 tab-wrap">
<div class="tab-content p-4" id="v-pills-tabContent">
<div class="tab-pane fade show active" id="v-pills-1" role="tabpanel" aria-labelledby="v-pills-nextgen-tab">
<form action="{% url 'jobs:search' %}" class="search-job" method="get">
<div class="row">
<div class="col-md">
<div class="form-group">
<div class="form-field">
<div class="icon"><span class="icon-briefcase"></span></div>
<input type="text" name="job_title" class="form-control" placeholder="eg. Garphic. Web Developer">
</div>
</div>
</div>
<div class="col-md">
<div class="form-group">
<div class="form-field">
<div class="select-wrap">
<div class="icon"><span class="ion-ios-arrow-down"></span></div>
<select name="job_type" id="" class="form-control">
<option value="full_time">Full Time</option>
<option value="part_time">Part Time</option>
<option value="freelance">Freelance</option>
<option value="internship">Internship</option>
<option value="temporary">Temporary</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-md">
<div class="form-group">
<div class="form-field">
<div class="icon"><span class="icon-map-marker"></span></div>
<input type="text" name="job_location" class="form-control" placeholder="Location">
</div>
</div>
</div>
<div class="col-md">
<div class="form-group">
<div class="form-field">
<input type="submit" value="Search" class="form-control btn btn-primary">
</div>
</div>
</div>
</div>
</form>
</div>
<div class="tab-pane fade" id="v-pills-2" role="tabpanel" aria-labelledby="v-pills-performance-tab">
<form action="#" class="search-job">
<div class="row">
<div class="col-md">
<div class="form-group">
<div class="form-field">
<div class="icon"><span class="icon-user"></span></div>
<input type="text" class="form-control" placeholder="eg. Adam Scott">
</div>
</div>
</div>
<div class="col-md">
<div class="form-group">
<div class="form-field">
<div class="select-wrap">
<div class="icon"><span class="ion-ios-arrow-down"></span></div>
<select name="" id="" class="form-control">
<option value="">Category</option>
<option value="">Full Time</option>
<option value="">Part Time</option>
<option value="">Freelance</option>
<option value="">Internship</option>
<option value="">Temporary</option>
</select>
</div>
</div>
</div>
</div>
<div class="col-md">
<div class="form-group">
<div class="form-field">
<div class="icon"><span class="icon-map-marker"></span></div>
<input type="text" class="form-control" placeholder="Location">
</div>
</div>
</div>
<div class="col-md">
<div class="form-group">
<div class="form-field">
<input type="submit" value="Search" class="form-control btn btn-primary">
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<section class="ftco-section bg-light">
<div class="container">
<div class="row justify-content-center mb-5 pb-3">
<div class="col-md-7 heading-section text-center ftco-animate">
<span class="subheading">Recently applied jobs</span>
<h2 class="mb-4"><span>My</span> jobs</h2>
</div>
</div>
<div class="row">
{% if user.is_employee and employee_jobs %}
{% for job in employee_jobs %}
<div class="col-md-12 ftco-animate">
<div class="job-post-item bg-white p-4 d-block d-md-flex align-items-center">
<div class="mb-4 mb-md-0 mr-5">
<div class="job-post-item-header d-flex align-items-center">
<h2 class="mr-3 text-black h4">{{ job.title }}</h2>
<div class="badge-wrap">
{% if job.job_type == 'full_time' %}
<span class="bg-warning text-white badge py-2 px-3">Full Time</span>
{% elif job.job_type == 'part_time'%}
<span class="bg-info text-white badge py-2 px-3">Part Time</span>
{% elif job.job_type == 'freelance'%}
<span class="bg-primary text-white badge py-2 px-3">Freelance</span>
{% elif job.job_type == 'internship'%}
<span class="bg-secondary text-white badge py-2 px-3">Internship</span>
{% elif job.job_type == 'temporary'%}
<span class="bg-danger text-white badge py-2 px-3">Temporary</span>
{% endif %}
</div>
</div>
<div class="job-post-item-body d-block d-md-flex">
<div class="mr-3"><span class="icon-layers"></span> <a href="#">{{ job.company }}</a></div>
<div><span class="icon-my_location"></span> <span>{{ job.location }}</span></div>
</div>
</div>
<div class="ml-auto d-flex">
<a href="{% url 'jobs:single_job' job.slug job.pk %}" class="btn btn-secondary">Applied Job</a>
</div>
</div>
</div> <!-- end -->
{% endfor %}
{% elif user.is_employer and not employer_jobs %}
<div class="col-md-12 ftco-animate">
<div class="job-post-item bg-white p-4 d-block d-md-flex align-items-center">
<div class="mb-4 mb-md-0 mr-5">
<div class="job-post-item-header d-flex align-items-center">
<h2 class="mr-3 text-black h4">You don't have a applied job.</h2>
</div>
</div>
</div>
</div> <!-- end -->
{% endif %}
{% if user.is_employer %}
<div class="col-md-12 ftco-animate">
<div class="job-post-item bg-white p-4 d-block d-md-flex align-items-center">
<div class="mb-4 mb-md-0 mr-5">
<div class="job-post-item-header d-flex align-items-center">
<h2 class="mr-3 text-black h4">You are not an employee.</h2>
</div>
</div>
</div>
</div> <!-- end -->
{% endif %}
</div>
<div class="row mt-5">
{% if is_paginated %}
<div class="col text-center">
<div class="block-27">
<ul>
{% if page_obj.has_previous %}
<li><a href="?page={{ page_obj.previous_page_number }}"><</a></li>
{% else %}
<li class="disabled"><span>&lt;</span></li>
{% endif %}
{% for i in paginator.page_range %}
{% if page_obj.number == i %}
<li class="active"><span>{{ i }}</span></li>
{% else %}
<li><a href="?page={{ i }}">{{ i }}</a></li>
{% endif %}
{% endfor %}
{% if page_obj.has_next %}
<li><a href="?page={{ page_obj.next_page_number }}">&gt;</a></li>
{% else %}
<li class="disabled"><span>&gt;</span></li>
{% endif %}
</ul>
</div>
</div>
{% endif %}
</div>
</div>
</section>
{% endblock %}

View File

@ -9,6 +9,7 @@ urlpatterns = [
path('update-profile/<int:pk>/', UserUpdateView.as_view(), name='update_profile'), path('update-profile/<int:pk>/', UserUpdateView.as_view(), name='update_profile'),
path('employee-profile/<int:employee_id>/<int:job_id>/', EmployeeProfileView.as_view(), name='employee_profile'), path('employee-profile/<int:employee_id>/<int:job_id>/', EmployeeProfileView.as_view(), name='employee_profile'),
path('employer-jobs/', EmployerPostedJobsView.as_view(), name='employer_jobs'), path('employer-jobs/', EmployerPostedJobsView.as_view(), name='employer_jobs'),
path('employee-jobs/', EmployeeAppliedJobsView.as_view(), name='employee_jobs'),
path('employee-messages/<int:pk>/', EmployeeMessagesView.as_view(), name='employer_messages'), path('employee-messages/<int:pk>/', EmployeeMessagesView.as_view(), name='employer_messages'),
path('employee-display-messages/<int:pk>/', EmployeeDisplayMessages.as_view(), name='employer_display_messages'), path('employee-display-messages/<int:pk>/', EmployeeDisplayMessages.as_view(), name='employer_display_messages'),
path('add-wishlist/<int:pk>/', AddWishListView.as_view(), name='add_wishlist'), path('add-wishlist/<int:pk>/', AddWishListView.as_view(), name='add_wishlist'),

View File

@ -169,3 +169,14 @@ class MyWishList(ListView):
flat=True) flat=True)
return context return context
@method_decorator(login_required(login_url='/users/login'), name='dispatch')
class EmployeeAppliedJobsView(ListView):
template_name = 'users/employee-applied-jobs.html'
context_object_name = 'employee_jobs'
model = Job
paginate_by = 3
def get_queryset(self):
return Job.objects.filter(employee=self.request.user).order_by('-id')