Commit 0832f4de67c3ec04b8164e03ae89dead78cf20a6
1 parent
c59fa81154
Exists in
master
adscripcion completada, solicitud creada, plantilla de la aplicacion comenzada y…
… controlada por los roles
Showing
12 changed files
with
691 additions
and
20 deletions
Show diff stats
app/Resources/views/base_app.html.twig
| @@ -0,0 +1,79 @@ | @@ -0,0 +1,79 @@ | ||
| 1 | +<!DOCTYPE html> | ||
| 2 | +<html> | ||
| 3 | + <head> | ||
| 4 | + <meta charset="UTF-8" /> | ||
| 5 | + <title>{% block title %}CEA | UBV!{% endblock %}</title> | ||
| 6 | + {% block stylesheets %} | ||
| 7 | + <link rel="stylesheet" href="{{ asset('assets/vendor/bootstrap/dist/css/bootstrap.min.css') }}"> | ||
| 8 | + <link rel="stylesheet" href="{{ asset('assets/vendor/font-awesome/css/font-awesome.min.css') }}"> | ||
| 9 | + <link rel="stylesheet" href="{{ asset('assets/vendor/AppBundle/main.css') }}"> | ||
| 10 | + | ||
| 11 | + {% endblock %} | ||
| 12 | + <link rel="icon" type="image/x-icon" href="{{ asset('favicon.ico') }}" /> | ||
| 13 | + </head> | ||
| 14 | + <body data-spy="scroll" data-offset="20" data-target="#navbar"> | ||
| 15 | + {% block navegacion %} | ||
| 16 | + <nav class="navbar navbar-default"> | ||
| 17 | + <div class="container-fluid"> | ||
| 18 | + <div class="navbar-header"> | ||
| 19 | + <a class="navbar-brand" href="#"> | ||
| 20 | + Centro de Estudios Ambientales UBV | ||
| 21 | + </a> | ||
| 22 | + </div> | ||
| 23 | + | ||
| 24 | + <div class="collapse navbar-collapse"> | ||
| 25 | + <ul class="nav navbar-nav navbar-right"> | ||
| 26 | + {% if app.user %} | ||
| 27 | + <li><a href="#">Bienvenido {{app.user.username}}</a></li> | ||
| 28 | + <li><a href="{{path('logout')}}">Salir</a></li> | ||
| 29 | + {% endif %} | ||
| 30 | + </ul> | ||
| 31 | + | ||
| 32 | + </div> | ||
| 33 | + | ||
| 34 | + </div> | ||
| 35 | + | ||
| 36 | + </nav> | ||
| 37 | + | ||
| 38 | + {% endblock %} | ||
| 39 | + | ||
| 40 | + | ||
| 41 | + | ||
| 42 | + {% block submenu %} | ||
| 43 | + | ||
| 44 | + <div class="subnavbar"> | ||
| 45 | + <div class="subnavbar-inner"> | ||
| 46 | + <div class="container"> | ||
| 47 | + <ul class="mainnav"> | ||
| 48 | + <li class="active"><a href="index.html"><i class="fa fa-list"></i><span>Principal</span> </a> </li> | ||
| 49 | + {% if is_granted('ROLE_COORDINADOR_NACIONAL') %} | ||
| 50 | + <li class="active"><a href="index.html"><i class="fa fa-list"></i><span>Principal</span> </a> </li> | ||
| 51 | + {% endif %} | ||
| 52 | + {% if is_granted('ROLE_DOCENTE') %} | ||
| 53 | + <li class="dropdown"><a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown"> <i class="fa fa-dashboard"></i><span>Solicitudes</span> <b class="caret"></b></a> | ||
| 54 | + <ul class="dropdown-menu"> | ||
| 55 | + <li><a href="icons.html">Adscripción</a></li> | ||
| 56 | + <li><a href="faq.html">Ascenso</a></li> | ||
| 57 | + <li><a href="pricing.html">Tiempo Deuda</a></li> | ||
| 58 | + </ul> | ||
| 59 | + </li> | ||
| 60 | + {% endif %} | ||
| 61 | + </ul> | ||
| 62 | + </div> | ||
| 63 | + <!-- /container --> | ||
| 64 | + </div> | ||
| 65 | + <!-- /subnavbar-inner --> | ||
| 66 | + </div> | ||
| 67 | + <!-- /subnavbar --> | ||
| 68 | + | ||
| 69 | + {% endblock %} | ||
| 70 | + | ||
| 71 | + | ||
| 72 | + {% block body %}{% endblock %} | ||
| 73 | + | ||
| 74 | + {% block javascripts %} | ||
| 75 | + <script type="text/javascript" src="{{ asset('assets/vendor/jquery/dist/jquery.min.js') }}"></script> | ||
| 76 | + <script type="text/javascript" src="{{ asset('assets/vendor/bootstrap/dist/js/bootstrap.min.js') }}" ></script> | ||
| 77 | + {% endblock %} | ||
| 78 | + </body> | ||
| 79 | +</html> |
app/Resources/views/cea/index.html.twig
| @@ -0,0 +1,50 @@ | @@ -0,0 +1,50 @@ | ||
| 1 | +{% extends 'base_app.html.twig' %} | ||
| 2 | +{% block body %} | ||
| 3 | + | ||
| 4 | + <div class="main"> | ||
| 5 | + | ||
| 6 | + <div class="main-inner"> | ||
| 7 | + <div class="container"> | ||
| 8 | + {% if not adscrito %} | ||
| 9 | + <div class="alert alert-info"> | ||
| 10 | + <button type="button" class="close" data-dismiss="alert">×</button> | ||
| 11 | + <strong>Información!</strong> Su solicitud de adscripción se encuentra en revisión. | ||
| 12 | + Tan pronto sea activada, se le notificará por el correo institucional y podrá | ||
| 13 | + disfrutar de los servicios que ofrecemos | ||
| 14 | + </div> | ||
| 15 | + {%endif %} | ||
| 16 | + <div class="row"> | ||
| 17 | + <div class="col-md-6"> | ||
| 18 | + <div class="widget widget-nopad"> | ||
| 19 | + <div class="widget-header"> <i class="fa fa-list-alt"></i> | ||
| 20 | + <h3> CEA@UBV</h3> | ||
| 21 | + </div> | ||
| 22 | + <!-- /widget-header --> | ||
| 23 | + <div class="widget-content"> | ||
| 24 | + <div class="widget big-stats-container"> | ||
| 25 | + <div class="widget-content"> | ||
| 26 | + | ||
| 27 | + <h6 class="bigstats"> | ||
| 28 | + Estimado Docente, le damos la más cordial bienvenida al Sistema del Centro de Estudios Ambientales (CEA) de la Universidad Bolivariana de Venezuela (UBV) CEA@UBV. | ||
| 29 | + | ||
| 30 | + </h6> | ||
| 31 | + | ||
| 32 | + </div> | ||
| 33 | + <!-- /widget-content --> | ||
| 34 | + | ||
| 35 | + </div> | ||
| 36 | + </div> | ||
| 37 | + </div> | ||
| 38 | + <!-- /widget --> | ||
| 39 | + </div> | ||
| 40 | + <div class="col-md-5 col-lg-offset-1"> | ||
| 41 | + | ||
| 42 | + <img src="{{ asset('bundles/framework/images/portal/logo_ubv.png') }}" /> | ||
| 43 | + | ||
| 44 | + </div> | ||
| 45 | + </div> | ||
| 46 | + </div> | ||
| 47 | + </div> | ||
| 48 | + </div> | ||
| 49 | + | ||
| 50 | +{% endblock %} |
app/Resources/views/registration/register.html.twig
| 1 | -{% extends 'base.html.twig' %} | ||
| 2 | - | ||
| 3 | -{% block body %} | ||
| 4 | - {% form_theme form 'bootstrap_3_horizontal_layout.html.twig' %} | ||
| 5 | - <div class="container"> | ||
| 6 | - {{ form_start(form) }} | ||
| 7 | - {{ form_widget(form) }} | ||
| 8 | - </div> | ||
| 9 | - | ||
| 10 | - | ||
| 11 | -{% endblock %} | 1 | +{% extends 'base_app.html.twig' %} |
| 12 | 2 | ||
| 13 | {% block stylesheets %} | 3 | {% block stylesheets %} |
| 14 | {{ parent() }} | 4 | {{ parent() }} |
| 5 | + | ||
| 15 | <style> | 6 | <style> |
| 16 | .esc_oposicion, .esc_asistente, .esc_agregado, .esc_asociado, .esc_titular{ | 7 | .esc_oposicion, .esc_asistente, .esc_agregado, .esc_asociado, .esc_titular{ |
| 17 | display: none; | 8 | display: none; |
| @@ -20,6 +11,24 @@ | @@ -20,6 +11,24 @@ | ||
| 20 | {% endblock %} | 11 | {% endblock %} |
| 21 | 12 | ||
| 22 | 13 | ||
| 14 | + | ||
| 15 | +{% block body %} | ||
| 16 | + <div class="account-container register"> | ||
| 17 | + <div class="content clearfix"> | ||
| 18 | + <h1>Solicitud Adscripción</h1> | ||
| 19 | + {% form_theme form 'bootstrap_3_layout.html.twig' %} | ||
| 20 | + {{ form_start(form) }} | ||
| 21 | + {{ form_widget(form) }} | ||
| 22 | + </div> | ||
| 23 | + | ||
| 24 | + </div> | ||
| 25 | + | ||
| 26 | + | ||
| 27 | +{% endblock %} | ||
| 28 | + | ||
| 29 | + | ||
| 30 | + | ||
| 31 | + | ||
| 23 | {% block javascripts %} | 32 | {% block javascripts %} |
| 24 | {{ parent() }} | 33 | {{ parent() }} |
| 25 | <script type="text/javascript"> | 34 | <script type="text/javascript"> |
app/sessions/sess_bgvgescqjdgk1dlrb0koron6v2
| @@ -1 +0,0 @@ | @@ -1 +0,0 @@ | ||
| 1 | -_sf2_attributes|a:4:{s:15:"_csrf/solicitar";s:43:"RLF62VSfJLAlMnifYVXncsvGx3ZFbTP1frw4-tY49t8";s:18:"_csrf/authenticate";s:43:"kGpdaDAMIF5qk2UnjTTFudnDG6lv5qI1e0IiAS8qsfE";s:14:"_security_main";s:387:"C:74:"Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken":299:{a:3:{i:0;N;i:1;s:4:"main";i:2;s:259:"a:4:{i:0;C:25:"AppBundle\Entity\Usuarios":106:{a:3:{i:0;i:11;i:1;s:8:"wramones";i:2;s:60:"$2y$13$UN60aw0H6QLaO5k.ghyvIOrQjW1UPt210b6ReDJUgQGZ7VK9SwoeK";}}i:1;b:1;i:2;a:1:{i:0;C:21:"AppBundle\Entity\Role":38:{a:2:{i:0;i:3;i:1;s:12:"ROLE_DOCENTE";}}}i:3;a:0:{}}";}}";s:10:"_csrf/user";s:43:"8jwP_9MNqXeJDV5zeplCA4ORQkAKirc090Ms8MMTxNM";}_sf2_flashes|a:0:{}_sf2_meta|a:3:{s:1:"u";i:1467905617;s:1:"c";i:1467903769;s:1:"l";s:1:"0";} | ||
| 2 | \ No newline at end of file | 0 | \ No newline at end of file |
nbproject/project.properties
src/AppBundle/Controller/DocenteController.php
| @@ -0,0 +1,46 @@ | @@ -0,0 +1,46 @@ | ||
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +/* | ||
| 4 | + * To change this license header, choose License Headers in Project Properties. | ||
| 5 | + * To change this template file, choose Tools | Templates | ||
| 6 | + * and open the template in the editor. | ||
| 7 | + */ | ||
| 8 | + | ||
| 9 | +namespace AppBundle\Controller; | ||
| 10 | +use Symfony\Bundle\FrameworkBundle\Controller\Controller; | ||
| 11 | +use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; | ||
| 12 | +use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method; | ||
| 13 | + | ||
| 14 | +/** | ||
| 15 | + * Description of DocenteController | ||
| 16 | + * | ||
| 17 | + * @author ubv-cipee | ||
| 18 | + * | ||
| 19 | + * @Route("/ceapp") | ||
| 20 | + * | ||
| 21 | + */ | ||
| 22 | + | ||
| 23 | +class DocenteController extends Controller { | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * Pagina principal de inicio de la session Docente. | ||
| 27 | + * | ||
| 28 | + * @Route("/", name="cea_index") | ||
| 29 | + * @Method("GET") | ||
| 30 | + */ | ||
| 31 | + public function indexAction() | ||
| 32 | + { | ||
| 33 | + $adscripcion = $this->getDoctrine()->getRepository('AppBundle:Adscripcion')-> | ||
| 34 | + findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion()->getId()); | ||
| 35 | + //si no ha solicitado adscripción regresa a la pagina de adscripcion | ||
| 36 | + if(!$adscripcion) return $this->redirect($this->generateUrl('solicitud_adscripcion')); | ||
| 37 | + //solicitud aprobada está en falso | ||
| 38 | + $adscrito = false; | ||
| 39 | + if($adscripcion->getIdEstatus()->getId() == 1) $adscrito = true; | ||
| 40 | + | ||
| 41 | + return $this->render('cea/index.html.twig', array ( | ||
| 42 | + 'adscrito' => $adscrito | ||
| 43 | + )); | ||
| 44 | + } | ||
| 45 | + | ||
| 46 | +} |
src/AppBundle/Controller/RegistrationController.php
| @@ -19,13 +19,13 @@ use AppBundle\Entity\DocenteEscala; | @@ -19,13 +19,13 @@ use AppBundle\Entity\DocenteEscala; | ||
| 19 | class RegistrationController extends Controller | 19 | class RegistrationController extends Controller |
| 20 | { | 20 | { |
| 21 | /** | 21 | /** |
| 22 | - * @Route("/register", name="user_registration") | 22 | + * @Route("/register", name="solicitud_adscripcion") |
| 23 | */ | 23 | */ |
| 24 | public function registerAction(Request $request) | 24 | public function registerAction(Request $request) |
| 25 | { | 25 | { |
| 26 | - //si ya se adscribió redirigirlo | 26 | + //si ya se adscribió redirigirlo a la página principal del sistema |
| 27 | if($this->getDoctrine()->getRepository('AppBundle:Adscripcion')->findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion()->getId())){ | 27 | if($this->getDoctrine()->getRepository('AppBundle:Adscripcion')->findOneByIdRolInstitucion($this->getUser()->getIdRolInstitucion()->getId())){ |
| 28 | - return $this->redirect($this->generateUrl('homepage')); | 28 | + return $this->redirect($this->generateUrl('cea_index')); |
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | 31 | ||
| @@ -80,6 +80,7 @@ class RegistrationController extends Controller | @@ -80,6 +80,7 @@ class RegistrationController extends Controller | ||
| 80 | $adscripcion->setPregrado($nombrePregrado); | 80 | $adscripcion->setPregrado($nombrePregrado); |
| 81 | $adscripcion->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); | 81 | $adscripcion->setIdRolInstitucion($this->getUser()->getIdRolInstitucion()); |
| 82 | $adscripcion->setFechaIngreso($form->get('fecha_ingreso')->getData()); | 82 | $adscripcion->setFechaIngreso($form->get('fecha_ingreso')->getData()); |
| 83 | + $adscripcion->setIdEstatus($this->getDoctrine()->getRepository('AppBundle:Estatus')->findOneById(2)); | ||
| 83 | 84 | ||
| 84 | 85 | ||
| 85 | if ($form->get('escala')->getData()){ | 86 | if ($form->get('escala')->getData()){ |
| @@ -190,7 +191,7 @@ class RegistrationController extends Controller | @@ -190,7 +191,7 @@ class RegistrationController extends Controller | ||
| 190 | 191 | ||
| 191 | 192 | ||
| 192 | 193 | ||
| 193 | - //return $this->redirect($this->generateUrl('app_product_list')); | 194 | + return $this->redirect($this->generateUrl('cea_index')); |
| 194 | } | 195 | } |
| 195 | 196 | ||
| 196 | return $this->render( | 197 | return $this->render( |
src/AppBundle/Controller/SecurityController.php
| @@ -49,7 +49,7 @@ class SecurityController extends Controller | @@ -49,7 +49,7 @@ class SecurityController extends Controller | ||
| 49 | 49 | ||
| 50 | 50 | ||
| 51 | if($this->isGranted('ROLE_DOCENTE')){ | 51 | if($this->isGranted('ROLE_DOCENTE')){ |
| 52 | - return $this->redirect($this->generateUrl('user_registration')); | 52 | + return $this->redirect($this->generateUrl('solicitud_adscripcion')); |
| 53 | } | 53 | } |
| 54 | } | 54 | } |
| 55 | } | 55 | } |
| 56 | \ No newline at end of file | 56 | \ No newline at end of file |
src/AppBundle/Entity/Adscripcion.php
| @@ -153,6 +153,16 @@ class Adscripcion | @@ -153,6 +153,16 @@ class Adscripcion | ||
| 153 | 153 | ||
| 154 | private $fecha_ultima_actualizacion; | 154 | private $fecha_ultima_actualizacion; |
| 155 | 155 | ||
| 156 | + /** | ||
| 157 | + * @var \AppBundle\Entity\Estatus | ||
| 158 | + * | ||
| 159 | + * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Estatus") | ||
| 160 | + * @ORM\JoinColumns({ | ||
| 161 | + * @ORM\JoinColumn(name="id_estatus", referencedColumnName="id", nullable=false) | ||
| 162 | + * }) | ||
| 163 | + */ | ||
| 164 | + protected $idEstatus; | ||
| 165 | + | ||
| 156 | 166 | ||
| 157 | 167 | ||
| 158 | 168 | ||
| @@ -327,6 +337,31 @@ class Adscripcion | @@ -327,6 +337,31 @@ class Adscripcion | ||
| 327 | { | 337 | { |
| 328 | return $this->idLineaInvestigacion; | 338 | return $this->idLineaInvestigacion; |
| 329 | } | 339 | } |
| 340 | + | ||
| 341 | + | ||
| 342 | + | ||
| 343 | + /** | ||
| 344 | + * Set idEstatus | ||
| 345 | + * | ||
| 346 | + * @param \AppBundle\Entity\Estatus $idEstatus | ||
| 347 | + * @return Estatus | ||
| 348 | + */ | ||
| 349 | + public function setIdEstatus(\AppBundle\Entity\Estatus $idEstatus = null) | ||
| 350 | + { | ||
| 351 | + $this->idEstatus = $idEstatus; | ||
| 352 | + | ||
| 353 | + return $this; | ||
| 354 | + } | ||
| 355 | + | ||
| 356 | + /** | ||
| 357 | + * Get idEstatus | ||
| 358 | + * | ||
| 359 | + * @return \AppBundle\Entity\Estatus | ||
| 360 | + */ | ||
| 361 | + public function getIdEstatus() | ||
| 362 | + { | ||
| 363 | + return $this->idEstatus; | ||
| 364 | + } | ||
| 330 | 365 | ||
| 331 | 366 | ||
| 332 | 367 |
src/AppBundle/Entity/Estatus.php
src/AppBundle/Form/UserType.php
| @@ -30,7 +30,8 @@ class UserType extends AbstractType | @@ -30,7 +30,8 @@ class UserType extends AbstractType | ||
| 30 | { | 30 | { |
| 31 | $builder | 31 | $builder |
| 32 | ->add('fecha_ingreso', BirthdayType::class, array( | 32 | ->add('fecha_ingreso', BirthdayType::class, array( |
| 33 | - 'label' => 'Fecha de Ingreso UBV', | 33 | + 'label' => 'Fecha de Ingreso UBV', |
| 34 | + 'data' => new \DateTime("01/01/2014") | ||
| 34 | )) | 35 | )) |
| 35 | ->add('trabajo', FileType::class, array( | 36 | ->add('trabajo', FileType::class, array( |
| 36 | 'label' => 'Digital Constancia Trabajo', | 37 | 'label' => 'Digital Constancia Trabajo', |
| @@ -42,11 +43,18 @@ class UserType extends AbstractType | @@ -42,11 +43,18 @@ class UserType extends AbstractType | ||
| 42 | ->add('pregrado', FileType::class, array( | 43 | ->add('pregrado', FileType::class, array( |
| 43 | 'label' => 'Digital Título de Pregrado', | 44 | 'label' => 'Digital Título de Pregrado', |
| 44 | 'constraints' => array( | 45 | 'constraints' => array( |
| 45 | - new NotBlank() | 46 | + new NotBlank(), |
| 47 | + new File(array('maxSize' => '1024K')) | ||
| 46 | ) | 48 | ) |
| 47 | )) | 49 | )) |
| 48 | 50 | ||
| 49 | - ->add('postgrado', FileType::class, array('label' => 'Digital Título de Postgrado','required' => false)) | 51 | + ->add('postgrado', FileType::class, array( |
| 52 | + 'label' => 'Digital Título de Postgrado', | ||
| 53 | + 'required' => false, | ||
| 54 | + 'constraints' => array( | ||
| 55 | + new File(array('maxSize' => '1024K')) | ||
| 56 | + ) | ||
| 57 | + )) | ||
| 50 | ->add('oposicion', CheckboxType::class, array( | 58 | ->add('oposicion', CheckboxType::class, array( |
| 51 | 'label' => '¿Tiene Concurso de Oposición?', | 59 | 'label' => '¿Tiene Concurso de Oposición?', |
| 52 | 'required' => false, | 60 | 'required' => false, |
web/assets/vendor/AppBundle/main.css
| @@ -0,0 +1,439 @@ | @@ -0,0 +1,439 @@ | ||
| 1 | +body{ | ||
| 2 | + background: url('../../../bundles/framework/images/portal/body-bg.png'); | ||
| 3 | + color:#838383; | ||
| 4 | + font: 13px/1.7em 'Open Sans'; | ||
| 5 | +} | ||
| 6 | + | ||
| 7 | +.page-head-line { | ||
| 8 | + font-weight: 900; | ||
| 9 | + padding-bottom: 20px; | ||
| 10 | + border-bottom: 2px solid #0b5e3e; | ||
| 11 | + text-transform: uppercase; | ||
| 12 | + color: #0b5e3e; | ||
| 13 | + font-size: 20px; | ||
| 14 | + margin-bottom: 40px; | ||
| 15 | +} | ||
| 16 | + | ||
| 17 | +.account-container { | ||
| 18 | + width: 500px; | ||
| 19 | + display: block; | ||
| 20 | + margin: 30px auto 0 auto; | ||
| 21 | + background: #f9f9f9; | ||
| 22 | + | ||
| 23 | + border: 1px solid #d5d5d5; | ||
| 24 | + | ||
| 25 | + -webkit-border-radius: 5px; | ||
| 26 | + -moz-border-radius: 5px; | ||
| 27 | + border-radius: 5px; | ||
| 28 | + | ||
| 29 | + box-shadow: 0px 0px 2px #dadada, inset 0px -3px 0px #e6e6e6; | ||
| 30 | +} | ||
| 31 | + | ||
| 32 | +.content { | ||
| 33 | + padding: 16px 28px 23px; | ||
| 34 | + font-size: 13px; | ||
| 35 | +} | ||
| 36 | + | ||
| 37 | +.register h1{ | ||
| 38 | + color: #444; | ||
| 39 | +} | ||
| 40 | + | ||
| 41 | +.register input{ | ||
| 42 | + font-family: 'Open Sans'; | ||
| 43 | + font-size: 13px; | ||
| 44 | + color: #8e8d8d; | ||
| 45 | + | ||
| 46 | + | ||
| 47 | +} | ||
| 48 | + | ||
| 49 | +/*------------------------------------------------------------------ | ||
| 50 | +[2. Navbar / .navbar] | ||
| 51 | +*/ | ||
| 52 | + | ||
| 53 | +.navbar-default{ | ||
| 54 | + background-color: #3b8341; | ||
| 55 | + border-color: transparent; | ||
| 56 | + border-radius: 0; | ||
| 57 | + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.4); | ||
| 58 | + margin-bottom: 0; | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | +.navbar-default .navbar-brand{ | ||
| 62 | + color: white; | ||
| 63 | + font-size: 25px; | ||
| 64 | +} | ||
| 65 | + | ||
| 66 | +.navbar-default .navbar-nav>li>a{ | ||
| 67 | + color: white; | ||
| 68 | + font-size: 18px; | ||
| 69 | +} | ||
| 70 | + | ||
| 71 | +/*------------------------------------------------------------------ | ||
| 72 | +[3. Subnavbar / .subnavbar] | ||
| 73 | +*/ | ||
| 74 | + | ||
| 75 | +.subnavbar { | ||
| 76 | + margin-bottom: 2.5em; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | +.subnavbar-inner { | ||
| 80 | + height: 60px; | ||
| 81 | + background: #fff; | ||
| 82 | + border-bottom: 1px solid #d6d6d6; | ||
| 83 | +} | ||
| 84 | + | ||
| 85 | +.subnavbar .container > ul { | ||
| 86 | + display: inline-block; | ||
| 87 | + | ||
| 88 | + height: 80px; | ||
| 89 | + padding: 0; | ||
| 90 | + margin: 0; | ||
| 91 | + | ||
| 92 | +} | ||
| 93 | + | ||
| 94 | +.subnavbar .container > ul > li { | ||
| 95 | + float: left; | ||
| 96 | + | ||
| 97 | + min-width: 90px; | ||
| 98 | + height: 60px; | ||
| 99 | + padding: 0; | ||
| 100 | + margin: 0; | ||
| 101 | + | ||
| 102 | + text-align: center; | ||
| 103 | + list-style: none; | ||
| 104 | + | ||
| 105 | + border-left: 1px solid #d9d9d9; | ||
| 106 | + | ||
| 107 | + | ||
| 108 | +} | ||
| 109 | + | ||
| 110 | +.subnavbar .container > ul > li > a { | ||
| 111 | + display: block; | ||
| 112 | + | ||
| 113 | + height: 100%; | ||
| 114 | + padding: 0 15px; | ||
| 115 | + | ||
| 116 | + font-size: 12px; | ||
| 117 | + font-weight: bold; | ||
| 118 | + color: #b2afaa; | ||
| 119 | +} | ||
| 120 | + | ||
| 121 | +.subnavbar .container > ul > li > a:hover { | ||
| 122 | + color: #888; | ||
| 123 | + text-decoration: none; | ||
| 124 | +} | ||
| 125 | + | ||
| 126 | +.subnavbar .container > ul > li > a > i { | ||
| 127 | + display: inline-block; | ||
| 128 | + | ||
| 129 | + width: 24px; | ||
| 130 | + height: 24px; | ||
| 131 | + margin-top: 11px; | ||
| 132 | + margin-bottom: -3px; | ||
| 133 | + font-size: 20px; | ||
| 134 | +} | ||
| 135 | + | ||
| 136 | +.subnavbar .container > ul > li > a > span { | ||
| 137 | + display: block; | ||
| 138 | + | ||
| 139 | +} | ||
| 140 | + | ||
| 141 | + | ||
| 142 | +.subnavbar .container > ul > li.active > a { | ||
| 143 | + | ||
| 144 | + border-bottom:3px solid #ff7f74; | ||
| 145 | + color: #383838; | ||
| 146 | +} | ||
| 147 | + | ||
| 148 | + | ||
| 149 | +.subnavbar .dropdown .dropdown-menu a { | ||
| 150 | + font-size: 12px; | ||
| 151 | +} | ||
| 152 | + | ||
| 153 | + | ||
| 154 | +.subnavbar .dropdown .dropdown-menu { | ||
| 155 | + text-align: left; | ||
| 156 | + | ||
| 157 | + -webkit-border-top-left-radius: 0; | ||
| 158 | + -webkit-border-top-right-radius: 0; | ||
| 159 | + -moz-border-radius-topleft: 0; | ||
| 160 | + -moz-border-radius-topright: 0; | ||
| 161 | + border-top-left-radius: 0; | ||
| 162 | + border-top-right-radius: 0; | ||
| 163 | + } | ||
| 164 | + | ||
| 165 | + | ||
| 166 | + | ||
| 167 | +.subnavbar .dropdown-menu::before { | ||
| 168 | + content: ''; | ||
| 169 | + display: inline-block; | ||
| 170 | + border-left: 7px solid transparent; | ||
| 171 | + border-right: 7px solid transparent; | ||
| 172 | + border-bottom: 7px solid #CCC; | ||
| 173 | + border-bottom-color: rgba(0, 0, 0, 0.2); | ||
| 174 | + position: absolute; | ||
| 175 | + top: -7px; | ||
| 176 | + left: 9px; | ||
| 177 | +} | ||
| 178 | + | ||
| 179 | +.subnavbar .dropdown-menu::after { | ||
| 180 | + content: ''; | ||
| 181 | + display: inline-block; | ||
| 182 | + border-left: 6px solid transparent; | ||
| 183 | + border-right: 6px solid transparent; | ||
| 184 | + border-bottom: 6px solid white; | ||
| 185 | + position: absolute; | ||
| 186 | + top: -6px; | ||
| 187 | + left: 10px; | ||
| 188 | +} | ||
| 189 | + | ||
| 190 | + | ||
| 191 | +.subnavbar .caret { | ||
| 192 | + margin-top: 4px; | ||
| 193 | + | ||
| 194 | + border-top-color: white; | ||
| 195 | + border-bottom-color: white; | ||
| 196 | +} | ||
| 197 | + | ||
| 198 | +.subnavbar .dropdown.open .caret { | ||
| 199 | + display: none; | ||
| 200 | +} | ||
| 201 | + | ||
| 202 | + | ||
| 203 | +/*------------------------------------------------------------------ | ||
| 204 | +[4. Main / .main] | ||
| 205 | +*/ | ||
| 206 | + | ||
| 207 | +.main { | ||
| 208 | + padding-bottom: 2em; | ||
| 209 | + | ||
| 210 | + border-bottom: 1px solid #aaa; | ||
| 211 | +} | ||
| 212 | + | ||
| 213 | + | ||
| 214 | +/*------------------------------------------------------------------ | ||
| 215 | +[6. Widget / .widget] | ||
| 216 | +*/ | ||
| 217 | + | ||
| 218 | +.widget { | ||
| 219 | + | ||
| 220 | + position: relative; | ||
| 221 | + clear: both; | ||
| 222 | + | ||
| 223 | + width: auto; | ||
| 224 | + | ||
| 225 | + margin-bottom: 2em; | ||
| 226 | + | ||
| 227 | + overflow: hidden; | ||
| 228 | +} | ||
| 229 | + | ||
| 230 | +.widget-header { | ||
| 231 | + | ||
| 232 | + position: relative; | ||
| 233 | + | ||
| 234 | + line-height: 40px; | ||
| 235 | + | ||
| 236 | + background: #f9f6f1; | ||
| 237 | + background:-moz-linear-gradient(top, #f9f6f1 0%, #f2efea 100%); /* FF3.6+ */ | ||
| 238 | + background:-webkit-gradient(linear, left top, left bottom, color-stop(0%,#f9f6f1), color-stop(100%,#f2efea)); /* Chrome,Safari4+ */ | ||
| 239 | + background:-webkit-linear-gradient(top, #f9f6f1 0%,#f2efea 100%); /* Chrome10+,Safari5.1+ */ | ||
| 240 | + background:-o-linear-gradient(top, #f9f6f1 0%,#f2efea 100%); /* Opera11.10+ */ | ||
| 241 | + background:-ms-linear-gradient(top, #f9f6f1 0%,#f2efea 100%); /* IE10+ */ | ||
| 242 | + background:linear-gradient(top, #f9f6f1 0%,#f2efea 100%); /* W3C */ | ||
| 243 | + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f6f1', endColorstr='#f2efea'); | ||
| 244 | + -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f9f6f1', endColorstr='#f2efea')"; | ||
| 245 | + | ||
| 246 | + | ||
| 247 | + border: 1px solid #d6d6d6; | ||
| 248 | + | ||
| 249 | + | ||
| 250 | + -webkit-background-clip: padding-box; | ||
| 251 | +} | ||
| 252 | + | ||
| 253 | + .widget-header h3 { | ||
| 254 | + | ||
| 255 | + position: relative; | ||
| 256 | + top: 2px; | ||
| 257 | + left: 10px; | ||
| 258 | + | ||
| 259 | + display: inline-block; | ||
| 260 | + margin-right: 3em; | ||
| 261 | + | ||
| 262 | + font-size: 20px; | ||
| 263 | + font-weight: 800; | ||
| 264 | + color: #525252; | ||
| 265 | + line-height: 18px; | ||
| 266 | + | ||
| 267 | + text-shadow: 1px 1px 2px rgba(255,255,255,.5); | ||
| 268 | + } | ||
| 269 | + | ||
| 270 | + .widget-header [class^="fa-"], .widget-header [class*=" fa-"] { | ||
| 271 | + | ||
| 272 | + display: inline-block; | ||
| 273 | + margin-left: 13px; | ||
| 274 | + margin-right: -2px; | ||
| 275 | + | ||
| 276 | + font-size: 16px; | ||
| 277 | + color: #555; | ||
| 278 | + vertical-align: middle; | ||
| 279 | + | ||
| 280 | + | ||
| 281 | + | ||
| 282 | + } | ||
| 283 | + | ||
| 284 | + | ||
| 285 | + | ||
| 286 | + | ||
| 287 | +.widget-content { | ||
| 288 | + padding: 20px 15px 15px; | ||
| 289 | + | ||
| 290 | + background: #FFF; | ||
| 291 | + | ||
| 292 | + | ||
| 293 | + border: 1px solid #D5D5D5; | ||
| 294 | + | ||
| 295 | + -moz-border-radius: 5px; | ||
| 296 | + -webkit-border-radius: 5px; | ||
| 297 | + border-radius: 5px; | ||
| 298 | +} | ||
| 299 | + | ||
| 300 | +.widget-header+.widget-content { | ||
| 301 | + border-top: none; | ||
| 302 | + | ||
| 303 | + -webkit-border-top-left-radius: 0; | ||
| 304 | + -webkit-border-top-right-radius: 0; | ||
| 305 | + -moz-border-radius-topleft: 0; | ||
| 306 | + -moz-border-radius-topright: 0; | ||
| 307 | + border-top-left-radius: 0; | ||
| 308 | + border-top-right-radius: 0; | ||
| 309 | +} | ||
| 310 | + | ||
| 311 | +.widget-nopad .widget-content { | ||
| 312 | + padding: 0; | ||
| 313 | +} | ||
| 314 | + | ||
| 315 | +/* Widget Content Clearfix */ | ||
| 316 | +.widget-content:before, | ||
| 317 | +.widget-content:after { | ||
| 318 | + content:""; | ||
| 319 | + display:table; | ||
| 320 | +} | ||
| 321 | + | ||
| 322 | +.widget-content:after { | ||
| 323 | + clear:both; | ||
| 324 | +} | ||
| 325 | + | ||
| 326 | +/* For IE 6/7 (trigger hasLayout) */ | ||
| 327 | +.widget-content { | ||
| 328 | + zoom:1; | ||
| 329 | +} | ||
| 330 | + | ||
| 331 | +/* Widget Table */ | ||
| 332 | + | ||
| 333 | +.widget-table .widget-content { | ||
| 334 | + padding: 0; | ||
| 335 | +} | ||
| 336 | + | ||
| 337 | +.widget-table .table { | ||
| 338 | + margin-bottom: 0; | ||
| 339 | + | ||
| 340 | + border: none; | ||
| 341 | +} | ||
| 342 | + | ||
| 343 | +.widget-table .table tr td:first-child { | ||
| 344 | + border-left: none; | ||
| 345 | +} | ||
| 346 | + | ||
| 347 | +.widget-table .table tr th:first-child { | ||
| 348 | + border-left: none; | ||
| 349 | +} | ||
| 350 | + | ||
| 351 | + | ||
| 352 | +/* Widget Plain */ | ||
| 353 | + | ||
| 354 | +.widget-plain { | ||
| 355 | + | ||
| 356 | + background: transparent; | ||
| 357 | + | ||
| 358 | + border: none; | ||
| 359 | +} | ||
| 360 | + | ||
| 361 | +.widget-plain .widget-content { | ||
| 362 | + padding: 0; | ||
| 363 | + | ||
| 364 | + background: transparent; | ||
| 365 | + | ||
| 366 | + border: none; | ||
| 367 | +} | ||
| 368 | + | ||
| 369 | + | ||
| 370 | +/* Widget Box */ | ||
| 371 | + | ||
| 372 | +.widget-box { | ||
| 373 | + | ||
| 374 | +} | ||
| 375 | + | ||
| 376 | +.widget-box .widget-content { | ||
| 377 | + background: #E3E3E3; | ||
| 378 | + background: #FFF; | ||
| 379 | +} | ||
| 380 | + | ||
| 381 | +#big_stats | ||
| 382 | +{ | ||
| 383 | + width: 100%; | ||
| 384 | + display: table; | ||
| 385 | + margin-top: 1.5em; | ||
| 386 | + | ||
| 387 | + | ||
| 388 | +} | ||
| 389 | + | ||
| 390 | +.big-stats-container .widget-content { | ||
| 391 | + border:0; | ||
| 392 | +} | ||
| 393 | + | ||
| 394 | +#big_stats .stat | ||
| 395 | +{ | ||
| 396 | + width: 25%; | ||
| 397 | + height: 90px; | ||
| 398 | + text-align: center; | ||
| 399 | + display: table-cell; | ||
| 400 | + padding: 0; | ||
| 401 | + position: relative; | ||
| 402 | + | ||
| 403 | + border-right: 1px solid #CCC; | ||
| 404 | + border-left: 1px solid #FFF; | ||
| 405 | +} | ||
| 406 | +#big_stats i { font-size:30px; display:block; line-height: 40px; color:#b2afaa;} | ||
| 407 | +#big_stats .stat:hover i {color:#19bc9c;} | ||
| 408 | + | ||
| 409 | +h6.bigstats{ | ||
| 410 | + margin: 20px; | ||
| 411 | + border-bottom: 1px solid #eee; | ||
| 412 | + padding-bottom: 20px; | ||
| 413 | + margin-bottom: 26px; | ||
| 414 | + font-size: 20px; | ||
| 415 | +} | ||
| 416 | + | ||
| 417 | +#big_stats .stat:first-child { | ||
| 418 | + border-left: none; | ||
| 419 | +} | ||
| 420 | + | ||
| 421 | +#big_stats .stat:last-child { | ||
| 422 | + border-right: none; | ||
| 423 | +} | ||
| 424 | + | ||
| 425 | +#big_stats .stat h4 | ||
| 426 | +{ | ||
| 427 | + font-size: 11px; | ||
| 428 | + font-weight: bold; | ||
| 429 | + color: #777; | ||
| 430 | + margin-bottom: 1.5em; | ||
| 431 | +} | ||
| 432 | + | ||
| 433 | +#big_stats .stat .value | ||
| 434 | +{ | ||
| 435 | + font-size: 45px; | ||
| 436 | + font-weight: bold; | ||
| 437 | + color: #545454; | ||
| 438 | + line-height: 1em; | ||
| 439 | +} | ||
| 0 | \ No newline at end of file | 440 | \ No newline at end of file |