diff --git a/school/job/doctype/job_settings/__init__.py b/school/job/doctype/job_settings/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/school/job/doctype/job_settings/job_settings.js b/school/job/doctype/job_settings/job_settings.js new file mode 100644 index 00000000..7234fdf2 --- /dev/null +++ b/school/job/doctype/job_settings/job_settings.js @@ -0,0 +1,8 @@ +// Copyright (c) 2022, Frappe and contributors +// For license information, please see license.txt + +frappe.ui.form.on('Job Settings', { + // refresh: function(frm) { + + // } +}); diff --git a/school/job/doctype/job_settings/job_settings.json b/school/job/doctype/job_settings/job_settings.json new file mode 100644 index 00000000..aac7e3aa --- /dev/null +++ b/school/job/doctype/job_settings/job_settings.json @@ -0,0 +1,42 @@ +{ + "actions": [], + "allow_rename": 1, + "creation": "2022-01-10 17:16:46.598673", + "doctype": "DocType", + "editable_grid": 1, + "engine": "InnoDB", + "field_order": [ + "allow_posting" + ], + "fields": [ + { + "default": "0", + "fieldname": "allow_posting", + "fieldtype": "Check", + "label": "Allow Job Posting From Website" + } + ], + "index_web_pages_for_search": 1, + "issingle": 1, + "links": [], + "modified": "2022-01-10 18:45:26.646438", + "modified_by": "Administrator", + "module": "Job", + "name": "Job Settings", + "owner": "Administrator", + "permissions": [ + { + "create": 1, + "delete": 1, + "email": 1, + "print": 1, + "read": 1, + "role": "System Manager", + "share": 1, + "write": 1 + } + ], + "sort_field": "modified", + "sort_order": "DESC", + "states": [] +} \ No newline at end of file diff --git a/school/job/doctype/job_settings/job_settings.py b/school/job/doctype/job_settings/job_settings.py new file mode 100644 index 00000000..48d20ea9 --- /dev/null +++ b/school/job/doctype/job_settings/job_settings.py @@ -0,0 +1,8 @@ +# Copyright (c) 2022, Frappe and contributors +# For license information, please see license.txt + +# import frappe +from frappe.model.document import Document + +class JobSettings(Document): + pass diff --git a/school/job/doctype/job_settings/test_job_settings.py b/school/job/doctype/job_settings/test_job_settings.py new file mode 100644 index 00000000..65294592 --- /dev/null +++ b/school/job/doctype/job_settings/test_job_settings.py @@ -0,0 +1,8 @@ +# Copyright (c) 2022, Frappe and Contributors +# See license.txt + +# import frappe +import unittest + +class TestJobSettings(unittest.TestCase): + pass diff --git a/school/public/css/style.css b/school/public/css/style.css index 1786a37d..6cabda07 100644 --- a/school/public/css/style.css +++ b/school/public/css/style.css @@ -63,9 +63,8 @@ input[type=checkbox] { text-align: center; letter-spacing: 0.011em; text-transform: uppercase; - color: #2C5477; font-weight: bold; - box-shadow: 0px 5px 10px rgb(0 0 0 / 10%); + box-shadow: var(--shadow-base); } .dark-pills { @@ -119,9 +118,7 @@ input[type=checkbox] { .card-heading { font-weight: 600; - font-size: 1.5rem; - line-height: 156%; - letter-spacing: -0.014em; + font-size: var(--text-3xl); color: var(--text-color-dark); } @@ -1478,20 +1475,20 @@ pre { .job-card { display: flex; - justify-content: space-between; - align-items: center; - padding-right: 1rem; -} - -.job-card-info { - padding: 2rem 1rem 1rem; -} - -.job-description-section { padding: 1rem; } +.job-card-info { + padding: 0 1.5rem; + flex: 1; +} + .company-logo { - background-position: left; + background-position: center; background-size: 88px; } + +.job-card-parent { + display: grid; + row-gap: 1rem; +} diff --git a/school/www/jobs/index.html b/school/www/jobs/index.html index dcf2af68..1d28fcd9 100644 --- a/school/www/jobs/index.html +++ b/school/www/jobs/index.html @@ -3,32 +3,47 @@ {% block title %}{{ _('Job Openings') }}{% endblock %} {% block content %} +{% set allow_posting = frappe.db.get_single_value("Job Settings", "allow_posting") %}
- {{ _("Post a Job") }} + + {% if allow_posting and jobs | length %} + {{ _("Post a Job") }} + {% endif %} +
{{ _("Job Openings") }}
-
+ {% if jobs | length %} +
{% for job in jobs %}
-
-
-
{{ _(job.type) }}
-
{{ job.location }}
-
-
-
{{ _(job.job_title) }}
- {{ job.company_name }} -
-
+
+
+
{{ _(job.type) }}
+
{{ job.location }}
+
+
{{ _(job.job_title) }}
+
{{ job.company_name }}
+
+
Posted on: {{ frappe.utils.format_date(job.creation, "medium") }}
{% endfor %}
+ {% else %} +
+ +
{{ _("No open positions") }}
+
{{ _("There are no job openings available.") }}
+ {% if allow_posting %} + {{ _("Post a Job") }} + {% endif %} +
+ {% endif %}
{% endblock %} diff --git a/school/www/jobs/index.py b/school/www/jobs/index.py index 1870ae0e..c1534e15 100644 --- a/school/www/jobs/index.py +++ b/school/www/jobs/index.py @@ -8,7 +8,7 @@ def get_context(context): }, [ "job_title", "location", "type", "company_name", - "company_logo", "name" + "company_logo", "name", "creation" ], order_by="creation desc") diff --git a/school/www/jobs/job.html b/school/www/jobs/job.html index e733fb8c..e692127c 100644 --- a/school/www/jobs/job.html +++ b/school/www/jobs/job.html @@ -8,23 +8,28 @@
{{ BreadCrumb(job) }}
-
-
- -
{{ _(job.type) }}
-
{{ job.location }}
-
-
-
{{ _(job.job_title) }}
- {{ job.company_name }} -
Posted On: {{ frappe.utils.format_date(job.creation, "medium") }}
-
-
+
+
+ +
{{ _(job.type) }}
+
{{ job.location }}
+
+
+
{{ _(job.job_title) }}
+ {{ job.company_name }} +
+
+
+
Posted On: {{ frappe.utils.format_date(job.creation, "medium") }}
+ Edit +
+
-
+ +
{{ _(job.description) }}
{{ _("Apply Now") }}