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 django import forms
from .models import Job, Spider from .models import Job, Spider
...@@ -25,5 +24,5 @@ class CreateJobForm(forms.ModelForm): ...@@ -25,5 +24,5 @@ class CreateJobForm(forms.ModelForm):
class Meta: class Meta:
model = Job model = Job
fields = ['name', 'query', 'scrap_old_news', 'spider', 'count'] fields = ['name', 'query', 'scrap_old_news', 'spider', 'count', 'interval']
exclude = ['job_uuid', 'create_time', 'end_time', 'status', 'schedule_job', 'interval'] exclude = ['job_uuid', 'create_time', 'end_time', 'status', 'schedule_job']
\ No newline at end of file \ No newline at end of file
...@@ -69,7 +69,6 @@ class NewJobCreateView(CreateView): ...@@ -69,7 +69,6 @@ class NewJobCreateView(CreateView):
template_name = 'new_job.html' template_name = 'new_job.html'
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
spiders = Spider.objects.all() spiders = Spider.objects.all()
return render(request, self.template_name, {'spiders': spiders}) return render(request, self.template_name, {'spiders': spiders})
...@@ -77,15 +76,10 @@ class NewJobCreateView(CreateView): ...@@ -77,15 +76,10 @@ class NewJobCreateView(CreateView):
form = CreateJobForm(request.POST) form = CreateJobForm(request.POST)
if form.is_valid(): if form.is_valid():
job = form.save() job = form.save()
job.schedule_job = make_periodic_task(job.id, schedule(job.interval, job.count))
job.save()
else: else:
return HttpResponse('Bad request', status=400) 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')) return HttpResponseRedirect(reverse('job_list'))
......
...@@ -37,28 +37,28 @@ ...@@ -37,28 +37,28 @@
<div class="form-group row"> <div class="form-group row">
<div class="col-md-3"> <div class="col-md-3">
<label class="custom-control custom-radio"> <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-indicator"></span>
<span class="custom-control-description">Day</span> <span class="custom-control-description">Day</span>
</label> </label>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<label class="custom-control custom-radio"> <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-indicator"></span>
<span class="custom-control-description">Week < 4 </span> <span class="custom-control-description">Week < 4 </span>
</label> </label>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<label class="custom-control custom-radio"> <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-indicator"></span>
<span class="custom-control-description">Month</span> <span class="custom-control-description">Month</span>
</label> </label>
</div> </div>
<div class="col-md-3"> <div class="col-md-3">
<label class="custom-control custom-radio"> <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"> class="custom-control-input">
<span class="custom-control-indicator"></span> <span class="custom-control-indicator"></span>
<span class="custom-control-description">After finish</span> <span class="custom-control-description">After finish</span>
...@@ -101,6 +101,7 @@ ...@@ -101,6 +101,7 @@
</div> </div>
</div> </div>
</form> </form>
{{ f }}
</div> </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/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> <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