class EmployeeIncidentNew(GenerateMixin, TemplateView): template_name = 'administrator/employee/employee_incident_new.html' def get(self, request, *args, **kwargs): self.form_incident = IncidentForm(auto_id='incident_%s') self.form_incidentDetail = IncidentDetailFormSet( prefix='incident_detal') return self.render_to_response(self.get_context_data()) def post(self, request, *args, **kwargs): self.form_incident = IncidentForm(request.POST, auto_id='incident_%s') self.form_incidentDetail = IncidentDetailFormSet( request.POST, prefix='incident_detal') if (self.form_incident.is_valid() and self.form_incidentDetail.is_valid()): with transaction.atomic(): incident = self.form_incident.save() self.get_formset_employee(self.form_incidentDetail, incident) return self.render_to_response(self.get_context_data()) @staticmethod def get_formset_employee(formset, incident): for form in formset.forms: form.save(incident=incident, commit=False) def get_context_data(self, **kwargs): context = super(EmployeeIncidentNew, self).get_context_data(**kwargs) context['nav'] = ( ('Panel Mando', '/'), ('Incidentes', reverse_lazy('adm_app:employee_app:incident')), ('Registro', '') ) context['form'] = self.form_incident context['incidentDetailForm'] = self.form_incidentDetail return context
def post(self, request, *args, **kwargs): self.form_incident = IncidentForm(request.POST, auto_id='incident_%s') self.form_incidentDetail = IncidentDetailFormSet( request.POST, prefix='incident_detal') if (self.form_incident.is_valid() and self.form_incidentDetail.is_valid()): with transaction.atomic(): incident = self.form_incident.save() self.get_formset_employee(self.form_incidentDetail, incident) return self.render_to_response(self.get_context_data())
def get(self, request, *args, **kwargs): self.form_incident = IncidentForm(auto_id='incident_%s') self.form_incidentDetail = IncidentDetailFormSet( prefix='incident_detal') return self.render_to_response(self.get_context_data())