Commit 5fd66ee8 authored by Andrii Marynets's avatar Andrii Marynets

Add Interval field into form

parent 01bf2b2b
from datetime import datetime
from django import forms
from .models import Job, Spider
......@@ -25,5 +24,5 @@ class CreateJobForm(forms.ModelForm):
class Meta:
model = Job
fields = ['name', 'query', 'scrap_old_news', 'spider', 'count']
exclude = ['job_uuid', 'create_time', 'end_time', 'status', 'schedule_job', 'interval']
\ No newline at end of file
fields = ['name', 'query', 'scrap_old_news', 'spider', 'count', 'interval']
exclude = ['job_uuid', 'create_time', 'end_time', 'status', 'schedule_job']
\ No newline at end of file
......@@ -69,7 +69,6 @@ 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})
......@@ -77,15 +76,10 @@ class NewJobCreateView(CreateView):
form = CreateJobForm(request.POST)
if form.is_valid():
job = form.save()
job.schedule_job = make_periodic_task(job.id, schedule(job.interval, job.count))
job.save()
else:
return HttpResponse('Bad request', status=400)
interval = request.POST.get('interval', '').upper()
if interval:
job.interval = interval
job.save()
job.schedule_job = make_periodic_task(job.id, schedule(interval, job.count))
job.save()
return HttpResponseRedirect(reverse('job_list'))
......
......@@ -37,28 +37,28 @@
<div class="form-group row">
<div class="col-md-3">
<label class="custom-control custom-radio">
<input id="radio1" name="interval" value="day" type="radio" class="custom-control-input">
<input id="radio1" name="interval" value="DAY" type="radio" class="custom-control-input">
<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">
<input id="radio2" name="interval" value="week" type="radio" class="custom-control-input">
<input id="radio2" name="interval" value="WEEK" type="radio" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Week < 4 </span>
</label>
</div>
<div class="col-md-3">
<label class="custom-control custom-radio">
<input id="radio3" name="interval" value="month" type="radio" class="custom-control-input">
<input id="radio3" name="interval" value="MONTH" type="radio" class="custom-control-input">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">Month</span>
</label>
</div>
<div class="col-md-3">
<label class="custom-control custom-radio">
<input id="radio4" name="interval" value="non" type="radio"
<input id="radio4" name="interval" value="NON" type="radio"
class="custom-control-input">
<span class="custom-control-indicator"></span>
<span class="custom-control-description">After finish</span>
......@@ -101,6 +101,7 @@
</div>
</div>
</form>
{{ f }}
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
......
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