def create_job(request): admin = Admin.objects.get(user_id=request.user.id) if request.method == 'POST': jobForm = CreateJobForm(request.POST, request.FILES) companyForm = EmployerForm(request.POST, request.FILES) if jobForm.is_valid() and companyForm.is_valid(): with transaction.atomic(): company = companyForm.save(commit=False) company.user_id = admin.user.id company.save() job = jobForm.save(commit=False) job.save() subject = 'New Job has been posted' htmlText = 'A new Job has been posted on the Murdoch Career Portal.' send_html_mail(subject, htmlText, [DEFAULT_FROM_EMAIL]) for skill in request.POST.getlist('skills'): job.skills.add(skill) next_page = request.POST.get('next', '/') return redirect(next_page) else: messages.warning(request, jobForm.errors.as_text) messages.warning(request, companyForm.errors.as_text) return redirect(request.path_info) else: userForm = InitialEmployerForm() companyForm = EmployerForm() jobForm = CreateJobForm() args = {'companyForm': companyForm, 'jobForm': jobForm} return render(request, "Admin/admin_create_job.html", args)
def change_job_status(request): status = request.GET.get('status', 'Pending') job_id = request.GET.get('user_id', None) subject = 'Your job posting request has been resolved' try: job = Job.objects.get(id=job_id) job.is_active = status job.save() receipent = str(job.posted_by) if job.is_active == 'Accepted': find_student_match(job_id) find_alumni_match(job_id) first_name = job.posted_by.company_name context = {'first_name': first_name, 'status': status} htmlText = render_to_string('Employer/job_post_resolution.html', context) send_html_mail(subject, htmlText, [receipent]) except: pass try: return JsonResponse({"success": True}) except Exception as e: return JsonResponse({"success": False})
def change_accept_status(request): status = request.GET.get('status', 'Pending') user_id = request.GET.get('user_id', None) print(user_id) user = User.objects.get(id=user_id) print(user) subject = 'Your account creation request has been resolved' subject_two = 'Your account creation request has been accepted' try: user_employer = Employer.objects.get(user_id=user_id) user_employer.is_active = status user_employer.save() receipent = str(user_employer.user) first_name = user_employer.company_name context = {'first_name': first_name, 'status': status} if str(status) == 'Accepted': htmlText = render_to_string( 'Accounts/employer_account_creation_accepted.html', context) send_html_mail(subject_two, htmlText, [receipent]) else: htmlText = render_to_string( 'Accounts/account_creation_resolution.html', context) send_html_mail(subject, htmlText, [receipent]) except: pass try: user_alumni = Alumni.objects.get(user_id=user_id) user_alumni.is_active = status user_alumni.save() receipent = str(user_alumni.user) first_name = user_alumni.user.first_name context = {'first_name': first_name, 'status': status} if str(status) == 'Accepted': htmlText = render_to_string( 'Accounts/account_creation_accepted.html', context) send_html_mail(subject_two, htmlText, [receipent]) else: htmlText = render_to_string( 'Accounts/account_creation_resolution.html', context) send_html_mail(subject, htmlText, [receipent]) except: pass try: user_student = Student.objects.get(user_id=user_id) user_student.is_active = status user_student.save() receipent = str(user_student.user) student_receipent = str(user_student.personal_email) first_name = user_student.user.first_name context = {'first_name': first_name, 'status': status} if str(status) == 'Accepted': htmlText = render_to_string( 'Accounts/account_creation_accepted.html', context) send_html_mail(subject_two, htmlText, [receipent]) send_html_mail(subject_two, htmlText, [student_receipent]) else: htmlText = render_to_string( 'Accounts/account_creation_resolution.html', context) send_html_mail(subject, htmlText, [receipent]) send_html_mail(subject, htmlText, [student_receipent]) except: pass try: return JsonResponse({"success": True}) except Exception as e: return JsonResponse({"success": False})
def student_signup(request): if request.method == 'POST': user_data = { 'first_name': request.POST.get('first_name'), 'last_name': request.POST.get('last_name'), 'email': request.POST.get('email') } student_data = { 'gender': request.POST.get('gender'), 'date_of_birth': request.POST.get('date_of_birth'), 'student_id': request.POST.get('student_id'), 'expected_graduation_date': request.POST.get('expected_graduation_date'), 'personal_email': request.POST.get('personal_email'), 'skills': request.POST.getlist('skills'), 'majors': request.POST.getlist('majors'), 'dp': request.FILES.get('dp'), 'cv': request.FILES.get('cv') } user_form = InitialStudentForm(request.POST) if user_form.is_valid(): if user_form.usernameExists(): messages.error( request, 'Username already taken. Try a different one.', extra_tags='danger') # checks if username exists in db elif user_form.emailExists(): messages.error( request, 'Email already taken. Try a different one.', extra_tags='danger') # checks if email exists in db elif not user_form.same_passwords(): messages.error( request, 'Passwords not matching. Try again.', extra_tags='danger' ) # checks if password and confirm password are matching elif not user_form.email_domain_exists(): messages.error( request, 'Email domain does not exist. Try again.', extra_tags='danger' ) # checks if there is an existing domain for given email else: if isValidated(user_form.cleaned_data.get('password1')): student_form = StudentForm(request.POST, request.FILES) if student_form.is_valid(): with transaction.atomic(): user = user_form.save() student = student_form.save(commit=False) student.user = user email = str(student.user) student_email = str(student.personal_email) student.save() student_form.save_m2m() first_name = user_form.cleaned_data.get( 'first_name') context = {'first_name': first_name} admin_context = { 'first_name': first_name, 'protocol': 'https', 'domain': 'murdochdubaicareerportal.com' } subject = 'Your account creation request has been received' htmlText = render_to_string( 'Accounts/account_creation_request.html', context) send_html_mail(subject, htmlText, [email]) send_html_mail(subject, htmlText, [student_email]) subject = 'An account creation request has been received ' htmlText = render_to_string( 'Accounts/account_creation_request_admin.html', admin_context) send_html_mail(subject, htmlText, [DEFAULT_FROM_EMAIL]) messages.success(request, 'A student account has been created') return render(request, 'Accounts/pending_acc.html', get_user_type(request)) else: messages.error(request, student_form.errors, extra_tags='danger') else: messages.error( request, 'Password must be 8 characters or more, and must have at least 1 numeric character ' 'and 1 letter.', extra_tags='danger') else: messages.error(request, user_form.errors, extra_tags='danger') user_form = InitialStudentForm(user_data) student_form = StudentForm(student_data) else: user_form = InitialStudentForm() student_form = StudentForm() user = get_user_type(request) args = { 'student_form': student_form, 'user_form': user_form, 'user_type': user['user_type'] } return render(request, 'Student/student_registration.html', args)
def signup(request): if request.method == 'POST': user_data = {'email': request.POST.get('email')} employer_data = {'logo': request.FILES.get('logo'), 'company_name': request.POST.get('company_name'), 'company_description': request.POST.get('company_description'), 'company_website': request.POST.get('company_website'), 'phone_number': request.POST.get('phone_number'), 'contact_name': request.POST.get('contact_name'), 'trade_license': request.FILES.get('trade_license') } user_form = InitialEmployerForm(request.POST) if user_form.is_valid(): if user_form.usernameExists(): messages.error(request, 'Username already taken. Try a different one.', extra_tags='danger') # checks if username exists in db elif user_form.emailExists(): messages.error(request, 'Email already taken. Try a different one.', extra_tags='danger') # checks if email exists in db elif not user_form.samePasswords(): messages.error(request, 'Passwords not matching. Try again.', extra_tags='danger') # checks if password and confirm password are matching elif not user_form.emailDomainExists(): messages.error(request,'Email domain does not exist. Try again.', extra_tags='danger') # checks if there is an exising domain for given email else: if isValidated(user_form.cleaned_data.get('password1')): # checks if password is valid employer_form = EmployerForm(request.POST, request.FILES) if employer_form.is_valid(): with transaction.atomic(): user = user_form.save() employer = employer_form.save(commit=False) employer.user = user email = str(request.user) employer.save() first_name = str(employer.company_name) print(first_name) context = {'first_name': first_name} admin_context = {'first_name': first_name, 'protocol': 'https', 'domain': 'murdochdubaicareerportal.com'} subject = 'Your account creation request has been received' htmlText = render_to_string('Accounts/account_creation_request.html', context) send_html_mail(subject, htmlText, [email]) subject = 'An account creation request has been received ' htmlText = render_to_string('Accounts/account_creation_request_admin.html', admin_context) send_html_mail(subject, htmlText, [DEFAULT_FROM_EMAIL]) messages.success(request, 'Employer account created') return render(request, 'Accounts/pending_acc.html', get_user_type(request)) else: messages.error(request, employer_form.errors, extra_tags='danger') else: messages.error(request, 'Password must be 8 characters or more, and must have at least 1 ' 'numeric character and 1 letter.', extra_tags='danger') else: messages.error(request, user_form.errors, extra_tags='danger') user_form = InitialEmployerForm(user_data) employer_form = EmployerForm(employer_data) else: user_form = InitialEmployerForm() employer_form = EmployerForm() user = get_user_type(request) args = {'employer_form': employer_form, 'user_form': user_form, 'user_type': user['user_type']} return render(request, 'Employer/employer_registration.html', args)
def post(self, request, *args, **kwargs): form = HelpDeskForm(request.POST) if kwargs: pk = kwargs['pk'] requesteduser = HelpDeskModel.objects.get(id=pk).name_Request.id content = ContentType.objects.get_for_model(HelpDeskModel) current_site = get_current_site(request) # Add a comment to the issue thread create_first_note = Comment( content_type=content, object_pk=request.POST['object_pk'], site=current_site, user=request.user, user_name=request.user.get_full_name(), user_email=request.user.email, user_url='http://dummyurl.com', comment=request.POST['comment'], submit_date=datetime.now(), ip_address='127.0.0.1', ) create_first_note.save() return redirect('HelpDesk', pk) else: if form.is_valid(): f = form.save(commit=False) f.name_Request = request.user f.save() subject = 'Your email has been logged with HelpDesk' email = str(request.user) try: alumni = Alumni.objects.get(user_id=request.user.id) first_name = alumni.user.first_name context = {'first_name': first_name} admin_context = { 'first_name': first_name, 'protocol': 'https', 'domain': 'murdochdubaicareerportal.com' } htmlText = render_to_string( 'HelpDesk/helpdesk_request_logged.html', context) send_html_mail(subject, htmlText, [email]) subject = 'A new HelpDesk request has been received' htmlText = render_to_string( 'HelpDesk/helpdesk_request_submitted.html', admin_context) send_html_mail(subject, htmlText, [DEFAULT_FROM_EMAIL]) except: pass try: student = Student.objects.get(user_id=request.user.id) first_name = student.user.first_name student_email = str(student.personal_email) context = {'first_name': first_name} admin_context = { 'first_name': first_name, 'protocol': 'https', 'domain': 'murdochdubaicareerportal.com' } htmlText = render_to_string( 'HelpDesk/helpdesk_request_logged.html', context) send_html_mail(subject, htmlText, [email]) send_html_mail(subject, htmlText, [student_email]) subject = 'A new HelpDesk request has been received' htmlText = render_to_string( 'HelpDesk/helpdesk_request_submitted.html', admin_context) send_html_mail(subject, htmlText, [DEFAULT_FROM_EMAIL]) except: pass try: employer = Employer.objects.get(user_id=request.user.id) first_name = employer.company_name context = {'first_name': first_name} admin_context = { 'first_name': first_name, 'protocol': 'https', 'domain': 'murdochdubaicareerportal.com' } htmlText = render_to_string( 'HelpDesk/helpdesk_request_logged.html', context) send_html_mail(subject, htmlText, [email]) subject = 'A new HelpDesk request has been received' htmlText = render_to_string( 'HelpDesk/helpdesk_request_submitted.html', admin_context) send_html_mail(subject, htmlText, [DEFAULT_FROM_EMAIL]) except: pass messages.success(request, "Your request has been submitted.") return redirect('HelpDesk', f.id)