diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index e6e9acbf..530b13e4 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc index 81f6cc75..6e058f40 100644 Binary files a/osinaweb/osinacore/__pycache__/views.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc b/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc index 217897db..ed8dea01 100644 Binary files a/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc and b/osinaweb/osinacore/add/__pycache__/views.cpython-310.pyc differ diff --git a/osinaweb/osinacore/add/views.py b/osinaweb/osinacore/add/views.py index 4f90aa72..a93e20d0 100644 --- a/osinaweb/osinacore/add/views.py +++ b/osinaweb/osinacore/add/views.py @@ -131,7 +131,7 @@ def add_business(request): @staff_login_required def add_staff(request): - staffpositions = StaffPosition.objects.all().order_by('-id') + jobpositions = JobPosition.objects.all().order_by('-id') if request.method == 'POST': email = request.POST.get('email').lower() first_name = request.POST.get('first_name') @@ -160,26 +160,41 @@ def add_staff(request): user.last_name = last_name.lower().capitalize() user.save() - staff_positionid = request.POST.get('staff_position') - staff_position = get_object_or_404(StaffPosition, id=staff_positionid) - if request.POST.get('intern'): intern = True else: intern = False - StaffProfile.objects.create( + staff = StaffProfile.objects.create( user=user, image=request.FILES.get('image'), mobile_number=request.POST.get('mobile_number'), active=active, intern=intern, - staff_position=staff_position, ) + + position_ids = request.POST.getlist('position[]') + start_dates = request.POST.getlist('start_date[]') + end_dates = request.POST.getlist('end_date[]') + + for position_id, start_date, end_date in zip(position_ids, start_dates, end_dates): + position = get_object_or_404(JobPosition, id=position_id) + if end_date: + end_date = end_date + else: + end_date = None + StaffPosition.objects.create( + staff = staff, + position = position, + start_date = start_date, + end_date = end_date + ) + + return redirect('users') context = { - 'staffpositions': staffpositions, + 'jobpositions': jobpositions, } return render(request, 'add_templates/add-staff.html', context) diff --git a/osinaweb/osinacore/templates/add_templates/add-staff.html b/osinaweb/osinacore/templates/add_templates/add-staff.html index 618fb650..7b686f4d 100644 --- a/osinaweb/osinacore/templates/add_templates/add-staff.html +++ b/osinaweb/osinacore/templates/add_templates/add-staff.html @@ -76,8 +76,8 @@ diff --git a/osinaweb/osinacore/templates/details_templates/staff-details.html b/osinaweb/osinacore/templates/details_templates/staff-details.html index 69febab5..ca8918b8 100644 --- a/osinaweb/osinacore/templates/details_templates/staff-details.html +++ b/osinaweb/osinacore/templates/details_templates/staff-details.html @@ -68,6 +68,8 @@
Position: