Example #1
0
    def post(self, request):
        form = CompanyForm(request.POST)

        if form.is_valid():
            form.save(commit=True)

        else:
            form = CompanyForm()
        return render(request, 'company.html', {'form': form})
Example #2
0
def Company_Profile(request,company_form = None):
		
	if request.user.get_profile().type() != "C":
		return redirect ("/")
		
	company = request.user.get_profile().company
	company_form = CompanyForm(instance=company)
	
	if request.method == "POST":
		company_form = CompanyForm(data=request.POST,instance=company)
		
		if company_form.is_valid():
			company_form.save()
			return HttpResponseRedirect(reverse('company.views.Company_Profile'))
			
	return render(request, 'company_profile.html', {'companyform':company_form,'company':company})
Example #3
0
def edit_company(request, company_id=None):
    if company_id:
        company_instance = Company.objects.get(pk=company_id)
        check_manager_permission(company_instance.manager, request.user)
    else:
        company_instance = Company()
    company_form = CompanyForm(instance=company_instance)

    if request.method == 'POST':
        company_form = CompanyForm(request.POST,
                                   instance=company_instance,
                                   files=request.FILES)
        if company_form.is_valid():
            if not company_id:
                try:
                    manager = Manager.objects.get(profile=request.user.profile)
                except Manager.DoesNotExist:
                    manager = Manager(profile=request.user.profile)
                    manager.save()
                company_instance = company_form.save(commit=False)
                company_instance.manager = manager
            company_instance.save()
            return redirect(
                reverse('company-detail', args=(company_instance.id, )))

    return render(request, 'company/company/company_form.html', {
        'company_form': company_form,
        'title': 'Update Company'
    })
Example #4
0
def Company_Profile(request, company_form=None):

    if request.user.get_profile().type() != "C":
        return redirect("/")

    company = request.user.get_profile().company
    company_form = CompanyForm(instance=company)

    if request.method == "POST":
        company_form = CompanyForm(data=request.POST, instance=company)

        if company_form.is_valid():
            company_form.save()
            return HttpResponseRedirect(
                reverse('company.views.Company_Profile'))

    return render(request, 'company_profile.html', {
        'companyform': company_form,
        'company': company
    })
Example #5
0
def create_company(request):
    """
        Creates a company profile.
    """
    form = CompanyForm()
    if request.method == "POST":
        form = CompanyForm(request.POST,request.FILES)
        if form.is_valid():
            company = form.save()
            return HttpResponseRedirect(reverse("company_profile",args=(company.pk,)))
    return render_to_response("company/company_form.html",{"form":form},context_instance=RequestContext(request))
Example #6
0
def edit_company(request,pk):
    """
        Creates a company profile.
    """
    c = get_object_or_404(Company,pk=pk)
    form = CompanyForm(instance=c)
    if request.method == "POST":
        form = CompanyForm(request.POST,request.FILES,instance=c)
        if form.is_valid():
            company = form.save()
            return HttpResponseRedirect(reverse("company_profile",args=(company.pk,)))
    return render_to_response("company/company_form.html",{"form":form},context_instance=RequestContext(request))
Example #7
0
def employee_register(request):

    print("sjhjdsh", request.user)
    if request.method == 'POST':
        print(request.POST)
        form = UserForm(request.POST or None)
        company_add = CompanyForm(request.POST or None)
        employee_form = AddEmployeeForm(request.POST or None, request.FILES)

        if company_add.is_valid() and form.is_valid(
        ) and employee_form.is_valid():

            try:

                company = company_add.save()
                user = form.save()
                employee = employee_form.save(commit=False)
                employee.company = company
                employee.user = user
                employee = employee_form.save()
                messages.success(request, 'Registration successfull')
                return render(request, 'signup_complete.html', {})
            except:
                print('Exception occures..! ')
        else:
            messages.error(request, 'Form is Not Valid')
            form = UserForm()
            company_add = CompanyForm()
            employee_form = AddEmployeeForm()
            context = {
                'company_add': company_add,
                'form': form,
                'employee_form': employee_form,
            }
            return render(request, 'Signup.html', context)

    else:

        form = UserForm()
        company_add = CompanyForm()
        employee_form = AddEmployeeForm()
    context = {
        'company_add': company_add,
        'form': form,
        'employee_form': employee_form,
    }
    return render(request, 'Signup.html', context)
Example #8
0
def admin_signup(request):
    if request.user.is_authenticated:
        return redirect('company_homepage')
    else:
        if request.method == "POST":
            userform = UserForm(request.POST)
            employeeform = EmployeeForm(request.POST, request.FILES)
            companyform = CompanyForm(request.POST, request.FILES)
            print('companyform', companyform.errors)
            print('userform', userform.errors)
            print('employeeform', employeeform.errors)
            if userform.is_valid() and employeeform.is_valid(
            ) and companyform.is_valid():

                company = companyform.save(commit=False)
                company.logo = request.FILES['logo']
                company.save()
                company.refresh_from_db()
                user = userform.save(commit=False)
                user.is_staff = True
                user.save()
                user.refresh_from_db(
                )  # This will load the Employee created by the Signal
                employeeform = EmployeeForm(request.POST)
                #print('employeeform',employeeform)
                employeeform.full_clean()
                employee = employeeform.save(commit=False)
                employee.profile_pic = request.FILES['profile_pic']
                employee.is_admin = True
                employee.company = company
                employee.user = user
                employee.save()
                messages.success(request, 'SignUp Successful !')
                return redirect(login)
        else:
            userform = UserForm()
            employeeform = EmployeeForm(prefix='employee')
            companyform = CompanyForm(prefix='company')
        return render(
            request, 'login/signup.html', {
                'companyform': companyform,
                'userform': userform,
                'employeeform': employeeform
            })
Example #9
0
def add(request):
    if (request.method == 'POST'):
        company_form = CompanyForm(prefix="company_form", data=request.POST)
        job_form = JobForm(prefix="job_form", data=request.POST)
        attachment_form = AttachmentForm(prefix='attachment_form',
                                         files=request.FILES)
        consent_deadline_form = ConsentDeadlineForm(
            prefix='consent_deadline_form', data=request.POST)

        print(company_form.errors.as_data())
        print(job_form.errors.as_data())
        print(attachment_form.errors.as_data())
        print(consent_deadline_form.errors.as_data())

        if company_form.is_valid() and job_form.is_valid(
        ) and attachment_form.is_valid() and consent_deadline_form.is_valid():
            #print ('valid')
            company = company_form.save()
            #company = Company.objects.latest('id')
            job = job_form.save(commit=False)
            job.company = company
            job.save()
            job_form.save_m2m()

            locations = request.POST.getlist('location')
            for loc in locations:
                print(loc)
                if (len(loc) > 0):
                    JobLocation.objects.create(job=job, location=loc)

            files = request.FILES.getlist('attachment_form-file')
            for f in files:
                instance = Attachment(file=f)
                instance.job = job
                instance.save()

            deadline_date = consent_deadline_form.cleaned_data['deadline_date']
            deadline_time = consent_deadline_form.cleaned_data['deadline_time']
            slack_time = consent_deadline_form.cleaned_data['slack_time']

            deadline = datetime.combine(deadline_date, deadline_time)
            ConsentDeadline.objects.create(job=job,
                                           deadline=deadline,
                                           slack_time=slack_time)

            consent_format = request.POST.getlist('A')
            cgpa_type = 'cgpa_upto_semester'

            position = 1
            for slug in consent_format:
                print(slug)
                if (slug in ['cgpa_of_semester', 'cgpa_upto_semester']):
                    cgpa_type = slug
                else:
                    if (len(slug) <= 2):
                        field = UserDataFields.objects.get(slug=cgpa_type)
                        FieldOrder.objects.create(job=job,
                                                  field=field,
                                                  optional=int(slug),
                                                  position=position)
                    else:
                        field = UserDataFields.objects.get(slug=slug)
                        FieldOrder.objects.create(job=job,
                                                  field=field,
                                                  position=position)
                    position += 1

        return HttpResponseRedirect('/consent/home')
    else:
        if request.user.groups.filter(name='Coordinator').exists():
            company_form = CompanyForm(prefix='company_form', label_suffix='')
            job_form = JobForm(prefix='job_form', label_suffix='')
            attachment_form = AttachmentForm(prefix='attachment_form',
                                             label_suffix='')
            consent_deadline_form = ConsentDeadlineForm(
                prefix='consent_deadline_form', label_suffix='')

            default_fields = UserDataFields.objects.filter(
                default_position__gte=1).order_by(
                    'default_position').values_list('slug', 'name')
            optional_fields = UserDataFields.objects.filter(
                default_position=0).values_list('slug', 'name')
            half = int(len(optional_fields) / 2)
            optional_fields_1 = optional_fields[:half]
            optional_fields_2 = optional_fields[half:]

            return render(
                request, 'company/add.html', {
                    'company_form': company_form,
                    'job_form': job_form,
                    'attachment_form': attachment_form,
                    'consent_deadline_form': consent_deadline_form,
                    'default_fields': default_fields,
                    'optional_fields_1': optional_fields_1,
                    'optional_fields_2': optional_fields_2,
                })
        else:
            return HttpResponseRedirect('/consent/home')
Example #10
0
def add(request):
    if (request.method == 'POST'):
        company_form = CompanyForm(prefix="company_form", data=request.POST)
        job_form = JobForm(prefix="job_form", data=request.POST)
        attachment_form = AttachmentForm(prefix='attachment_form', files=request.FILES)
        consent_deadline_form = ConsentDeadlineForm(prefix='consent_deadline_form', data=request.POST)
        
        print (company_form.errors.as_data())
        print (job_form.errors.as_data())
        print (attachment_form.errors.as_data())
        print (consent_deadline_form.errors.as_data())

        company = None
        company_name = company_form['name'].value().strip()
        # print (company_name)
        
        if Company.objects.filter(name=company_name).count() == 1:
            company = Company.objects.get(name=company_name)

        if company is not None or (company is None and company_form.is_valid()):
            if job_form.is_valid() and attachment_form.is_valid() and consent_deadline_form.is_valid():
                if company is None:
                    company = company_form.save()
                job = job_form.save(commit=False)
                job.company = company
                job.added_by = request.user
                job.is_active = True
                job.save()
                job_form.save_m2m()
                
                eb = job.eligible_branches.filter(name='ALL')
                for all_type_branch in eb:
                    all_branches = Branch.objects.filter(degree=all_type_branch.degree).exclude(name='ALL')
                    for branch in all_branches:
                        job.eligible_branches.add(branch)
                    job.eligible_branches.remove(all_type_branch)

                locations = request.POST.getlist('location');
                for loc in locations:
                    if(len(loc)>0):
                        JobLocation.objects.create(job=job, location=loc)
                
                files = request.FILES.getlist('attachment_form-file')
                for f in files:
                    instance = Attachment(file=f)
                    instance.job = job
                    instance.save()
                
                deadline_date = consent_deadline_form.cleaned_data['deadline_date']
                deadline_time = consent_deadline_form.cleaned_data['deadline_time']
                slack_time = consent_deadline_form.cleaned_data['slack_time']
                
                deadline = datetime.combine(deadline_date, deadline_time)
                ConsentDeadline.objects.create(job=job, deadline=deadline, slack_time=slack_time)
                
                consent_format = request.POST.getlist('A');
                cgpa_type = 'cgpa_upto_semester'
                
                position = 1
                for slug in consent_format:
                    if (slug in ['cgpa_of_semester', 'cgpa_upto_semester']):
                        cgpa_type = slug
                    else:
                        if (len(slug)<=2):
                            field = UserDataFields.objects.get(slug=cgpa_type)
                            FieldOrder.objects.create(job=job, field=field, optional=int(slug), position=position)
                        else:
                            field = UserDataFields.objects.get(slug=slug)
                            FieldOrder.objects.create(job=job, field=field, position=position)
                        position += 1

            messages.success(request, 'The company was successfully added!')
            return HttpResponseRedirect('/consent/home')
        else:
            print ('Invalid state reached!!!')

    else:
        if request.user.groups.filter(name='Coordinator').exists():
            company_form = CompanyForm(prefix='company_form', label_suffix='')
            job_form = JobForm(prefix='job_form', label_suffix='')
            attachment_form = AttachmentForm(prefix='attachment_form', label_suffix='')
            consent_deadline_form = ConsentDeadlineForm(prefix='consent_deadline_form', label_suffix='')

            default_fields = UserDataFields.objects.filter(default_position__gte=1).order_by(
                'default_position').values_list('slug', 'name')
            optional_fields = UserDataFields.objects.filter(default_position=0).values_list('slug', 'name')
            half = int(len(optional_fields)/2)
            optional_fields_1 = optional_fields[:half]
            optional_fields_2 = optional_fields[half:]

            return render(request, 'company/add.html', {
                    'company_form': company_form,
                    'job_form': job_form,
                    'attachment_form': attachment_form,
                    'consent_deadline_form': consent_deadline_form,
                    'default_fields': default_fields,
                    'optional_fields_1': optional_fields_1,
                    'optional_fields_2': optional_fields_2,
                })
        else:
            return HttpResponseRedirect('/consent/home')