Commit 7106746f by Luis Perez
parents 290718c3 0d6d3cd9
...@@ -36,34 +36,55 @@ class Controller_Menupersonalizado_Index extends \Controller_App{ ...@@ -36,34 +36,55 @@ class Controller_Menupersonalizado_Index extends \Controller_App{
$view->auto_filter(false); $view->auto_filter(false);
$view->model_Recipe = new Model_Recipe();
return Response::forge($view); return Response::forge($view);
} }
public function post_update(){ public function post_update(){
$ids_recipes_selected = array(); try{
DB::start_transaction();
$ids_recipes_selected = array();
foreach (\Input::post('input') as $item){ foreach (\Input::post('input') as $item){
array_push($ids_recipes_selected,$item['recipe_id']); array_push($ids_recipes_selected,$item['recipe_id']);
$conditions = array( $conditions = array(
'user_id' => \Session::get('user_id'), 'user_id' => \Session::get('user_id'),
'year' => date('Y'), 'year' => date('Y'),
'week_year' => date("W"), 'week_year' => date("W"),
'recipe_id' => $item['recipe_id'], 'recipe_id' => $item['recipe_id'],
'option' => $item['option'], 'option' => $item['option'],
'day_week' => $item['day_week'], 'day_week' => $item['day_week'],
); );
$query = Model_Recipe::find('all',array('where' => $conditions)); $query = Model_Recipe::find('all',array('where' => $conditions));
if(!$query){
Model_Recipe::forge($conditions)->save();
}
if(!$query){
Model_Recipe::forge($conditions)->save();
} }
// Borramos las que no esten seleccionadas.
\Model_Recipe::recipes_current_week()->where('recipe_id','NOT IN', $ids_recipes_selected)->delete();
DB::commit_transaction();
return json_encode(true);
}catch (\Exception $e){
\Fuel\Core\Log::error("Error al guardar el menu personalizado --> ".$e->getMessage().' - '.$e->getFile() .' - '. $e->getLine() );
DB::rollback_transaction();
return json_encode(false);
} }
} }
......
...@@ -14,7 +14,11 @@ use Auth\Auth; ...@@ -14,7 +14,11 @@ use Auth\Auth;
class Controller_Recetario_Index extends \Controller_App{ class Controller_Recetario_Index extends \Controller_App{
public function before(){
//Se cargan funciones de javascript especificas de esta funcionalidad
Casset::js('recetario/index.js');
parent::before();
}
public function get_index(){ public function get_index(){
......
...@@ -34,12 +34,24 @@ class Model_Recipe extends Model{ ...@@ -34,12 +34,24 @@ class Model_Recipe extends Model{
), ),
); );
protected static $_observers = array(
'Orm\\Observer_CreatedAt'=> array(
'events' => array('before_insert'),
'mysql_timestamp' => true,
'property' => 'created_at',
'overwrite' => true
)
);
public static function get_recipes_current_week() public static function get_recipes_current_week()
{ {
//Devolvemos recetas guardadas en la base de datos que correspondan a esta vista. //Devolvemos recetas guardadas en la base de datos que correspondan a esta vista.
return self::recipes_current_week()->get(); return self::recipes_current_week()->get();
} }
/**
* @return \Orm\Query
*/
public static function recipes_current_week() public static function recipes_current_week()
{ {
//Devolvemos recetas guardadas en la base de datos que correspondan a esta vista. //Devolvemos recetas guardadas en la base de datos que correspondan a esta vista.
...@@ -96,4 +108,20 @@ class Model_Recipe extends Model{ ...@@ -96,4 +108,20 @@ class Model_Recipe extends Model{
} }
/**
*
* Comprueba si tiene seleccinoada una receta.
*
* @param $recipe_id
* @return bool
*/
public static function exist_recipe($recipe_id){
$return = self::recipes_current_week()->where('recipe_id',$recipe_id)->get_one();
return $return ? true : false;
}
} }
\ No newline at end of file
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<div class="text-center"> <div class="text-center">
<img src="assets/img/listacompra/add_producto.png" class="img-responsive-custom"/> <img src="assets/img/listacompra/add_producto.png" class="img-responsive-custom mt40"/>
<h2>AÑADIR PRODUCTO</h2> <h2>AÑADIR PRODUCTO</h2>
</div> </div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="modal-body"> <div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<div class="text-center"> <div class="text-center">
<img src="assets/img/listacompra/delete.png" class="img-responsive-custom"/> <img src="assets/img/listacompra/delete.png" class="img-responsive-custom mt40"/>
</div> </div>
<h2 class="text-center">¿BORRAR?</h2> <h2 class="text-center">¿BORRAR?</h2>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="modal-body"> <div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<div class="text-center"> <div class="text-center">
<img src="assets/img/listacompra/delete.png" class="img-responsive-custom"/> <img src="assets/img/listacompra/delete.png" class="img-responsive-custom mt40"/>
</div> </div>
<h2 class="text-center">¿BORRAR?</h2> <h2 class="text-center">¿BORRAR?</h2>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="modal-body"> <div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<div class="text-center"> <div class="text-center">
<img src="assets/img/menu_personalizado/recomendaciones.png" class="img-responsive-custom"/> <img src="assets/img/menu_personalizado/recomendaciones.png" class="img-responsive-custom mt40"/>
<h2>RECOMENDACIONES</h2> <h2>RECOMENDACIONES</h2>
</div> </div>
......
...@@ -8,14 +8,14 @@ ...@@ -8,14 +8,14 @@
<div class="col-xs-10 col-sm-11"> <div class="col-xs-10 col-sm-11">
{{ title }} {{ title }}
</div> </div>
<div class="col-xs-2 col-sm-1 text-right" data-toggle="tooltip" data-placement="bottom" title="¿Como funciona?"> <div class="col-xs-2 col-sm-1 text-right" data-toggle="tooltip-info" data-placement="bottom" title="¿Como funciona?">
<i class="fa fa-info-circle" data-toggle="modal" data-target="#modalInfo"></i> <i class="fa fa-info-circle" data-toggle="modal" data-target="#modalInfo"></i>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="container mt20" > <div class="container mt20 pb80" >
<h2 class="name-menu-saludable">Menú {{ name_menu }}</h2> <h2 class="name-menu-saludable">Menú {{ name_menu }}</h2>
...@@ -55,12 +55,12 @@ ...@@ -55,12 +55,12 @@
PRIMER PLATO PRIMER PLATO
</div> </div>
<div class="container-box-border-box plr-recipe-generales"> <div class="container-box-border-box plr-recipe-generales">
<a href={{ "receta-detalle/update/" ~ i.lunchFirst[0].id }}> <a href={{ "receta-detalle/update/" ~ i.lunchFirst[0].id }} data-toggle="tooltip-info" data-placement="bottom" title="ver receta">
<div class="row pointer a-black"> <div class="row pointer a-black">
<div class="col-xs-11 plr0"> <div class="col-xs-11 plr0">
<p class="color-other">{{ i.lunchFirst[0].name }}</p> <p class="color-other">{{ i.lunchFirst[0].name }}</p>
</div> </div>
<div class="col-xs-1 plr0"> <div class="col-xs-1 plr0" >
<i class="fa fa-search"></i> <i class="fa fa-search"></i>
</div> </div>
</div> </div>
...@@ -72,12 +72,12 @@ ...@@ -72,12 +72,12 @@
SEGUNDO PLATO SEGUNDO PLATO
</div> </div>
<div class="container-box-border-box plr-recipe-generales"> <div class="container-box-border-box plr-recipe-generales">
<a href={{ "receta-detalle/update/"~ i.lunchSecond[0].id }}> <a href={{ "receta-detalle/update/"~ i.lunchSecond[0].id }} data-toggle="tooltip-info" data-placement="bottom" title="ver receta">
<div class="row pointer a-black"> <div class="row pointer a-black">
<div class="col-xs-11 plr0"> <div class="col-xs-11 plr0">
<p class="color-other">{{ i.lunchSecond[0].name }}</p> <p class="color-other">{{ i.lunchSecond[0].name }}</p>
</div> </div>
<div class="col-xs-1 plr0"> <div class="col-xs-1 plr0" >
<i class="fa fa-search "></i> <i class="fa fa-search "></i>
</div> </div>
</div> </div>
...@@ -95,12 +95,12 @@ ...@@ -95,12 +95,12 @@
</div> </div>
<div class="container-box-border-box plr-recipe-generales"> <div class="container-box-border-box plr-recipe-generales">
<a href={{ "receta-detalle/update/"~ i.dinnerFirst[0].id }}> <a href={{ "receta-detalle/update/"~ i.dinnerFirst[0].id }} data-toggle="tooltip-info" data-placement="bottom" title="ver receta">
<div class="row pointer a-black"> <div class="row pointer a-black">
<div class="col-xs-11 plr0"> <div class="col-xs-11 plr0">
<p class="color-other" >{{ i.dinnerFirst[0].name }}</p> <p class="color-other" >{{ i.dinnerFirst[0].name }}</p>
</div> </div>
<div class="col-xs-1 plr0"> <div class="col-xs-1 plr0" >
<i class="fa fa-search "></i> <i class="fa fa-search "></i>
</div> </div>
</div> </div>
...@@ -112,12 +112,12 @@ ...@@ -112,12 +112,12 @@
SEGUNDO PLATO SEGUNDO PLATO
</div> </div>
<div class="container-box-border-box plr-recipe-generales"> <div class="container-box-border-box plr-recipe-generales">
<a href={{ "receta-detalle/update/"~ i.dinnerSecond[0].id }}> <a href={{ "receta-detalle/update/"~ i.dinnerSecond[0].id }} data-toggle="tooltip-info" data-placement="bottom" title="ver receta">
<div class="row pointer a-black"> <div class="row pointer a-black">
<div class="col-xs-11 plr0"> <div class="col-xs-11 plr0">
<p class="color-other" > {{ i.dinnerSecond[0].name }} </p> <p class="color-other" > {{ i.dinnerSecond[0].name }} </p>
</div> </div>
<div class="col-xs-1 plr0"> <div class="col-xs-1 plr0" >
<i class="fa fa-search "></i> <i class="fa fa-search "></i>
</div> </div>
</div> </div>
...@@ -128,7 +128,7 @@ ...@@ -128,7 +128,7 @@
</div> </div>
<div class="row"> <div class="row">
<div class="col-md-6 col-md-offset-6"> <div class="col-md-6 col-md-offset-6">
<button class="btn btn-custom btn-menus-saludables-light mt20" data-toggle="modal" data-target="#modalRecomendaciones"> Recomendaciones resto del día <i class="fa fa-angle-double-right"></i> </button> <button class="btn btn-custom btn-menus-saludables-light mt20" data-toggle="modal" data-target="#modalRecomendaciones"> Resto del día <i class="fa fa-angle-double-right"></i> </button>
</div> </div>
</div> </div>
</div> </div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="modal-body"> <div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<div class="text-center"> <div class="text-center">
<img src="assets/img/menus_saludables/recomendaciones.png" class="img-responsive-custom"/> <img src="assets/img/menus_saludables/recomendaciones.png" class="img-responsive-custom mt40"/>
<h2>RECOMENDACIONES</h2> <h2>RECOMENDACIONES</h2>
</div> </div>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<div class="modal-body"> <div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<div class="text-center"> <div class="text-center">
<img src="assets/img/save.png" class="img-responsive-custom"/> <img src="assets/img/save.png" class="img-responsive-custom mt40"/>
</div> </div>
<div class="content text-center pb40"> <div class="content text-center pb40">
......
<h2>{{ recipe.shortName }}</h2> <h2><strong>{{ recipe.shortName }}</strong></h2>
<!-- imagen mas caja negra--> <!-- imagen mas caja negra-->
<img src="{{ recipe.image }}" class="img-responsive-custom w100pc"> <img src="{{ recipe.image }}" class="img-responsive-custom w100pc">
<div class="solid-box bg-color-other mt0"> <div class="solid-box bg-color-other mt0">
<div class="row "> <div class="row ">
{#tiempo de receta#} {#tiempo de receta#}
<div class="col-md-6"> <div class="col-xs-5">
<i class="fa fa-clock-o"></i> <i class="fa fa-clock-o"></i>
{{ recipe.time }} min {{ recipe.time }} min
</div> </div>
{#dificultad de recdeta#} {#dificultad de recdeta#}
<div class="col-md-6 text-right"> <div class="col-xs-7 text-right">
<i class="fa fa-star-o"></i> Dificultad: <i class="fa fa-star-o"></i> Dificultad:
{{ recipe.difficulty }} {{ recipe.difficulty }}
</div> </div>
......
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
Ingredientes (4 personas) Ingredientes (4 personas)
</div> </div>
<div class="container-box-border-box"> <div class="container-box-border-box text-tables-recipe">
{% for i in recipe.ingredients %} {% for i in recipe.ingredients %}
<div class="row antirow mt10"> <div class="row antirow mt10">
<div class="col-md-8"> {{ i.name }}</div> <div class="col-xs-8"> {{ i.name }}</div>
<div class="col-md-4 text-right">{{ i.cuantity }}</div> <div class="col-xs-4 text-right">{{ i.cuantity }}</div>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
...@@ -22,30 +22,30 @@ ...@@ -22,30 +22,30 @@
Información Nutricional por Ración Información Nutricional por Ración
</div> </div>
<div class="container-box-border-box"> <div class="container-box-border-box text-tables-recipe">
<div class="row antirow mt10"> <div class="row antirow mt10">
<div class="col-md-7">Energía </div> <div class="col-xs-7">Energía </div>
<div class="col-md-5 text-right">{{ recipe.energy }}</div> <div class="col-xs-5 text-right">{{ recipe.energy }}</div>
</div> </div>
<div class="row antirow mt10"> <div class="row antirow mt10">
<div class="col-md-7">Proteína </div> <div class="col-xs-7">Proteína </div>
<div class="col-md-5 text-right">{{ recipe.protein }}</div> <div class="col-xs-5 text-right">{{ recipe.protein }}</div>
</div> </div>
<div class="row antirow mt10"> <div class="row antirow mt10">
<div class="col-md-7">Carbohidratos</div> <div class="col-xs-7">Carbohidratos</div>
<div class="col-md-5 text-right">{{ recipe.carbohydrates }}</div> <div class="col-xs-5 text-right">{{ recipe.carbohydrates }}</div>
</div> </div>
<div class="row antirow mt10"> <div class="row antirow mt10">
<div class="col-md-7">Lípidos</div> <div class="col-xs-7">Lípidos</div>
<div class="col-md-5 text-right">{{ recipe.lipids }}</div> <div class="col-xs-5 text-right">{{ recipe.lipids }}</div>
</div> </div>
<div class="row antirow mt10"> <div class="row antirow mt10">
<div class="col-md-7">Fibra</div> <div class="col-xs-7">Fibra</div>
<div class="col-md-5 text-right">{{ recipe.fiber }}</div> <div class="col-xs-5 text-right">{{ recipe.fiber }}</div>
</div> </div>
<div class="row antirow mt10"> <div class="row antirow mt10">
<div class="col-md-7">Colesterol</div> <div class="col-xs-7">Colesterol</div>
<div class="col-md-5 text-right">{{ recipe.cholesterol }}</div> <div class="col-xs-5 text-right">{{ recipe.cholesterol }}</div>
</div> </div>
</div> </div>
</div> </div>
\ No newline at end of file
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
</div> </div>
</div> </div>
<!--contenido--> <!--contenido-->
<div class="container mt20"> <div class="container mt20 pb80">
<div> <div>
{% include 'filters.twig' %} {% include 'filters.twig' %}
</div> </div>
......
...@@ -233,6 +233,16 @@ input:checked + .slider:before { ...@@ -233,6 +233,16 @@ input:checked + .slider:before {
margin-top:40px; margin-top:40px;
} }
@media (max-width:375px){
.title-box-border-box{
font-size:0.8em;
left:10px;
padding:10px;
}
}
/*----------------------------------------------------*/ /*----------------------------------------------------*/
/*--------------BOTONES CORPORATIVOS------------------*/ /*--------------BOTONES CORPORATIVOS------------------*/
/*-------------------------------------------------------*/ /*-------------------------------------------------------*/
...@@ -245,11 +255,10 @@ input:checked + .slider:before { ...@@ -245,11 +255,10 @@ input:checked + .slider:before {
@media(max-width:600px){ @media(max-width:600px){
.btn-custom{ .btn-custom{
font-size:16px; font-size:16px;
} }
} }
.btn i{ .btn i{
font-size:20px!important; font-size:20px!important;
} }
...@@ -332,17 +341,57 @@ input:checked + .slider:before { ...@@ -332,17 +341,57 @@ input:checked + .slider:before {
@media (max-width:600px){ @media (max-width:600px){
.nav-tabs-menus-saludables>li>a, .nav-tabs-menus-saludables>li>a:focus, .nav-tabs-menus-saludables>li>a:hover { .nav-tabs-menus-saludables>li>a, .nav-tabs-menus-saludables>li>a:focus, .nav-tabs-menus-saludables>li>a:hover {
font-size:10px;
}
.nav-tabs-menus-saludables>li.active>a, .nav-tabs-menus-saludables>li.active>a:focus, .nav-tabs-menus-saludables>li.active>a:hover {
font-size:10px;
}
.nav-tabs-menu-personalizado>li a,.nav-tabs-menu-personalizado>li a:hover, .nav-tabs-menu-personalizado>li a:focus, .nav-tabs-menu-personalizado>li a:active{
font-size:10px;
}
.nav>li>a {
position: relative;
display: block;
padding: 10px 8px;
}
}
@media (max-width:374px){
.nav-tabs-menus-saludables>li>a, .nav-tabs-menus-saludables>li>a:focus, .nav-tabs-menus-saludables>li>a:hover {
font-size:8px; font-size:8px;
} }
.nav-tabs-menus-saludables>li.active>a, .nav-tabs-menus-saludables>li.active>a:focus, .nav-tabs-menus-saludables>li.active>a:hover { .nav-tabs-menus-saludables>li.active>a, .nav-tabs-menus-saludables>li.active>a:focus, .nav-tabs-menus-saludables>li.active>a:hover {
font-size:8px; font-size:8px;
} }
.nav-tabs-menu-personalizado>li a,.nav-tabs-menu-personalizado>li a:hover, .nav-tabs-menu-personalizado>li a:focus, .nav-tabs-menu-personalizado>li a:active{ .nav-tabs-menu-personalizado>li a,.nav-tabs-menu-personalizado>li a:hover, .nav-tabs-menu-personalizado>li a:focus, .nav-tabs-menu-personalizado>li a:active{
font-size:8px; font-size:8px;
} }
.tab-content-menus-saludables{
padding:10px;
}
.tab-content-menu-persoanlizado{
padding:10px;
}
}
@media (max-width:320px){
.nav-tabs-menus-saludables>li>a, .nav-tabs-menus-saludables>li>a:focus, .nav-tabs-menus-saludables>li>a:hover {
font-size:5px;
}
.nav-tabs-menus-saludables>li.active>a, .nav-tabs-menus-saludables>li.active>a:focus, .nav-tabs-menus-saludables>li.active>a:hover {
font-size:5px;
}
.nav-tabs-menu-personalizado>li a,.nav-tabs-menu-personalizado>li a:hover, .nav-tabs-menu-personalizado>li a:focus, .nav-tabs-menu-personalizado>li a:active{
font-size:5px;
}
} }
/*----------------------------------------------------*/ /*----------------------------------------------------*/
/*-------------TEXTOS, PADINGS, MARGINS------------------*/ /*-------------TEXTOS, PADINGS, MARGINS------------------*/
/*-------------------------------------------------------*/ /*-------------------------------------------------------*/
...@@ -578,8 +627,24 @@ a:focus { ...@@ -578,8 +627,24 @@ a:focus {
margin: 0 auto; margin: 0 auto;
} }
} .ac-custom label {
font-size: 0.8em;
padding: 0 0 0 40px;
}
.border-box {
padding: 15px;
}
.plr0{
padding-left:5px;
padding-right:5px;
}
}
@media (max-width:400px){
.border-box {
padding: 15px 5px 15px 5px;
}
}
/*----------------------------------------------GIF CARGA DE PAGINA----------------------*/ /*----------------------------------------------GIF CARGA DE PAGINA----------------------*/
...@@ -940,7 +1005,19 @@ a:focus { ...@@ -940,7 +1005,19 @@ a:focus {
font-size:15px; font-size:15px;
} }
} }
/*****************************************************************************************************************************************/
/*********************************************************RECIPE***************************************************************/
/****************************************************************************************************************************************/
@media (max-width:500px){
.text-tables-recipe div{
font-size:0.9em;
}
}
@media (max-width:375px){
.text-tables-recipe div{
font-size:0.8em;
}
}
/****************************************************************************************************/ /****************************************************************************************************/
/**********************************MODALS***********************************/ /**********************************MODALS***********************************/
......
...@@ -9,6 +9,10 @@ $(window).load(function() { ...@@ -9,6 +9,10 @@ $(window).load(function() {
var height_screen =jQuery(window).height(); // return height of browser viewport var height_screen =jQuery(window).height(); // return height of browser viewport
$(".cs-loader").css("min-height", height_screen); $(".cs-loader").css("min-height", height_screen);
// Control Checked inputs
control_inputs_checked();
}); });
...@@ -70,3 +74,84 @@ $(function () { ...@@ -70,3 +74,84 @@ $(function () {
}) })
/**
* Busca los input seleccionados.
*/
function control_inputs_checked() {
$(':input:checked').map(function () {
diff_input_checked(this);
});
}
/**
* Identidica el tipo de input seleccionado
*
* @param el
*/
function diff_input_checked(el) {
var class_separate = $(el).closest("form").attr('class').split(' ');
var class_type = class_separate[class_separate.length-1];
var type_separate = class_type.split('-');
var type = type_separate[type_separate.length -1];
switch (type) {
case 'cross' :
case 'checkmark' :
case 'boxfill' :
case 'diagonal' :
case 'list' :
print_checkbox_checked(el,type);
break;
case 'fill' :
case 'circle' :
case 'swirl' :
print_radio_checked(el,type);
break;
}
}
/**
* Marca los input de tipo checkbox
*
* @param el
* @param type
*/
function print_checkbox_checked(el,type) {
if( el.checked ) {
draw( el, type );
}
else {
reset( el );
}
}
/**
*
* Marca los inputs de tipo radio.
*
* @param el
* @param type
*/
function print_radio_checked(el,type) {
resetRadio( el );
draw( el, type );
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment