update
This commit is contained in:
parent
916cbc4fcf
commit
9a768726e5
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,4 +1,4 @@
|
|||||||
<<<<<<< HEAD
|
|
||||||
# Byte-compiled / optimized / DLL files
|
# Byte-compiled / optimized / DLL files
|
||||||
__pycache__/
|
__pycache__/
|
||||||
*.pyc
|
*.pyc
|
||||||
@ -110,4 +110,3 @@ local_settings.py
|
|||||||
# If a rule in .gitignore ends with a directory separator (i.e. `/`
|
# If a rule in .gitignore ends with a directory separator (i.e. `/`
|
||||||
# character), then remove the file in the remaining pattern string and all
|
# character), then remove the file in the remaining pattern string and all
|
||||||
# files with the same name in subdirectories.
|
# files with the same name in subdirectories.
|
||||||
>>>>>>> 29790ab (add external integration)
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@ -57,7 +57,6 @@ INSTALLED_APPS = [
|
|||||||
'django_countries',
|
'django_countries',
|
||||||
'django_celery_results',
|
'django_celery_results',
|
||||||
'django_q',
|
'django_q',
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
SITE_ID = 1
|
SITE_ID = 1
|
||||||
@ -253,3 +252,103 @@ Q_CLUSTER = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
customColorPalette = [
|
||||||
|
{
|
||||||
|
'color': 'hsl(4, 90%, 58%)',
|
||||||
|
'label': 'Red'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'color': 'hsl(340, 82%, 52%)',
|
||||||
|
'label': 'Pink'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'color': 'hsl(291, 64%, 42%)',
|
||||||
|
'label': 'Purple'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'color': 'hsl(262, 52%, 47%)',
|
||||||
|
'label': 'Deep Purple'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'color': 'hsl(231, 48%, 48%)',
|
||||||
|
'label': 'Indigo'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'color': 'hsl(207, 90%, 54%)',
|
||||||
|
'label': 'Blue'
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
CKEDITOR_5_CUSTOM_CSS = 'path_to.css' # optional
|
||||||
|
CKEDITOR_5_FILE_STORAGE = "path_to_storage.CustomStorage" # optional
|
||||||
|
CKEDITOR_5_CONFIGS = {
|
||||||
|
'default': {
|
||||||
|
'toolbar': {
|
||||||
|
'items': ['heading', '|', 'bold', 'italic', 'link',
|
||||||
|
'bulletedList', 'numberedList', 'blockQuote', 'imageUpload', ],
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
'extends': {
|
||||||
|
'blockToolbar': [
|
||||||
|
'paragraph', 'heading1', 'heading2', 'heading3',
|
||||||
|
'|',
|
||||||
|
'bulletedList', 'numberedList',
|
||||||
|
'|',
|
||||||
|
'blockQuote',
|
||||||
|
],
|
||||||
|
'toolbar': {
|
||||||
|
'items': ['heading', '|', 'outdent', 'indent', '|', 'bold', 'italic', 'link', 'underline', 'strikethrough',
|
||||||
|
'code','subscript', 'superscript', 'highlight', '|', 'codeBlock', 'sourceEditing', 'insertImage',
|
||||||
|
'bulletedList', 'numberedList', 'todoList', '|', 'blockQuote', 'imageUpload', '|',
|
||||||
|
'fontSize', 'fontFamily', 'fontColor', 'fontBackgroundColor', 'mediaEmbed', 'removeFormat',
|
||||||
|
'insertTable',
|
||||||
|
],
|
||||||
|
'shouldNotGroupWhenFull': 'true'
|
||||||
|
},
|
||||||
|
'image': {
|
||||||
|
'toolbar': ['imageTextAlternative', '|', 'imageStyle:alignLeft',
|
||||||
|
'imageStyle:alignRight', 'imageStyle:alignCenter', 'imageStyle:side', '|'],
|
||||||
|
'styles': [
|
||||||
|
'full',
|
||||||
|
'side',
|
||||||
|
'alignLeft',
|
||||||
|
'alignRight',
|
||||||
|
'alignCenter',
|
||||||
|
]
|
||||||
|
|
||||||
|
},
|
||||||
|
'table': {
|
||||||
|
'contentToolbar': [ 'tableColumn', 'tableRow', 'mergeTableCells',
|
||||||
|
'tableProperties', 'tableCellProperties' ],
|
||||||
|
'tableProperties': {
|
||||||
|
'borderColors': customColorPalette,
|
||||||
|
'backgroundColors': customColorPalette
|
||||||
|
},
|
||||||
|
'tableCellProperties': {
|
||||||
|
'borderColors': customColorPalette,
|
||||||
|
'backgroundColors': customColorPalette
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'heading' : {
|
||||||
|
'options': [
|
||||||
|
{ 'model': 'paragraph', 'title': 'Paragraph', 'class': 'ck-heading_paragraph' },
|
||||||
|
{ 'model': 'heading1', 'view': 'h1', 'title': 'Heading 1', 'class': 'ck-heading_heading1' },
|
||||||
|
{ 'model': 'heading2', 'view': 'h2', 'title': 'Heading 2', 'class': 'ck-heading_heading2' },
|
||||||
|
{ 'model': 'heading3', 'view': 'h3', 'title': 'Heading 3', 'class': 'ck-heading_heading3' }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'list': {
|
||||||
|
'properties': {
|
||||||
|
'styles': 'true',
|
||||||
|
'startIndex': 'true',
|
||||||
|
'reversed': 'true',
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Define a constant in settings.py to specify file upload permissions
|
||||||
|
CKEDITOR_5_FILE_UPLOAD_PERMISSION = "staff" # Possible values: "staff", "authenticated", "any"
|
||||||
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,4 +1,4 @@
|
|||||||
# Generated by Django 5.2.7 on 2025-10-11 11:04
|
# Generated by Django 5.2.6 on 2025-10-12 10:34
|
||||||
|
|
||||||
import django.core.validators
|
import django.core.validators
|
||||||
import django.db.models.deletion
|
import django.db.models.deletion
|
||||||
@ -220,6 +220,7 @@ class Migration(migrations.Migration):
|
|||||||
('parsed_summary', models.TextField(blank=True, verbose_name='Parsed Summary')),
|
('parsed_summary', models.TextField(blank=True, verbose_name='Parsed Summary')),
|
||||||
('applied', models.BooleanField(default=False, verbose_name='Applied')),
|
('applied', models.BooleanField(default=False, verbose_name='Applied')),
|
||||||
('stage', models.CharField(choices=[('Applied', 'Applied'), ('Exam', 'Exam'), ('Interview', 'Interview'), ('Offer', 'Offer')], default='Applied', max_length=100, verbose_name='Stage')),
|
('stage', models.CharField(choices=[('Applied', 'Applied'), ('Exam', 'Exam'), ('Interview', 'Interview'), ('Offer', 'Offer')], default='Applied', max_length=100, verbose_name='Stage')),
|
||||||
|
('applicant_status', models.CharField(blank=True, choices=[('Applicant', 'Applicant'), ('Candidate', 'Candidate')], default='Applicant', max_length=100, null=True, verbose_name='Applicant Status')),
|
||||||
('exam_date', models.DateField(blank=True, null=True, verbose_name='Exam Date')),
|
('exam_date', models.DateField(blank=True, null=True, verbose_name='Exam Date')),
|
||||||
('exam_status', models.CharField(blank=True, choices=[('Passed', 'Passed'), ('Failed', 'Failed')], max_length=100, null=True, verbose_name='Exam Status')),
|
('exam_status', models.CharField(blank=True, choices=[('Passed', 'Passed'), ('Failed', 'Failed')], max_length=100, null=True, verbose_name='Exam Status')),
|
||||||
('interview_date', models.DateField(blank=True, null=True, verbose_name='Interview Date')),
|
('interview_date', models.DateField(blank=True, null=True, verbose_name='Interview Date')),
|
||||||
@ -321,9 +322,7 @@ class Migration(migrations.Migration):
|
|||||||
name='JobPostingImage',
|
name='JobPostingImage',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('post_image', models.ImageField(height_field='photo_height', upload_to='post/', width_field='photo_width')),
|
('post_image', models.ImageField(upload_to='post/')),
|
||||||
('post_image_height', models.PositiveIntegerField(blank=True, null=True)),
|
|
||||||
('post_image_width', models.PositiveIntegerField(blank=True, null=True)),
|
|
||||||
('job', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='post_images', to='recruitment.jobposting')),
|
('job', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='post_images', to='recruitment.jobposting')),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@ -1,26 +0,0 @@
|
|||||||
# Generated by Django 5.2.7 on 2025-10-11 12:38
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('recruitment', '0001_initial'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='jobpostingimage',
|
|
||||||
name='post_image_height',
|
|
||||||
),
|
|
||||||
migrations.RemoveField(
|
|
||||||
model_name='jobpostingimage',
|
|
||||||
name='post_image_width',
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='jobpostingimage',
|
|
||||||
name='post_image',
|
|
||||||
field=models.ImageField(upload_to='post/'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
# Generated by Django 5.2.6 on 2025-10-11 14:47
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('recruitment', '0003_candidate_is_resume_parsed_and_more'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='candidate',
|
|
||||||
name='applicant_status',
|
|
||||||
field=models.CharField(blank=True, choices=[('Applicant', 'Applicant'), ('Candidate', 'Candidate')], default='Applicant', max_length=100, null=True, verbose_name='Applicant Status'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
Binary file not shown.
Binary file not shown.
@ -118,7 +118,7 @@ class JobPosting(Base):
|
|||||||
("ARCHIVED", "Archived"),
|
("ARCHIVED", "Archived"),
|
||||||
]
|
]
|
||||||
status = models.CharField(
|
status = models.CharField(
|
||||||
max_length=20, choices=STATUS_CHOICES, default="DRAFT", null=True, blank=True
|
max_length=20, choices=STATUS_CHOICES, default="DRAFT"
|
||||||
)
|
)
|
||||||
|
|
||||||
# hashtags for social media
|
# hashtags for social media
|
||||||
|
|||||||
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user