Skip to content

Commit

Permalink
state en lugar de switch para elegir tipo de propiedad
Browse files Browse the repository at this point in the history
  • Loading branch information
canofm committed Sep 2, 2016
1 parent 9e6a339 commit 48eb0df
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 25 deletions.
10 changes: 7 additions & 3 deletions app/modules/propiedades/controllers/crearPropiedadCtrl.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
function CrearPropiedadCtrl(PropiedadesHome) {
function CrearPropiedadCtrl(PropiedadesHome, $state) {
var self = this;
self.propiedad = {};
self.tiposDePropiedad = [{ nombre: "Hotel" }, { nombre: "Particular"}]

self.guardar = function () {
PropiedadesHome.create(self.propiedad);
}
};

self.abrirTipoPropiedad = function () {
$state.go("main.alta_propiedades." + self.propiedad.tipo.nombre.toLowerCase());
};
};

angular.module("booking-app")
.controller("CrearPropiedadCtrl", CrearPropiedadCtrl);

CrearPropiedadCtrl.$inject = [ "PropiedadesHome" ];
CrearPropiedadCtrl.$inject = [ "PropiedadesHome", "$state" ];
10 changes: 7 additions & 3 deletions app/modules/propiedades/controllers/editarPropiedadCtrl.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
function EditarPropiedadCtrl(PropiedadesHome, propiedad) {
function EditarPropiedadCtrl(PropiedadesHome, propiedad, $state) {
var self = this;
self.propiedad = propiedad;
self.tiposDePropiedad = [{ nombre: "Hotel" }, { nombre: "Particular"}]

self.guardar = function () {
PropiedadesHome.update(self.propiedad);
}
};

self.abrirTipoPropiedad = function () {
$state.go("main.editar_propiedades." + self.propiedad.tipo.nombre.toLowerCase());
};
};

angular.module("booking-app")
.controller("EditarPropiedadCtrl", EditarPropiedadCtrl);

EditarPropiedadCtrl.$inject = [ "PropiedadesHome", "propiedad" ];
EditarPropiedadCtrl.$inject = [ "PropiedadesHome", "propiedad", "$state" ];
14 changes: 13 additions & 1 deletion app/modules/propiedades/propiedades.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ angular.module('booking-app')
controller: "CrearPropiedadCtrl",
controllerAs: "formCtrl"
})
.state('main.alta_propiedades.hotel', {
views : { "tipo-propiedad": { templateUrl: "app/modules/propiedades/views/hotelForm.html" } }
})
.state('main.alta_propiedades.particular', {
views : { "tipo-propiedad": { templateUrl: "app/modules/propiedades/views/particularForm.html" } }
})
.state('main.editar_propiedades', {
url: "/propiedades/editar/:id",
templateUrl: "app/modules/propiedades/views/form.html",
Expand All @@ -28,5 +34,11 @@ angular.module('booking-app')
return PropiedadesHome.get(parseInt($stateParams.id));
}
}
});
})
.state('main.editar_propiedades.hotel', {
views : { "tipo-propiedad": { templateUrl: "app/modules/propiedades/views/hotelForm.html" } }
})
.state('main.editar_propiedades.particular', {
views : { "tipo-propiedad": { templateUrl: "app/modules/propiedades/views/particularForm.html" } }
})
});
19 changes: 2 additions & 17 deletions app/modules/propiedades/views/form.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,24 +34,9 @@ <h1 class="page-header">Propiedades</h1>
</div>
<div class="form-group">
<label>Tipo de propiedad</label>
<select class="form-control" ng-options="tipo as tipo.nombre for tipo in formCtrl.tiposDePropiedad track by tipo.nombre" ng-model="formCtrl.propiedad.tipo"></select>
</div>
<div ng-switch="formCtrl.propiedad.tipo.nombre">
<div ng-switch-when="Hotel" class="form-group">
<label>Cantidad de estrellas</label>
<input class="form-control" ng-model="formCtrl.propiedad.tipo.cantidadEstrellas" placeholder="Del 1 a 5">
</div>
<div ng-switch-when="Particular">
<div class="form-group">
<label>Antigüedad</label>
<input class="form-control" ng-model="formCtrl.propiedad.tipo.antiguedad" placeholder="Por ejemplo: 20 años">
</div>
<div class="form-group">
<label>Cantidad de baños</label>
<input class="form-control" ng-model="formCtrl.propiedad.tipo.banios" placeholder="Por ejemplo: 1">
</div>
</div>
<select class="form-control" ng-click="formCtrl.abrirTipoPropiedad()" ng-options="tipo as tipo.nombre for tipo in formCtrl.tiposDePropiedad track by tipo.nombre" ng-model="formCtrl.propiedad.tipo"></select>
</div>
<div ui-view="tipo-propiedad"></div>
<button type="submit" class="btn btn-outline btn-primary" ng-click="formCtrl.guardar()">Guardar</button>
<button type="reset" class="btn btn-outline btn-danger">Reset</button>
<button ui-sref="main.listado_propiedades" class="btn btn-outline btn-warning">Volver</button>
Expand Down
4 changes: 4 additions & 0 deletions app/modules/propiedades/views/hotelForm.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<div class="form-group">
<label>Cantidad de estrellas</label>
<input class="form-control" ng-model="formCtrl.propiedad.tipo.cantidadEstrellas" placeholder="Del 1 a 5">
</div>
2 changes: 1 addition & 1 deletion app/modules/propiedades/views/list.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ <h1 class="page-header">Propiedades</h1>
<td>{{ propiedad.estado }}</td>
<td>{{ propiedad.tipo.nombre }}</td>
<td class="center">
<a ui-sref="main.editar_propiedades({ id: propiedad.id })" class="btn btn-primary btn-circle"><i class="fa fa-pencil-square-o"></i></a>
<a ui-sref="main.editar_propiedades.{{ propiedad.tipo.nombre.toLowerCase() }}({ id: propiedad.id })" class="btn btn-primary btn-circle"><i class="fa fa-pencil-square-o"></i></a>
<a ng-click="listadoCtrl.delete(propiedad.id)" class="btn btn-danger btn-circle"><i class="fa fa-times"></i></a>
</td>
</tr>
Expand Down
8 changes: 8 additions & 0 deletions app/modules/propiedades/views/particularForm.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div class="form-group">
<label>Antigüedad</label>
<input class="form-control" ng-model="formCtrl.propiedad.tipo.antiguedad" placeholder="Por ejemplo: 20 años">
</div>
<div class="form-group">
<label>Cantidad de baños</label>
<input class="form-control" ng-model="formCtrl.propiedad.tipo.banios" placeholder="Por ejemplo: 1">
</div>

0 comments on commit 48eb0df

Please sign in to comment.