From f7d6ead8776a45d8ffd213cf6edebceefc82d9d5 Mon Sep 17 00:00:00 2001 From: Kemas Khaidar Ali <kemask69@gmail.com> Date: Sun, 1 Dec 2019 16:40:45 +0700 Subject: [PATCH 1/3] bug salary must number only fixed --- core/views/vacancies.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/views/vacancies.py b/core/views/vacancies.py index 455c1867..c535ca5f 100755 --- a/core/views/vacancies.py +++ b/core/views/vacancies.py @@ -142,7 +142,7 @@ class VacancyViewSet(MultiSerializerViewSetMixin, viewsets.ModelViewSet): "open_time": raw_data['open_time'], "close_time": raw_data['close_time'], "name": raw_data['name'], - "salary": raw_data.get('salary', 0), + "salary": int(raw_data.get('salary', 0)), "description": raw_data['description'], "working_period": raw_data['working_period'], "max_accepted_applicants": raw_data['max_accepted_applicants'] -- GitLab From 39bf443f37b2c0122895c9fb4b7cfdf2c046d048 Mon Sep 17 00:00:00 2001 From: Kemas Khaidar Ali <kemask69@gmail.com> Date: Sun, 1 Dec 2019 17:19:07 +0700 Subject: [PATCH 2/3] All bugs fixed --- assets/js/CreateVacancy.jsx | 2 ++ assets/js/components/Footer.jsx | 2 +- core/migrations/0002_auto_20191116_1550.py | 8 +++++++- core/serializers/vacancies.py | 2 +- core/views/vacancies.py | 17 +++++++---------- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/assets/js/CreateVacancy.jsx b/assets/js/CreateVacancy.jsx index ba657473..4ebe0475 100755 --- a/assets/js/CreateVacancy.jsx +++ b/assets/js/CreateVacancy.jsx @@ -42,6 +42,7 @@ export default class CreateVacancy extends React.Component { requirements: '', salary: 0, tag: '', + responsibilities: '', }; if (this.state.vacancyId) { @@ -99,6 +100,7 @@ export default class CreateVacancy extends React.Component { const data = {}; data.name = this.state.name; data.tag = this.state.tag; + data.responsibilities = this.state.responsibilities; data.description = this.state.description; data.benefits = this.state.benefits; data.requirements = this.state.requirements; diff --git a/assets/js/components/Footer.jsx b/assets/js/components/Footer.jsx index 50a57ae5..7ca53ecd 100755 --- a/assets/js/components/Footer.jsx +++ b/assets/js/components/Footer.jsx @@ -6,7 +6,7 @@ export default class Footer extends React.Component { return ( <div className="footer"> <Container textAlign="center"> - <h5>All Rights Reserved © 2017</h5> + <h5>All Rights Reserved © 2019</h5> </Container> </div> ); diff --git a/core/migrations/0002_auto_20191116_1550.py b/core/migrations/0002_auto_20191116_1550.py index b4b2f591..27fe2d09 100644 --- a/core/migrations/0002_auto_20191116_1550.py +++ b/core/migrations/0002_auto_20191116_1550.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.17 on 2019-11-16 08:50 +# Generated by Django 1.11.17 on 2019-12-01 10:01 from __future__ import unicode_literals +import django.core.validators from django.db import migrations, models import django.db.models.deletion @@ -13,6 +14,11 @@ class Migration(migrations.Migration): ] operations = [ + migrations.AlterField( + model_name='company', + name='status', + field=models.IntegerField(default=0, validators=[django.core.validators.MaxValueValidator(2), django.core.validators.MinValueValidator(0)]), + ), migrations.AlterField( model_name='recommendation', name='content', diff --git a/core/serializers/vacancies.py b/core/serializers/vacancies.py index d5982b80..5b66c8b3 100755 --- a/core/serializers/vacancies.py +++ b/core/serializers/vacancies.py @@ -38,7 +38,7 @@ class VacancySerializer(serializers.ModelSerializer): model = Vacancy fields = ['company', 'verified', 'open_time', 'description', 'close_time', 'created', 'apply_before', 'updated', 'name', 'status', 'bookmarked', 'id', 'salary', 'responsibilities', 'requirements', 'working_period', - 'benefits', 'max_accepted_applicants', 'total_accepted_applicants'] + 'benefits', 'max_accepted_applicants', 'total_accepted_applicants', 'tag'] def name_position_validator(names): diff --git a/core/views/vacancies.py b/core/views/vacancies.py index c535ca5f..17033926 100755 --- a/core/views/vacancies.py +++ b/core/views/vacancies.py @@ -142,19 +142,17 @@ class VacancyViewSet(MultiSerializerViewSetMixin, viewsets.ModelViewSet): "open_time": raw_data['open_time'], "close_time": raw_data['close_time'], "name": raw_data['name'], - "salary": int(raw_data.get('salary', 0)), + "salary": raw_data.get('salary', 0), + "tag": raw_data.get('tag', ''), + "requirements": raw_data.get('requirements', ''), + "responsibilities": raw_data.get('responsibilities', ''), + "benefits": raw_data.get('benefits', ''), + "amount": raw_data.get('amount', 0), + "recruiter_activity": raw_data.get('recruiter_activity', ''), "description": raw_data['description'], "working_period": raw_data['working_period'], "max_accepted_applicants": raw_data['max_accepted_applicants'] } - if 'benefits' in raw_data: - data['benefits'] = raw_data['benefits'] - if 'amount' in raw_data: - data['amount'] = raw_data['amount'] - if 'responsibilities' in raw_data: - data['responsibilities'] = raw_data['responsibilities'] - if 'recruiter_activity' in raw_data: - data['recruiter_activity'] = raw_data['recruiter_activity'] return data def __validate_vacancy_data(self, data): @@ -173,7 +171,6 @@ class VacancyViewSet(MultiSerializerViewSetMixin, viewsets.ModelViewSet): try: data = self.__parse_vacancy_data(request.data) data['company'] = self.__get_company(request.data['company']) - data['tag'] = request.data.get('tag', '') self.__validate_vacancy_data(data) vacancy = Vacancy(**data) vacancy.save() -- GitLab From eae4a6b8645f51b60514b86b58f6b0a93bd21125 Mon Sep 17 00:00:00 2001 From: Kemas Khaidar Ali <kemask69@gmail.com> Date: Sun, 1 Dec 2019 17:30:03 +0700 Subject: [PATCH 3/3] bad test writing fix --- core/tests/test_create_vacancies.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/tests/test_create_vacancies.py b/core/tests/test_create_vacancies.py index 30de1a60..db89cc38 100755 --- a/core/tests/test_create_vacancies.py +++ b/core/tests/test_create_vacancies.py @@ -419,7 +419,8 @@ class CreateAndUpdateVacancyTest(APITestCase): response = self.client.patch(url, {'open_time': self.today, 'close_time': self.tomorrow, 'name': 'new vacancy', 'description': 'new_vacancy2', 'amount': 10, 'responsibilities': 'new_vacancy2', 'requirements': 'new_vacancy2', - 'max_accepted_applicants': 3, 'working_period': '3 Bulan'}, format='json') + 'max_accepted_applicants': 3, 'working_period': '3 Bulan', + 'tag': VACANCY_TAG}, format='json') self.assertEqual(response.status_code, status.HTTP_200_OK) vacancy = Vacancy.objects.first() -- GitLab