def add_item(request, report_id): if request.method == 'POST': form_1 = Item1Form(request.POST) form_2 = Item2Form(request.POST) form_3 = Item3Form(request.POST) if form_1.is_valid(): item_stage1 = request.POST.getlist('item_stage1_name') for item in item_stage1: if item != '': report_obj = Report(pk=report_id) item_obj = Items(name=item, stage=1, report_id=report_obj) item_obj.save() elif form_2.is_valid(): item_stage2 = request.POST.getlist('item_stage2_name') for item in item_stage2: if item != '': report_obj = Report(pk=report_id) item_obj = Items(name=item, stage=2, report_id=report_obj) item_obj.save() elif form_3.is_valid(): item_stage3 = request.POST.getlist('item_stage3_name') for item in item_stage3: if item != '': report_obj = Report(pk=report_id) item_obj = Items(name=item, stage=3, report_id=report_obj) item_obj.save() return HttpResponseRedirect( reverse("report.views.edit_report", args=(), kwargs={'pk': report_id}))
def create_report(request): if request.method == 'POST': form = ReportForm(request.POST) if form.is_valid(): #check rules in forms.py report_name = request.POST.get('report_name') #from html report_obj = Report(name=report_name) #get data into Report Model report_obj.user_id = request.user #from user that login report_obj.save() #save data intp database item_stage1_name = request.POST.getlist('stage1') for item in item_stage1_name: if item != '': item_obj = Items(name=item, stage=1, report_id=report_obj) item_obj.save() item_stage2_name = request.POST.getlist('stage2') for item in item_stage2_name: if item != '': item_obj = Items(name=item, stage=2, report_id=report_obj) item_obj.save() item_stage3_name = request.POST.getlist('stage3') for item in item_stage3_name: if item != '': item_obj = Items(name=item, stage=3, report_id=report_obj) item_obj.save() if request.POST.get("check_default", False): Items.objects.bulk_create([ Items(name="Do I know what topic I would like to write?", stage=1, report_id=report_obj), Items(name="Do I have enough information to write?", stage=1, report_id=report_obj), Items(name="Does the report have the title?", stage=2, report_id=report_obj), Items(name="Does the report have the table of content?", stage=2, report_id=report_obj), Items(name="Does the report have the content?", stage=2, report_id=report_obj), Items(name="Does the report have the references?", stage=2, report_id=report_obj), Items( name= "Do I send an email to my lecturer that I complete the report?", stage=3, report_id=report_obj), Items(name="Do I post it on my Facebook?", stage=3, report_id=report_obj), ]) return HttpResponseRedirect( reverse('report.views.create_report')) #redirect after POST else: form = ReportForm() return render(request, 'create_report.html', {})