Commit e1ff884a authored by Andrii Marynets's avatar Andrii Marynets

Fix bug with view Interval on edit page

parent 89f4e88a
......@@ -7,7 +7,7 @@ from django.utils.decorators import method_decorator
from .models import Spider, Job
from .service import Service
from .periodic_task_creator import make_periodic_task, update_schedule
from .forms import CreateForm
from .forms import CreateJobForm
BAD_QUERY = 'Bab query'
......@@ -69,28 +69,23 @@ class NewJobCreateView(CreateView):
template_name = 'new_job.html'
def get(self, request, *args, **kwargs):
spiders = Spider.objects.all()
return render(request, self.template_name, {'spiders': spiders})
def post(self, request, *args, **kwargs):
# f = CreateForm(request.POST)
# if f.is_valid():
# j = f.save()
# print(j)
name = request.POST.get('name')
scrap_old_news = True if request.POST.get('scrap_old_news') else False
spider = Spider.objects.get(pk=request.POST.get('spider'))
query = validate_query(request.POST.get('query'))
if query == BAD_QUERY:
form = CreateJobForm(request.POST)
if form.is_valid():
job = form.save()
else:
return HttpResponse('Bad request', status=400)
job = Job.objects.create(name=name, spider=spider, query=query, scrap_old_news=scrap_old_news)
interval = request.POST.get('interval', '').upper()
print('Interval', interval)
if interval:
count = request.POST.get('count')
count = int(count) if count else None
job.interval = interval
job.count = count
job.save()
job.schedule_job = make_periodic_task(job.id, schedule(interval, count))
job.save()
......
......@@ -40,30 +40,33 @@
<div class="form-group row">
<div class="col-md-3">
<label class="custom-control custom-radio">
{% if job.interval == 'day' %}
{% if job.interval == 'DAY' %}
<input id="radio1" name="interval" value="day" type="radio" class="custom-control-input" checked>
{% endif %}
{% else %}
<input id="radio1" name="interval" value="day" type="radio" class="custom-control-input">
{% endif %}
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Day</span>
</label>
</div>
<div class="col-md-3">
<label class="custom-control custom-radio">
{% if job.interval == 'week' %}
{% if job.interval == 'WEEK' %}
<input id="radio2" name="interval" value="week" type="radio" class="custom-control-input" checked>
{% endif %}
{% else %}
<input id="radio2" name="interval" value="week" type="radio" class="custom-control-input">
{% endif %}
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Week</span>
</label>
</div>
<div class="col-md-3">
<label class="custom-control custom-radio">
{% if job.interval == 'month' %}
{% if job.interval == 'MONTH' %}
<input id="radio3" name="interval" value="month" type="radio" class="custom-control-input" checked>
{% endif %}
{% else %}
<input id="radio3" name="interval" value="month" type="radio" class="custom-control-input">
{% endif %}
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Month</span>
</label>
......@@ -73,10 +76,11 @@
{% if job.interval == 'NON' %}
<input id="radio4" name="interval" value="non" type="radio"
class="custom-control-input" checked>
{% endif %}
{% else %}
<input id="radio4" name="interval" value="non" type="radio"
class="custom-control-input">
<span class="custom-control-indicator"></span>
{% endif %}<span class="custom-control-indicator"></span>
<span class="custom-control-description">After finish</span>
</label>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment