def post(self, request, *args, **kwargs): self.object = self.get_object() form_class = self.get_form_class() form = self.get_form(form_class) detalle_requerimiento_formset = DetalleRequerimientoFormSet(request.POST) if form.is_valid() and detalle_requerimiento_formset.is_valid(): return self.form_valid(form, detalle_requerimiento_formset) else: return self.form_invalid(form, detalle_requerimiento_formset)
def get(self, request, *args, **kwargs): self.object = self.get_object() form_class = self.get_form_class() form = self.get_form(form_class) detalles = DetalleRequerimiento.objects.filter( requerimiento=self.object).order_by('nro_detalle') detalles_data = [] for detalle in detalles: try: d = { 'codigo': detalle.producto.codigo, 'producto': detalle.producto.descripcion, 'cantidad': detalle.cantidad, 'unidad': detalle.producto.unidad_medida.codigo, 'uso': detalle.uso } except: d = { 'codigo': '', 'producto': detalle.otro, 'cantidad': detalle.cantidad, 'unidad': '', 'uso': detalle.uso } detalles_data.append(d) detalle_requerimiento_formset = DetalleRequerimientoFormSet( initial=detalles_data) return self.render_to_response( self.get_context_data( form=form, detalle_requerimiento_formset=detalle_requerimiento_formset))
def get(self, request, *args, **kwargs): self.object = None oficinas = Oficina.objects.all() if not oficinas: return HttpResponseRedirect(reverse('administracion:crear_oficina')) try: trabajador = self.request.user.trabajador except: return HttpResponseRedirect(reverse('administracion:crear_trabajador')) if trabajador.firma == '': return HttpResponseRedirect(reverse('administracion:modificar_trabajador', args=[trabajador.pk])) puesto = trabajador.puesto if puesto is None: return HttpResponseRedirect(reverse('administracion:crear_puesto')) puesto_jefe = puesto.puesto_superior if puesto_jefe is None: return HttpResponseRedirect(reverse('administracion:crear_puesto')) niveles_aprobacion = NivelAprobacion.objects.all() if not niveles_aprobacion: return HttpResponseRedirect(reverse('administracion:crear_nivel_aprobacion')) if CONFIGURACION is not None: form_class = self.get_form_class() form = self.get_form(form_class) detalle_requerimiento_formset = DetalleRequerimientoFormSet() return self.render_to_response(self.get_context_data(form=form, detalle_requerimiento_formset=detalle_requerimiento_formset)) else: return HttpResponseRedirect(reverse('contabilidad:configuracion'))
def get(self, request, *args, **kwargs): if request.is_ajax(): lista_detalles = [] det = {} det['codigo'] = '' det['producto'] = '' det['unidad'] = '' det['cantidad'] = '0' det['uso'] = '' lista_detalles.append(det) formset = DetalleRequerimientoFormSet(initial=lista_detalles) lista_json = [] for form in formset: detalle_json = {} detalle_json['codigo'] = str(form['codigo']) detalle_json['producto'] = str(form['producto']) detalle_json['unidad'] = str(form['unidad']) detalle_json['cantidad'] = str(form['cantidad']) detalle_json['uso'] = str(form['uso']) lista_json.append(detalle_json) data = json.dumps(lista_json) return HttpResponse(data, 'application/json')
def get(self, request, *args, **kwargs): self.object = None oficinas = Oficina.objects.all() if not oficinas: return HttpResponseRedirect( reverse('administracion:crear_oficina')) try: trabajador = request.user.trabajador try: puesto = Puesto.objects.get(trabajador=trabajador) if trabajador.firma: puesto_jefe = Puesto.objects.get(oficina=puesto.oficina, es_jefatura=True, estado=True) configuracion = Configuracion.objects.first() if configuracion is not None: form_class = self.get_form_class() form = self.get_form(form_class) detalle_requerimiento_formset = DetalleRequerimientoFormSet( ) return self.render_to_response( self.get_context_data( form=form, detalle_requerimiento_formset= detalle_requerimiento_formset)) else: return HttpResponseRedirect( reverse('contabilidad:configuracion')) else: return HttpResponseRedirect( reverse('administracion:modificar_trabajador', args=[trabajador.pk])) except Puesto.DoesNotExist: return HttpResponseRedirect( reverse('administracion:crear_puesto')) except: return HttpResponseRedirect( reverse('administracion:crear_trabajador'))