text: /*
   * Copyright (c) 2015 by Rafael Angel Aznar Aparici (rafaaznar at gmail dot com)
   *
   * sisane: The stunning micro-library that helps you to develop easily
   *             AJAX web applications by using Angular.js 1.x & sisane-server
   * sisane is distributed under the MIT License (MIT)
   * Sources at https://github.com/rafaelaznar/
   *
   * Permission is hereby granted, free of charge, to any person obtaining a copy
   * of this software and associated documentation files (the "Software"), to deal
   * in the Software without restriction, including without limitation the rights
   * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
   * copies of the Software, and to permit persons to whom the Software is
   * furnished to do so, subject to the following conditions:
   *
   * The above copyright notice and this permission notice shall be included in
   * all copies or substantial portions of the Software.
   *
   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
   * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
   * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
   * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
   * THE SOFTWARE.
   *
   */
  
  'use strict';
  
  moduloImagen.controller('ImagenEditController', ['$scope', '$routeParams', '$location', 'imagenService', 'serverService', 'sharedSpaceService', '$filter', '$uibModal',
      function ($scope, $routeParams, $location, imagenService, serverService, sharedSpaceService, $filter, $uibModal) {
          $scope.fields = imagenService.getFields();
          $scope.obtitle = imagenService.getObTitle();
          $scope.icon = imagenService.getIcon();
          $scope.ob = imagenService.getTitle();
          $scope.title = "Editando  " + $scope.obtitle;
          $scope.op = "plist";
          $scope.status = null;
          $scope.error = true;
          $scope.debugging = serverService.debugging();
          $scope.id = $routeParams.id;
          //------------specific------------
          $scope.bean = {};
          $scope.bean.obj_tecnica = {"id": 0};
          $scope.show_obj_tecnica = true;
          $scope.bean.obj_prueba = {"id": 0};
          $scope.show_obj_prueba = true;
          //---------------------------------
          serverService.promise_getOne($scope.ob, $scope.id).then(function (response) {
              if (response.status == 200) {
                  if (response.data.status == 200) {
                      $scope.status = null;
                      $scope.bean = response.data.message;
                  } else {
                      $scope.status = "Error en la recepción de datos del servidor";
                  }
              } else {
                  $scope.status = "Error en la recepción de datos del servidor";
              }
          }).catch(function (data) {
              $scope.status = "Error en la recepción de datos del servidor";
          });
          $scope.save = function () {
              var arrinputdate = $scope.bean.fecha.split(" ");
              var partes = arrinputdate[0].split("/");
              var newDate = new Date(partes[2], partes[1] - 1, partes[0]);
              $scope.bean.fecha = $filter('date')(newDate, "dd/MM/yyyy HH:mm");
  
              var jsonToSend = {json: JSON.stringify(serverService.array_identificarArray($scope.bean))};
              serverService.promise_setOne($scope.ob, jsonToSend).then(function (response) {
                  if (response.status == 200) {
                      if (response.data.status == 200) {
                          $scope.response = response;
                          $scope.status = "El registro " + $scope.obtitle + " se ha modificado ... id = " + $scope.bean.id;
                          $scope.bean.id = $scope.bean.id;
                      } else {
                          $scope.status = "Error en la recepción de datos del servidor";
                      }
                  } else {
                      $scope.status = "Error en la recepción de datos del servidor";
                  }
              }).catch(function (data) {
                  $scope.status = "Error en la recepción de datos del servidor";
              });
              ;
          };
          $scope.back = function () {
              window.history.back();
          };
          $scope.close = function () {
              $location.path('/home');
          };
          $scope.plist = function () {
              $location.path('/' + $scope.ob + '/plist');
          };
          $scope.chooseOne = function (nameForeign, foreignObjectName, contollerName) {
              var modalInstance = $uibModal.open({
                  templateUrl: 'js/' + foreignObjectName + '/selection.html',
                  controller: contollerName,
                  size: 'lg'
              }).result.then(function (modalResult) {
                  $scope.bean[nameForeign].id = modalResult;
              });
          };
          //------------------specific-------------------------------------------
          $scope.$watch('bean.obj_tecnica.id', function () {
              if ($scope.bean) {
                  serverService.promise_getOne('tecnica', $scope.bean.obj_tecnica.id).then(function (response) {
                      var old_id = $scope.bean.obj_tecnica.id;
                      if (response.data.message.id != 0) {
                          $scope.outerForm.obj_tecnica.$setValidity('exists', true);
                          $scope.bean.obj_tecnica = response.data.message;
                      } else {
                          $scope.outerForm.obj_tecnica.$setValidity('exists', false);
                          //$scope.bean.obj_tecnica.id = 0;
                          $scope.bean.obj_tecnica.id = old_id;
                      }
                  });
              }
          });
          //---------------------------------------------------------------------
          $scope.$watch('bean.obj_prueba.id', function () {
              if ($scope.bean) {
                  serverService.promise_getOne('prueba', $scope.bean.obj_prueba.id).then(function (response) {
                      var old_id = $scope.bean.obj_prueba.id;
                      if (response.data.message.id != 0) {
                          $scope.outerForm.obj_prueba.$setValidity('exists', true);
                          $scope.bean.obj_prueba = response.data.message;
                      } else {
                          $scope.outerForm.obj_prueba.$setValidity('exists', false);
                          //$scope.bean.obj_prueba.id = 0;
                          $scope.bean.obj_prueba.id = old_id;
                      }
                  });
              }
          });
      }]);
  