Commit 27205cddf7b8de9bc3e48edca2d5795cc05c0614
1 parent
3c2af6088a
Exists in
master
crea el combo dependiente entre el eje y el estado asociado en el portal a la ho…
…ra del registro y lo actualiza en la base de datos
Showing
5 changed files
with
96 additions
and
1 deletions
Show diff stats
app/Resources/views/portal/index.html.twig
@@ -320,6 +320,34 @@ | @@ -320,6 +320,34 @@ | ||
320 | <script type="text/javascript"> | 320 | <script type="text/javascript"> |
321 | smoothScroll.init(); | 321 | smoothScroll.init(); |
322 | 322 | ||
323 | + $(function() { | ||
324 | + $("#solicitar_eje").change(function(){ | ||
325 | + | ||
326 | + var data = { | ||
327 | + eje_id: this.value | ||
328 | + }; | ||
329 | + console.log(data); | ||
330 | + $.ajax({ | ||
331 | + type: 'post', | ||
332 | + url: '{{ path("ajax_select_parroquias") }}', | ||
333 | + data: data, | ||
334 | + success: function(data) { | ||
335 | + estados = jQuery.parseJSON(data.estados); | ||
336 | + console.log(estados); | ||
337 | + var $parroquia_selector = $('#solicitar_eje_parroquia'); | ||
338 | + | ||
339 | + $parroquia_selector.html('<option>Seleccione Estado del Eje</option>'); | ||
340 | + | ||
341 | + for (var i=0, total = estados.length; i < total; i++) { | ||
342 | + $parroquia_selector.append('<option value="' + estados[i].id + '">' + estados[i].idParroquia.idMunicipio.idEstado.nombre + '</option>'); | ||
343 | + } | ||
344 | + | ||
345 | + } | ||
346 | + }); | ||
347 | + | ||
348 | + }); | ||
349 | + }); | ||
350 | + | ||
323 | $('.btn').on('click', function() { | 351 | $('.btn').on('click', function() { |
324 | var $this = $(this); | 352 | var $this = $(this); |
325 | $this.button('loading'); | 353 | $this.button('loading'); |
src/AppBundle/Controller/AjaxController.php
@@ -246,6 +246,42 @@ class AjaxController extends Controller { | @@ -246,6 +246,42 @@ class AjaxController extends Controller { | ||
246 | 246 | ||
247 | 247 | ||
248 | /** | 248 | /** |
249 | + * @Route("/ajax/buscar/parroquias", name="ajax_select_parroquias") | ||
250 | + * @Method({"POST"}) | ||
251 | + */ | ||
252 | + public function buscarParroquiasAction(Request $request){ | ||
253 | + | ||
254 | + if($request->isXmlHttpRequest()){ | ||
255 | + $encoders = array(new JsonEncoder()); | ||
256 | + $normalizers = array(new ObjectNormalizer()); | ||
257 | + | ||
258 | + $serializer = new Serializer($normalizers, $encoders); | ||
259 | + | ||
260 | + | ||
261 | + $eje = filter_input(INPUT_POST, 'eje_id', FILTER_SANITIZE_SPECIAL_CHARS); | ||
262 | + $eje = $this->getDoctrine()->getRepository("AppBundle:Eje")->findOneById($eje); | ||
263 | + $estados = $this->getDoctrine()->getRepository("AppBundle:EjeParroquia")->findByIdEje($eje); | ||
264 | + | ||
265 | + | ||
266 | + | ||
267 | + $response = new JsonResponse(); | ||
268 | + $response->setStatusCode(200); | ||
269 | + $response->setData(array( | ||
270 | + 'response' => 'success', | ||
271 | + 'eje' => $eje, | ||
272 | + 'estados' => $serializer->serialize($estados, 'json') | ||
273 | + )); | ||
274 | + | ||
275 | + return $response; | ||
276 | + | ||
277 | + | ||
278 | + } | ||
279 | + | ||
280 | + } | ||
281 | + | ||
282 | + | ||
283 | + | ||
284 | + /** | ||
249 | * @Route("/ajax/eliminar/tarea", name="ajax_eliminar_tarea") | 285 | * @Route("/ajax/eliminar/tarea", name="ajax_eliminar_tarea") |
250 | * @Method({"POST"}) | 286 | * @Method({"POST"}) |
251 | */ | 287 | */ |
src/AppBundle/Controller/PortalController.php
@@ -38,7 +38,11 @@ class PortalController extends Controller | @@ -38,7 +38,11 @@ class PortalController extends Controller | ||
38 | $this->addFlash('danger', 'Hay un problema con el registro y asignación del Rol del Docente. Por Favor consulte con el Coordinador Regional del CEA'); | 38 | $this->addFlash('danger', 'Hay un problema con el registro y asignación del Rol del Docente. Por Favor consulte con el Coordinador Regional del CEA'); |
39 | return $this->redirect($this->generateUrl('homepage').'#adscripcion'); | 39 | return $this->redirect($this->generateUrl('homepage').'#adscripcion'); |
40 | } | 40 | } |
41 | - | 41 | + $em = $this->getDoctrine()->getManager(); |
42 | + $ejeParroquia = $form->get('eje_parroquia')->getData(); | ||
43 | + $institucion = $this->getDoctrine()->getRepository("AppBundle:Institucion")->findOneByIdEjeParroquia($ejeParroquia); | ||
44 | + $rol->setIdInstitucion($institucion); | ||
45 | + $em->persist($rol); | ||
42 | //si el docente existe, crea el nombre de usuario. | 46 | //si el docente existe, crea el nombre de usuario. |
43 | $usuario = mb_strtolower($rol->getIdRol()->getIdPersona()->getPrimerNombre()[0] .$rol->getIdRol()->getIdPersona()->getPrimerApellido()); | 47 | $usuario = mb_strtolower($rol->getIdRol()->getIdPersona()->getPrimerNombre()[0] .$rol->getIdRol()->getIdPersona()->getPrimerApellido()); |
44 | //busca en la base de datos para ver si ese nombre de usuario ya existe | 48 | //busca en la base de datos para ver si ese nombre de usuario ya existe |
src/AppBundle/Entity/EjeParroquia.php
@@ -106,4 +106,17 @@ class EjeParroquia | @@ -106,4 +106,17 @@ class EjeParroquia | ||
106 | { | 106 | { |
107 | return $this->idEje; | 107 | return $this->idEje; |
108 | } | 108 | } |
109 | + | ||
110 | + | ||
111 | + /** | ||
112 | + * Get nombre | ||
113 | + * | ||
114 | + * @return string | ||
115 | + */ | ||
116 | + public function __toString() | ||
117 | + { | ||
118 | + // TODO: Implement __toString() method. | ||
119 | + return $this->getIdParroquia()->getNombre(); | ||
120 | + } | ||
121 | + | ||
109 | } | 122 | } |
110 | \ No newline at end of file | 123 | \ No newline at end of file |
src/AppBundle/Form/SolicitarType.php
@@ -16,6 +16,7 @@ use Symfony\Component\Form\Extension\Core\Type\NumberType; | @@ -16,6 +16,7 @@ use Symfony\Component\Form\Extension\Core\Type\NumberType; | ||
16 | use Symfony\Bridge\Doctrine\Form\Type\EntityType; | 16 | use Symfony\Bridge\Doctrine\Form\Type\EntityType; |
17 | use Symfony\Component\Form\Extension\Core\Type\SubmitType; | 17 | use Symfony\Component\Form\Extension\Core\Type\SubmitType; |
18 | 18 | ||
19 | + | ||
19 | use Symfony\Component\Validator\Constraints\Email; | 20 | use Symfony\Component\Validator\Constraints\Email; |
20 | use Symfony\Component\Validator\Constraints\Length; | 21 | use Symfony\Component\Validator\Constraints\Length; |
21 | use Symfony\Component\Validator\Constraints\NotBlank; | 22 | use Symfony\Component\Validator\Constraints\NotBlank; |
@@ -85,6 +86,17 @@ class SolicitarType extends AbstractType | @@ -85,6 +86,17 @@ class SolicitarType extends AbstractType | ||
85 | new NotBlank() | 86 | new NotBlank() |
86 | ) | 87 | ) |
87 | )) | 88 | )) |
89 | + | ||
90 | + ->add('eje_parroquia', EntityType::class, array( | ||
91 | + 'placeholder' => 'Seleccione Estado del Eje', | ||
92 | + 'label' => 'Estado', | ||
93 | + 'class' => 'AppBundle:EjeParroquia', | ||
94 | + | ||
95 | + 'constraints' => array( | ||
96 | + new NotBlank() | ||
97 | + ) | ||
98 | + )) | ||
99 | + | ||
88 | ->add('send', SubmitType::class, array( | 100 | ->add('send', SubmitType::class, array( |
89 | 'label' => 'Enviar Solicitud', | 101 | 'label' => 'Enviar Solicitud', |
90 | 'attr' => array( | 102 | 'attr' => array( |
@@ -92,6 +104,8 @@ class SolicitarType extends AbstractType | @@ -92,6 +104,8 @@ class SolicitarType extends AbstractType | ||
92 | 'data-loading-text' => "<i class='fa fa-circle-o-notch fa-spin'></i> Enviando Solicitud..." | 104 | 'data-loading-text' => "<i class='fa fa-circle-o-notch fa-spin'></i> Enviando Solicitud..." |
93 | ) | 105 | ) |
94 | )); | 106 | )); |
107 | + | ||
108 | + | ||
95 | } | 109 | } |
96 | 110 | ||
97 | 111 |