def test_generarTwigAtributoBooleanoGrupo(self): atributo = Atributo('esAlgunaPropiedad') atributo.agregarPropiedad('tipo','boolean') atributo.agregarPropiedad('pathTraductor','entidad.capacitacion.aval.form.label') atributo2 = Atributo('esOtraPropiedad') atributo2.agregarPropiedad('tipo','boolean') atributo2.agregarPropiedad('pathTraductor','entidad.capacitacion.aval.form.label') lista = [atributo,atributo2] generadorGrupo = GeneradorGrupo() generadorBooleano = GeneradorBooleano() aux = "" for atributo in lista: generadorBooleano.grupo = True aux += generadorBooleano.generarTwig(atributo) #import pdb;pdb.set_trace() stringGenerado = generadorGrupo.plantillaGrupo % ('admin.certificado._form.destinado_a', aux) """print stringGenerado print '\n\n'""" resultado = """ <div class="form-group"> <label class="col-lg-2 control-label">{{ 'admin.certificado._form.destinado_a'|trans }}</label> <div class="col-lg-10"> {% set field = form.esAlgunaPropiedad %} <label class="checkbox-inline"> {{ form_widget(field) }} {{ 'entidad.capacitacion.aval.form.label.esAlgunaPropiedad'|trans }} </label> {% set field = form.esOtraPropiedad %} <label class="checkbox-inline"> {{ form_widget(field) }} {{ 'entidad.capacitacion.aval.form.label.esOtraPropiedad'|trans }} </label> </div> </div> """ self.failUnlessEqual(resultado, stringGenerado)
def getAtributosProcesados(self): """ Devuelve una lista con los atributos que se encuentrar en el archivo, procesados, y aplicadando cada procesador """ fileString = self.fileString listaDeAtributosCrudos = self.parsearAtributos(fileString) listaDeAtributosAnotaciones = self.crearDictAnotaciones(fileString) listaAtributos = [] namespace = self.getNameSpace(fileString) info = dict() info['clase'] = self.getClase(fileString).strip() info['pathTraductor'] = '.'.join(self.getDirectorio(namespace).split('//')) + 'form.label' for nombre , anotacion in listaDeAtributosAnotaciones.items(): splitIGual = nombre.split("=") if len(splitIGual) > 1: nombre = splitIGual[0].strip() valorDefault = splitIGual[1].strip() atributo = Atributo(nombre,anotacion) atributo.propiedades['default'] = valorDefault else: atributo = Atributo(nombre, anotacion) self.procesarAtributo(atributo, info) listaAtributos.append(atributo) return listaAtributos
def test_generarTwigAtributo_boolean_not_requerido(self): atributo = Atributo('tieneBeneficios') atributo.agregarPropiedad('tipo' , 'boolean') atributo.agregarPropiedad('required', False) resultado = """ ->add('tieneBeneficios', 'checkbox', array( 'required' => False, ))""" self.failUnlessEqual(resultado, GeneradorBooleano().generarForm(atributo))
def test_generarTwigAtributo_string(self): atributo = Atributo('nombre') atributo.agregarPropiedad('tipo','string') atributo.agregarPropiedad('required', False) resultado = """ ->add('nombre', 'text', array( 'required' => False, ))""" self.failUnlessEqual(resultado, GeneradorString().generarForm(atributo))
def test_generarTwigAtributo_text(self): atributo = Atributo('descripcion') atributo.agregarPropiedad('tipo','text') atributo.agregarPropiedad('required', False) resultado = """ ->add('descripcion', 'textarea', array( 'required' => False, ))""" self.failUnlessEqual(resultado, GeneradorText().generarForm(atributo))
def test_generarTwigAtributo_boolean(self): atributo = Atributo('tieneBeneficios') atributo.agregarPropiedad('tipo' , 'boolean') atributo.agregarPropiedad('pathTraductor','entidad.capacitacion.aval.form.label') resultado = """ <div class="checkbox"> <label> <input type="checkbox"> {{ form_label(field, 'entidad.capacitacion.aval.form.label.tieneBeneficios'|trans, { label_attr: { class: 'control-label' } }) }} </label> </div>""" self.failUnlessEqual(resultado, GeneradorBooleano().generar(atributo))
def test_generarTwigAtributo_text(self): atributo = Atributo('descripcion') atributo.agregarPropiedad('tipo','text') atributo.agregarPropiedad('pathTraductor','entidad.capacitacion.aval.form.label') resultado = """ <div class="form-group"> {{ form_label(field, 'entidad.capacitacion.aval.form.label.descripcion'|trans, { label_attr: {class: 'col-lg-2 control-label'} }) }} <div class="col-lg-10"> {{ form_widget(field, { attr: {class: 'form-control'} }) }} {{ form_errors(field) }} </div> </div>""" self.failUnlessEqual(resultado, GeneradorText().generar(atributo))
def test_generarTwigDate(self): atributo = Atributo('fecha') atributo.agregarPropiedad('tipo','date') atributo.agregarPropiedad('required', False) resultado = """ ->add('fecha', 'date', array( 'empty_value' => array('year' => 'Ano', 'month' => 'Mes', 'day' => 'Dia'), 'input' => 'datetime', 'required' => False, 'widget' => 'choice', 'years' => $years, ))""" self.failUnlessEqual(resultado,GeneradorDate().generarForm(atributo))
def test_generarTwigDatetime(self): atributo = Atributo('fecha') atributo.agregarPropiedad('tipo','datetime') atributo.agregarPropiedad('pathTraductor', 'entidad.capacitacion.aval.form.label') resultado = """ <div class="control-group"> {{ form_label(field, 'entidad.capacitacion.aval.form.label.fecha'| trans, { label_attr: { class: 'control-label' } }) }} <div class="controls"> {{ form_widget(field['day'], { attr: { class: 'span2' } }) }} {{ form_widget(field['month'], { attr: { class: 'span2' } }) }} {{ form_widget(field['year'], { attr: { class: 'span2' } }) }} {{ form_errors(field) }} </div> </div>""" self.failUnlessEqual(resultado,GeneradorDatetime().generar(atributo))
def test_generarTwigAtributo_boolean_requerido(self): atributo = Atributo('tieneBeneficios') atributo.agregarPropiedad('tipo' , 'boolean') atributo.agregarPropiedad('pathTraductor','entidad.capacitacion.aval.form.label') atributo.agregarPropiedad('required', True) resultado = """ ->add('tieneBeneficios', 'checkbox', array( 'required' => True, ))""" self.failUnlessEqual(resultado, GeneradorBooleano().generarForm(atributo))
def test_generarTwigAtributo_decimal(self): atributo = Atributo('tipo') atributo.agregarPropiedad('tipo','decimal') atributo.agregarPropiedad('length', 45) atributo.agregarPropiedad('required', False) resultado = """ ->add('tipo', 'number', array( 'grouping' => True, 'presicion' => 3, 'required' => False, ))""" self.failUnlessEqual(resultado,GeneradorDecimal().generarForm(atributo))
def lectorTabla(): attribute_list = [] limite = self.tabla2.GetItemCount() nombreclase = self.tcNombreClase.GetValue() ruta = self.path for x in range(0,limite,1): col1 = self.tabla2.GetItem(x,col=0).GetText() col2 = self.tabla2.GetItem(x,col=1).GetText() col3 = self.tabla2.GetItem(x,col=2).IsChecked() col4 = self.tabla2.GetItem(x,col=3).IsChecked() atributo = Atributo(col1,col2,col3,col4) attribute_list.append(atributo) read_checkboxes() recibir(nombreclase,ruta,checked_boxes,attribute_list)
def test_generarTwigAtributoCollection(self): atributo = Atributo('miembros') atributo.agregarPropiedad('OneToMany', {'targetEntity': 'Gse\MesaAyudaBundle\Entity\Departamento\Miembro', 'mappedBy': 'departamento', 'cascade' : ['persist', 'remove']}) atributo.agregarPropiedad('archivo','Institucion') atributo.agregarPropiedad('required', False) resultado = """ ->add('miembros', 'collection', array( 'type' => new Gse\MesaAyudaBundle\Form\Departamento\MiembroType(), 'by_reference' => false, 'allow_delete' => true, 'allow_add' => true, ))""" self.failUnlessEqual(resultado, GeneradorOneToMany().generarForm(atributo))
def test_generarTwigAtributoImage(self): atributo = Atributo('fotoFile') atributo.agregarPropiedad('tipo','image') atributo.agregarPropiedad('archivo','Institucion') atributo.agregarPropiedad('required', False) resultado = """ ->add('fotoFile', null, array( 'required' => False, )) ->add('fotoDelete', 'checkbox', array( 'required' => False, ))""" self.failUnlessEqual(resultado, GeneradorImage().generarForm(atributo))
def test_generarTwigAtributo_string_length_45(self): atributo = Atributo('tipo') atributo.agregarPropiedad('tipo','string') atributo.agregarPropiedad('length', 45) atributo.agregarPropiedad('pathTraductor','entidad.capacitacion.aval.form.label') resultado = """ <div class="form-group"> {{ form_label(field, 'entidad.capacitacion.aval.form.label.tipo'|trans, { label_attr: {class: 'col-lg-2 control-label'} }) }} <div class="col-lg-2"> {{ form_widget(field, { attr: {class: 'form-control'} }) }} {{ form_errors(field) }} </div> </div>""" self.failUnlessEqual(resultado, GeneradorString().generar(atributo))
def test_generar_un_atributo(self): atributo = Atributo('esAlgunaPropiedad') atributo.agregarPropiedad('tipo','boolean') atributo.agregarPropiedad('required', False) atributo.agregarPropiedad('pathTraductor','entidad.capacitacion.aval.form.label') self.namespace = 'Gse\AppBundle\Entity' self.clase = 'Institucion' self.manejador.atributosAProcesar = [atributo] resultado = """<?php namespace Gse\AppBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\Form\FormEvent; use Symfony\Component\Form\FormEvents; use Symfony\Component\OptionsResolver\OptionsResolverInterface; use Symfony\Component\Form\FormInterface; class InstitucionType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('esAlgunaPropiedad', 'checkbox', array( 'required' => False, )); } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'Gse\AppBundle\Entity\Institucion', )); } public function getName() { return 'gse_app_institucion'; } } """ self.primera_diferencia(resultado, self.manejador.generar()) self.failUnlessEqual(resultado, self.manejador.generar())
def test_generarTwigAtributoImage(self): atributo = Atributo('fotoFile') atributo.agregarPropiedad('tipo','image') atributo.agregarPropiedad('pathTraductor','entidad.institucion.aval.form.label') atributo.agregarPropiedad('archivo','Institucion') resultado = """ <div class="control-group"> {{ form_label(field, 'entidad.institucion.aval.form.label.foto'|trans, { label_attr: { class: 'control-label' } }) }} <div class="controls"> {% if form.vars.value.foto %} <img class="img-polaroid" src="{{ ('uploads/Institucion/'~form.vars.value.foto)|imagine_filter('small') }}" /> <label class="checkbox">{{ form_widget(form.fotoDelete) }} 'abm.accion.eliminar'|trans </label> {% endif %} {{ form_widget(field) }} {{ form_errors(field) }} </div> </div>""" self.failUnlessEqual(resultado, GeneradorImage().generar(atributo))
def test_generarTwigOneToMany(self): atributo = Atributo('secciones') atributo.agregarPropiedad('tipo','collection') atributo.agregarPropiedad('pathTraductor','campus_admin.capacitacion.form.label') atributo.agregarPropiedad('OneToMany', {'targetEntity': 'Gse\CampusBundle\Entity\Edicion\seccion', 'mappedBy': 'edicion', 'cascade' : ['persist', 'remove']}) print GeneradorOneToMany().generar(atributo)