Ejemplo n.º 1
0
def voting_edit(request,vot_id):
    #zabezpieczenie przed edycja glosowanie juz rozpoczetego oraz glosowania,ktorego nie jestesmy wlascicielami
    voting = get_object_or_404(Voting, pk=vot_id,moderator__user=request.user,od__gt =timezone.now().date()) #zmiana na date()
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = VotingForm(request.POST,instance=voting,user=request.user)
        # check whether it's valid:
        if form.is_valid():

            vot = form.save(commit=False);
            vot.save()
            vot.candidate_set.all().delete()
            vot.voter_set.all().delete()

            for k in form.cleaned_data['kandydaci']:
                kan = Candidate(glosowanie=vot,osoba=k)
                kan.save()

            for u in form.cleaned_data['uprawnieni']:
                upr = Voter(glosowanie=vot,osoba=u)
                upr.save()

            #form.save_m2m() ## zamiast tego dodac reczny zapis do bazy
            return render(request, 'editVotingSuccess.html')
    # if a GET (or any other method) we'll create a blank form
    else:
        form = VotingForm(instance=voting,user=request.user)
        #form.fields["kandydaci"].queryset = UserProfile.objects.exclude(user=request.user) ##modyfikujemy liste kandydatow
    return render(request, 'editVoting.html', {'regform': form,'vot_id':voting.id})
Ejemplo n.º 2
0
def addVoting(request):
    if request.method == 'POST':
        # create a form instance and populate it with data from the request:
        form = VotingForm(request.POST,user=request.user)
        # check whether it's valid:
        if form.is_valid():
            vot = form.save(commit=False);
            vot.moderator = UserProfile.objects.filter(user=request.user)[0]
            vot.save() ## zrobic zapisywanie wiele do wielu
            for k in form.cleaned_data['kandydaci']:
                kan = Candidate(glosowanie=vot,osoba=k)
                kan.save()

            for u in form.cleaned_data['uprawnieni']:
                upr = Voter(glosowanie=vot,osoba=u)
                upr.save()

            #form.save_m2m() ## zamiast tego dodac reczny zapis do bazy
            return render(request, 'AddVotingSuccess.html')

    # if a GET (or any other method) we'll create a blank form
    else:
        form = VotingForm(user=request.user)
        #form.fields["kandydaci"].queryset = UserProfile.objects.exclude(user=request.user) ##modyfikujemy liste kandydatow
    return render(request, 'addVoting.html', {'regform': form,})
Ejemplo n.º 3
0
def add_candidate(request):

    if request.user.is_authenticated():
        user_id = request.user.id
        fname   = request.GET.get('fname')
        lname   = request.GET.get('lname')
        date    = request.GET.get('date')
        date    = date.replace('India Standard Time', 'IST')
        #jd_name = request.GET.get('jd').split('-')[0]
        jd = request.GET.get('jd')
        email   = request.GET.get('email')
        mobile  = request.GET.get('mobile')
        remarks = request.GET.get('remarks')
        if remarks:
            pass
        else:
            remarks = "New"
        date    = date_parser.parse(date.replace(' GMT ',' GMT+'))
        date    = date_parser.parse('-'.join(str(date).split('-')[:-1]))
        agent_id        = Agent.objects.filter(name_id = user_id).values_list('id', flat= True)[0]

        new_can = Candidate(jd_id = jd, location="",fname = fname,lname = lname,walk_in_date = date,email_id = email,
                  mobile_number = mobile,status_id = 21,agent_id = agent_id, remarks = remarks)
        try:
            new_can.save()
        except:
            traceback.print_exc()
            return HttpResponse("Duplicate Mobile number","1")
        data = {'status':'success'}

    else:
        data = {'status':'failed'}

    return HttpResponse(data)
Ejemplo n.º 4
0
def add_candidate(request):

    if request.user.is_authenticated():
        user_id = request.user.id
        fname   = request.GET.get('fname')
        lname   = request.GET.get('lname')
        date    = request.GET.get('date')
        jd_name = request.GET.get('jd').split('-')[0]
        email   = request.GET.get('email')
        mobile  = request.GET.get('mobile')
        remarks = request.GET.get('remarks')
        if remarks:
            pass
        else:
            remarks = "New"
        jd_id   = JobDesTable.objects.filter(job_title=jd_name).values('id')
        date    = date_parser.parse(date.replace(' GMT ',' GMT+'))
        date    = date_parser.parse('-'.join(str(date).split('-')[:-1]))
        agent_id        = Agent.objects.filter(name_id = user_id).values_list('id', flat= True)[0]

        new_can = Candidate(jd_id = jd_id[0]['id'], location="",fname = fname,lname = lname,walk_in_date = date,email_id = email,
                  mobile_number = mobile,status_id = 1,agent_id = agent_id, remarks = remarks)
        new_can.save()
        data = {'status':'success'}

    else:
        data = {'status':'failed'}

    return HttpResponse(data)
Ejemplo n.º 5
0
async def recieve_resume(message: types.Message, state: FSMContext):
    if message.document.mime_type == 'application/pdf':
        file_id = message.document.file_id
        file_path = settings.resumes_path_base + str(file_id) + '.pdf'
        await bot.download_file_by_id(file_id, file_path)
        text_pdf = parser_from_pdf.extract_text_from_pdf(file_path)
        json_obj = json.dumps(text_pdf)
        async with state.proxy() as s:
            vacancy_id = s['id']
        candidate = Candidate(user=User.get(User.chat_id == message.chat.id),
                              vacancy=Vacancy.get(Vacancy.id == vacancy_id),
                              resume_file_id=file_id,
                              resume_json=json_obj,
                              status='Резюме обрабатывается')
        candidate.save()
        await message.answer(messages.resume_in_treatment)
        treatment_result = await treatment_resume(candidate.id)
        if treatment_result:
            candidate.status = 'Резюме одобрено'
            candidate.save()
            await message.answer(messages.resume_is_good)
            vacancy = Vacancy.get(Vacancy.id == vacancy_id)
            if vacancy.test_task:
                keyboard = InlineKeyboardMarkup()
                keyboard.add(
                    InlineKeyboardButton(buttons.menu, callback_data='menu'))
                await bot.send_document(message.chat.id,
                                        open(vacancy.test_task, 'rb'),
                                        caption=messages.here_is_task,
                                        reply_markup=keyboard)
                candidate.status = 'Отправлено тестовое задание'
                candidate.save()
                await state.finish()
            else:
                keyboard = InlineKeyboardMarkup()
                keyboard.add(
                    InlineKeyboardButton(buttons.menu, callback_data='menu'))
                await message.answer(messages.there_is_no_task,
                                     reply_markup=keyboard)
                candidate.status = 'Контакты отправлены работодателю'
                candidate.save()
                # resume = json.loads(candidate.resume_json)['info']
                await bot.send_message(
                    candidate.vacancy.creator.chat_id,
                    messages.user_without_task.format(candidate.user.username,
                                                      candidate.vacancy.name))
                await state.finish()
        else:
            candidate.status = 'Резюме отклонено'
            candidate.save()
            await message.answer(messages.resume_is_bad)
            await FindVacancy.id.set()

    else:
        keyboard = InlineKeyboardMarkup()
        keyboard.add(
            InlineKeyboardButton(buttons.back,
                                 callback_data='back_to_find_vacancies'))
        await message.answer(messages.something_wrong, reply_markup=keyboard)
Ejemplo n.º 6
0
def get_pythoner(request):

    if request.POST.get('name'):
        name = request.POST.get('name')
        email = request.POST.get('email')
        phone = request.POST.get('phone')
        #存储
        c = Candidate(name=name, email=email, phone=phone)
        c.save()
        return render_to_response('success.html', RequestContext(request))

    return render_to_response('reg.html', RequestContext(request))
Ejemplo n.º 7
0
def bulk_update(request):
    first_name = request.get('fname')
    last_name  = request.get('lname')
    mobile     = request.get('mobile')
    mobile     = int(float(mobile))
    walkin_date= request.get('walkindate')
    jd_id      = request.get('jdid')
    jd_id      = int(float(jd_id))
    mail_id    = request.get('mailid')
    agent_id   = request.get('agentid')
    agent_id   = int(float(agent_id))
    new_can = Candidate(jd_id=jd_id, fname=first_name, lname=last_name, mobile_number=mobile, walk_in_date=walkin_date, email_id=mail_id, agent_id=agent_id, status_id=1, location='', remarks='New')
    new_can.save()
Ejemplo n.º 8
0
def bulk_update(request):
    first_name = request.get('fname')
    last_name = request.get('lname')
    mobile = request.get('mobile')
    mobile = int(float(mobile))
    walkin_date = request.get('walkindate')
    jd_id = request.get('jdid')
    jd_id = int(float(jd_id))
    mail_id = request.get('mailid')
    agent_id = request.get('agentid')
    agent_id = int(float(agent_id))
    new_can = Candidate(jd_id=jd_id,
                        fname=first_name,
                        lname=last_name,
                        mobile_number=mobile,
                        walk_in_date=walkin_date,
                        email_id=mail_id,
                        agent_id=agent_id,
                        status_id=1,
                        location='',
                        remarks='New')
    new_can.save()
Ejemplo n.º 9
0
def add_candidate(request):

    if request.user.is_authenticated():
        user_id = request.user.id
        fname = request.GET.get('fname')
        lname = request.GET.get('lname')
        date = request.GET.get('date')
        jd_name = request.GET.get('jd').split('-')[0]
        email = request.GET.get('email')
        mobile = request.GET.get('mobile')
        remarks = request.GET.get('remarks')
        if remarks:
            pass
        else:
            remarks = "New"
        jd_id = JobDesTable.objects.filter(job_title=jd_name).values('id')
        date = date_parser.parse(date.replace(' GMT ', ' GMT+'))
        date = date_parser.parse('-'.join(str(date).split('-')[:-1]))
        agent_id = Agent.objects.filter(name_id=user_id).values_list(
            'id', flat=True)[0]

        new_can = Candidate(jd_id=jd_id[0]['id'],
                            location="",
                            fname=fname,
                            lname=lname,
                            walk_in_date=date,
                            email_id=email,
                            mobile_number=mobile,
                            status_id=1,
                            agent_id=agent_id,
                            remarks=remarks)
        new_can.save()
        data = {'status': 'success'}

    else:
        data = {'status': 'failed'}

    return HttpResponse(data)