Exemplo n.º 1
0
def create_job(request, job_code=None, template = 'job/edit_job.html'):
    jobForm = None 
    JobLocationInlineFormSet = inlineformset_factory(Job, JobLocation, max_num=1, extra=1)

    if request.method == 'POST':        
        jobForm = JobForm(data=request.POST, user=request.user)
        if jobForm.is_valid():
            job = jobForm.save(commit=False)
            formset = JobLocationInlineFormSet(data=request.POST, instance=job)
            if formset.is_valid:
                job = jobForm.save()
                formset.save()

                job_created.send(sender=job.__class__, job=job)
                return redirect(reverse('employer_dashboard'))
        else:
            formset = JobLocationInlineFormSet(data=request.POST)
            formset.is_valid
    else:
        jobForm = JobForm(user=request.user)
        employer = EmployerProfile.objects.get(user=request.user)
        formset = JobLocationInlineFormSet()
        for subform in formset:
            subform.initial = {
                'business_name': employer.business_name,
                'business_address1': employer.business_address1,
                'business_address2': employer.business_address2,
                'city': employer.city,
                'zip_code': employer.zip_code,
            }
    return render_to_response(template,
                              {'form' : jobForm,
                               'formset' : formset, } ,
                              context_instance=RequestContext(request))
Exemplo n.º 2
0
def add_job(request):
    try:
        form = JobForm(request.POST or None)
        if form.is_valid():
            required_skills = set(form.cleaned_data["required_skills"])
            optional_skills = set(form.cleaned_data["optional_skills"]) - required_skills
            with transaction.atomic():
                employer = Employer.objects.get(user=request.user)
                job = Job(
                    employer=employer,
                    description=form.cleaned_data["description"],
                    category=form.cleaned_data["category"],
                    years_of_experience=form.cleaned_data["years_of_experience"],
                    other=form.cleaned_data["other"],
                )
                job.save()
                for skill in required_skills:
                    skill = RequiredJobSkill(job=job, skill=skill)
                    skill.save()
                if optional_skills:
                    for skill in optional_skills:
                        skill = OptionalJobSkill(job=job, skill=skill)
                        skill.save()
            match_job.delay(job.id)

            messages.success(request, "Job saved successfully. You'll receive matching candidates soon")
            return HttpResponseRedirect("/")
        return render(request, "jobs/add_job.html", {"form": form})
    except Exception, e:
        logging.exception(e)
        return server_error(request)
Exemplo n.º 3
0
def job(request, profile_id):
    if request.method == "POST":
        form = JobForm(request.POST, request.FILES)
        if form.is_valid():
            # found_user = Profile.objects.get(psrn=profile_id)
            a = form.save()
            a.psrn = profile_id

            print "yo"
            a.save()
            aform = AcadsForm()
            args = {}
            args.update(csrf(request))
            args["form"] = aform
            args["profile_id"] = profile_id
            return render_to_response("acads.html", args)
    else:
        form = JobForm()

    args = {}
    args.update(csrf(request))

    args["form"] = form
    args["profile_id"] = profile_id
    return render_to_response("job.html", args)
Exemplo n.º 4
0
def edit_job(request, job_code, template = 'job/edit_job.html'):
    form = None 
    job = Job.objects.get(job_code=job_code)
    JobLocationInlineFormSet = inlineformset_factory(Job, JobLocation, max_num=1, extra=1)
    
    ''' Check if user has permission to edit this job '''
    if job.employer.user != request.user:
        redirect(view_job, job_code)  
    
    if request.method == 'POST':
        form = JobForm(data=request.POST, user=request.user, instance=job)
        formset = JobLocationInlineFormSet(data=request.POST, instance=job)
        if formset.is_valid():
            formset.save()

            if form.is_valid():
                job = form.save()
                return redirect(reverse('employer_dashboard'))
    else:
        form = JobForm(instance=job, user=request.user)
        formset = JobLocationInlineFormSet(instance=job)
    return render_to_response(template, 
                              {'form' : form,
                               'formset': formset,
                               'job_code' : job_code}, 
                              context_instance=RequestContext(request))
Exemplo n.º 5
0
    def post(self, request, *args, **kwargs):
        form = JobForm(request.POST, request.FILES)
        if form.is_valid():
            now = datetime.datetime.now()
            name = request.POST['name']
            description = request.POST['description']
            interval = request.POST['interval']
            interval_options = request.POST['interval_options']
            arguments = request.POST['arguments']
            active = False
            try:
                request.POST['active']
                active = True
            except:
                pass

            file = request.FILES['file']
            file_content = file.read()
            file_name = str(now.year) + str(now.month) + str(now.day) + str(now.hour) + str(now.minute) + str(now.second) + str(now.microsecond) + name.replace(' ', '-') + '.py'
            f = open(BASE_DIR + '/job_files/' + file_name, 'w')
            f.write(file_content)
            f.close()

            #Save job
            new_job = Job(name=name, description=description, interval=interval, interval_options=interval_options, arguments=arguments, active=active, file_name=file_name)
            new_job.save()

            res = 'Job created'

        return render_to_response(self.template_name, locals(), context_instance=RequestContext(request))
Exemplo n.º 6
0
def add(request):
    #########################################################################################
    # 用户操作行为安全保护

    # 计时器
    timer = time.time() - request.session.get('time_stamp', 0)

    # 危险操作次数
    action_times = request.session.get('action_times', 0)

    # 错误次数是否大于最大
    if action_times >= 1:
        if not check_verify(request):
            return render('verify.html',
                          locals(),
                          context_instance=RequestContext(request))
        else:

            # 重置标志位
            reset(request)
    #########################################################################################
    current_page = 'jobs'

    # 检查用户选择的城市是否存在
    if check_city(request.GET.get('city_name', False)):
        request.session['job_city'] = request.GET.get('city_name')
    else:
        return index(request=request)

    # 打印表单
    if request.method == 'GET':
        form = JobForm()
        return render('jobs_add.html',
                      locals(),
                      context_instance=RequestContext(request))

    # 处理提交数据
    form = JobForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        new_job = Job()
        new_job.title = data['title']
        new_job.city = request.session.get('job_city', '北京')
        new_job.company = data['company']
        new_job.website = data['website']
        new_job.email = data['email']
        new_job.content = data['content']
        try:
            new_job.save()
        except Exception, e:
            return HttpResponse('保存招聘信息时出现错误:' + str(e))
        else:
            set(request)
            msg = '提交成功,正在等待管理员审核...'
            # 发送信号
            new_job_was_post.send(sender=new_job.__class__, job=new_job)
        return render('posted.html',
                      locals(),
                      context_instance=RequestContext(request))
Exemplo n.º 7
0
def add(request):
    #########################################################################################
    # 用户操作行为安全保护

    # 计时器
    timer = time.time() - request.session.get('time_stamp',0)

    # 危险操作次数
    action_times = request.session.get('action_times',0)

    # 错误次数是否大于最大
    if action_times >= 1:
        if not check_verify(request):
            return render('verify.html',locals(),context_instance=RequestContext(request))
        else:

            # 重置标志位
            reset(request)
    #########################################################################################
    current_page = 'jobs'

    # 检查用户选择的城市是否存在
    if check_city(request.GET.get('city_name',False)):
        request.session['job_city'] = request.GET.get('city_name')
    else:
        return index(request=request)

    # 打印表单
    if request.method == 'GET':
        form = JobForm()
        return render('jobs_add.html',locals(),context_instance=RequestContext(request))

    # 处理提交数据
    form = JobForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        new_job = Job()
        new_job.title = data['title']
        new_job.city = request.session.get('job_city','北京')
        new_job.company = data['company']
        new_job.website = data['website']
        new_job.email = data['email']
        new_job.content = data['content']
        try:
            new_job.save()
        except Exception,e:
            return HttpResponse('保存招聘信息时出现错误:'+str(e))
        else:
            set(request)
            msg = '提交成功,正在等待管理员审核...'
            # 发送信号
            new_job_was_post.send(
                sender = new_job.__class__,
                job = new_job
            )
        return render('posted.html',locals(),context_instance=RequestContext(request))
Exemplo n.º 8
0
    def get(self, request, request_job_id):
        '''
            Method for getting a Job based on the id provided.
        '''
        params = dict((key, val) for key, val in request.QUERY_PARAMS.iteritems())
        params['request_job_id'] = request_job_id
        form = JobForm(params)

        if not form.is_valid():
            raise BadRequestException()

        return Response(form.submit(request))
Exemplo n.º 9
0
    def get(self, request, request_job_id):
        '''
            Method for getting a Job based on the id provided.
        '''
        params = dict(
            (key, val) for key, val in request.QUERY_PARAMS.iteritems())
        params['request_job_id'] = request_job_id
        form = JobForm(params)

        if not form.is_valid():
            raise BadRequestException()

        return Response(form.submit(request))
Exemplo n.º 10
0
def add_jobs(request):
    emp = employee.get_employee_by_user(userid=request.user.id)
    if request.method == 'POST':
        form = JobForm(request.POST, cid=emp.company.id)
        if form.is_valid():
            try:
                job = form.save()
                return render(request, 'job_detail.html', {'job': job})
            except Exception as ex:
                print ex
    else:
        form = JobForm(cid=emp.company.id)
    return render(
        request,
        'add_job.html',
        {'form': form, 'cid': emp.company.id, 'eid': emp.id})
Exemplo n.º 11
0
def add(request):
    current_page = 'jobs'
    page_title = u'发布招聘信息'

    # 检查用户选择的城市是否存在
    if check_city(request.GET.get('city_name', False)):
        request.session['job_city'] = request.GET.get('city_name')
    else:
        return index(request=request)

    # 打印表单
    if request.method == 'GET':
        form = JobForm()
        return render('jobs_add.html',
                      locals(),
                      context_instance=RequestContext(request))

    # 处理提交数据
    form = JobForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        new_job = Job()
        new_job.title = data['title']
        new_job.city = request.session.get('job_city', '北京')
        new_job.company = data['company']
        new_job.website = data['website']
        new_job.email = data['email']
        new_job.content = data['content']
        try:
            new_job.save()
        except Exception, e:
            return HttpResponse('保存招聘信息时出现错误:' + str(e))
        else:
            msg = '提交成功,正在等待管理员审核...'
            # 发送信号
            new_job_was_post.send(sender=new_job.__class__, job=new_job)
        return render('posted.html',
                      locals(),
                      context_instance=RequestContext(request))
Exemplo n.º 12
0
def add(request):
    current_page = 'jobs'
    page_title   = u'发布招聘信息'

    # 检查用户选择的城市是否存在
    if check_city(request.GET.get('city_name',False)):
        request.session['job_city'] = request.GET.get('city_name')
    else:
        return index(request=request)

    # 打印表单
    if request.method == 'GET':
        form = JobForm()
        return render('jobs_add.html',locals(),context_instance=RequestContext(request))

    # 处理提交数据
    form = JobForm(request.POST)
    if form.is_valid():
        data = form.cleaned_data
        new_job = Job()
        new_job.title = data['title']
        new_job.city = request.session.get('job_city','北京')
        new_job.company = data['company']
        new_job.website = data['website']
        new_job.email = data['email']
        new_job.content = data['content']
        try:
            new_job.save()
        except Exception,e:
            return HttpResponse('保存招聘信息时出现错误:'+str(e))
        else:
            msg = '提交成功,正在等待管理员审核...'
            # 发送信号
            new_job_was_post.send(
                sender = new_job.__class__,
                job = new_job
            )
        return render('posted.html',locals(),context_instance=RequestContext(request))
Exemplo n.º 13
0
def add_edit_item(request, model_name, add_edit, edit_id):
    """Add/Edit page for the inventory"""
    if add_edit == "add":
        edit_id = None
    if _checkModel(model_name):
        directory = "asset_inventory/add_edit_Pages/"
        # Adding or Editing a Job
        if model_name == "Job":
            templateFile = directory + "Job.html"
            post_data = request.POST or None

            try:
                Job_Instance = Job.objects.get(pk=edit_id)
            except Job.DoesNotExist:
                Job_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Job", "add", "new"]))

            Job_Form = JobForm(post_data, instance=Job_Instance)

            if Job_Form.is_valid():
                Job_Occurance = Job_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Job"]))
            return render_to_response(templateFile, {"form": Job_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Location
        elif model_name == "Location":
            templateFile = directory + "Location.html"
            post_data = request.POST or None

            try:
                Location_Instance = Location.objects.get(pk=edit_id)
            except Location.DoesNotExist:
                Location_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(
                        reverse("asset_inventory_add_edit_item", args=["Location", "add", "new"])
                    )

            Location_Form = LocationForm(post_data, instance=Location_Instance)

            if Location_Form.is_valid():
                Location_Occurance = Location_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Location"]))

            return render_to_response(templateFile, {"form": Location_Form}, context_instance=RequestContext(request))

        # Adding or Editing a Person
        elif model_name == "Person":
            templateFile = directory + "Person.html"
            post_data = request.POST or None

            try:
                Person_Instance = Person.objects.get(pk=edit_id)
            except Person.DoesNotExist:
                Person_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Person", "add", "new"]))

            Person_Form = PersonForm(post_data, instance=Person_Instance)

            if Person_Form.is_valid():
                Person_Occurance = Person_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Person"]))

            return render_to_response(templateFile, {"form": Person_Form}, context_instance=RequestContext(request))

        # Adding or Editing a Purchase
        elif model_name == "Purchase":
            templateFile = directory + "Purchase.html"
            post_data = request.POST or None

            try:
                Purchase_Instance = Purchase.objects.get(pk=edit_id)
            except Purchase.DoesNotExist:
                Purchase_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(
                        reverse("asset_inventory_add_edit_item", args=["Purchase", "add", "new"])
                    )

            Purchase_Form = PurchaseForm(post_data, instance=Purchase_Instance)

            if Purchase_Form.is_valid():
                Purchase_Occurance = Purchase_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Purchase"]))

            return render_to_response(templateFile, {"form": Purchase_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Status
        elif model_name == "Status":
            templateFile = directory + "Status.html"
            post_data = request.POST or None

            try:
                Status_Instance = Status.objects.get(pk=edit_id)
            except Status.DoesNotExist:
                Status_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Status", "add", "new"]))

            Status_Form = StatusForm(post_data, instance=Status_Instance)

            if Status_Form.is_valid():
                Status_Occurance = Status_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Status"]))

            return render_to_response(templateFile, {"form": Status_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Esign
        elif model_name == "Esign":
            templateFile = directory + "Esign.html"
            post_data = request.POST or None

            try:
                Esign_Instance = Esign.objects.get(pk=edit_id)
            except Esign.DoesNotExist:
                Esign_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Esign", "add", "new"]))

            Esign_Form = EsignForm(post_data, instance=Esign_Instance)

            if Esign_Form.is_valid():
                Esign_Occurance = Esign_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Esign"]))

            return render_to_response(templateFile, {"form": Esign_Form}, context_instance=RequestContext(request))
        # Adding or Editing a Device
        elif model_name == "Device":
            templateFile = directory + "Device.html"
            post_data = request.POST or None

            try:
                Device_Instance = Device.objects.get(pk=edit_id)
            except Device.DoesNotExist:
                Device_Instance = None
                if add_edit == "edit":
                    return HttpResponseRedirect(reverse("asset_inventory_add_edit_item", args=["Device", "add", "new"]))

            Device_Form = DeviceForm(post_data, instance=Device_Instance)

            if Device_Form.is_valid():
                Device_Occurance = Device_Form.save()
                return HttpResponseRedirect(reverse("asset_inventory_list_model", args=["Device"]))

            return render_to_response(templateFile, {"form": Device_Form}, context_instance=RequestContext(request))
    # This is a catch all response, if some unforseen error manages
    # to occur with the calling of add/edit pages
    else:
        render_to_response(reverse("homepage"))