Esempio n. 1
0
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)
Esempio n. 2
0
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})
Esempio n. 3
0
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})
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
    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)