|
|
<?php
|
|
|
class projectsModel extends ModelBase{
|
|
|
|
|
|
public $tableName = 'sis_project';
|
|
|
public $id = array('key'=>'idproject','value'=>'');
|
|
|
|
|
|
public function addItem($datos){
|
|
|
$this->setFieldArray($datos);
|
|
|
list($resultado,$id,$mensaje) = $this->insert();
|
|
|
return array ($resultado,$id,$mensaje);
|
|
|
}
|
|
|
|
|
|
public function DeleteItem(){
|
|
|
list($resultado,$mensaje) = $this->delete();
|
|
|
return array ($resultado,$mensaje);
|
|
|
}
|
|
|
|
|
|
public function UpdateItem($datos){
|
|
|
$this->setFieldArray($datos);
|
|
|
list($resultado,$mensaje) = $this->update();
|
|
|
return array ($resultado,$mensaje);
|
|
|
}
|
|
|
//JASYRC 10MAY2010
|
|
|
public function getProjects($datos = array("inicio" => 0, "tamanio" => 5)){
|
|
|
//realizamos la consulta de todos los items
|
|
|
$query = "SELECT sp.*, su.firstname, su.lastname FROM sis_project AS sp"
|
|
|
." INNER JOIN sis_user AS su ON sp.created_by = su.iduser"
|
|
|
." ORDER BY date_start ASC";
|
|
|
$consulta = $this->db->prepare($query);
|
|
|
$consulta->execute();
|
|
|
$num_filas = $consulta->rowCount();
|
|
|
|
|
|
$parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']);
|
|
|
list($paginas,$navegador) = $this->getPager($parametros);
|
|
|
|
|
|
|
|
|
//realizamos una consulta paginada
|
|
|
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' ');
|
|
|
$consulta->execute();
|
|
|
|
|
|
//devolvemos la coleccion para que la vista la presente.
|
|
|
return array($consulta,$paginas,$navegador);
|
|
|
}
|
|
|
|
|
|
//JASYRC 06JUL2010
|
|
|
public function getChangeList($idproject, $datos = array("inicio" => 0, "tamanio" => 5)){
|
|
|
|
|
|
$query = "SELECT sv.num_version, sch.*,"
|
|
|
." CONCAT(su.lastname, ', ', su.firstname) AS user"
|
|
|
." FROM sis_changelist_projects AS sch"
|
|
|
." INNER JOIN sis_user AS su ON sch.modified_by = su.iduser"
|
|
|
." INNER JOIN sis_version AS sv ON sch.idversion = sv.idversion"
|
|
|
." WHERE sv.idproject = $idproject ORDER BY sch.date_update ASC";
|
|
|
$consulta = $this->db->prepare($query);
|
|
|
$consulta->execute();
|
|
|
$num_filas = $consulta->rowCount();
|
|
|
|
|
|
$parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']);
|
|
|
list($paginas,$navegador) = $this->getPager($parametros);
|
|
|
|
|
|
|
|
|
//realizamos una consulta paginada
|
|
|
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' ');
|
|
|
$consulta->execute();
|
|
|
|
|
|
//devolvemos la coleccion para que la vista la presente.
|
|
|
return array($consulta,$paginas,$navegador);
|
|
|
}
|
|
|
|
|
|
//JASYRC 06JUL2010
|
|
|
public function getVersionList($idproject, $datos = array("inicio" => 0, "tamanio" => 5)){
|
|
|
|
|
|
$query = "SELECT sv.*, CONCAT( su.lastname, ', ', su.firstname) AS user"
|
|
|
." FROM sis_version AS sv"
|
|
|
." INNER JOIN sis_user AS su ON sv.created_by = su.iduser"
|
|
|
." WHERE sv.idproject = $idproject";
|
|
|
$consulta = $this->db->prepare($query);
|
|
|
$consulta->execute();
|
|
|
$num_filas = $consulta->rowCount();
|
|
|
|
|
|
$parametros = array("total" => $num_filas, "inicio" => $datos['inicio'], "pagina" => $datos['tamanio']);
|
|
|
list($paginas,$navegador) = $this->getPager($parametros);
|
|
|
|
|
|
//realizamos una consulta paginada
|
|
|
$consulta = $this->db->prepare($query.' LIMIT '.$datos['inicio'].' , '.$datos['tamanio'].' ');
|
|
|
$consulta->execute();
|
|
|
|
|
|
//devolvemos la coleccion para que la vista la presente.
|
|
|
return array($consulta,$paginas,$navegador);
|
|
|
}
|
|
|
|
|
|
//JASYRC 06JUL2010
|
|
|
public function getChanges($idproject){
|
|
|
|
|
|
$query = "SELECT sv.num_version, sch.*,"
|
|
|
." CONCAT(su.lastname, ', ', su.firstname) AS user"
|
|
|
." FROM sis_changelist_projects AS sch"
|
|
|
." INNER JOIN sis_user AS su ON sch.modified_by = su.iduser"
|
|
|
." INNER JOIN sis_version AS sv ON sch.idversion = sv.idversion"
|
|
|
." WHERE sv.idproject = $idproject ORDER BY sv.date_update ASC";
|
|
|
$consulta = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 02JUN2010
|
|
|
function getLProject(){
|
|
|
$query = "SELECT idproject FROM sis_project ORDER BY date_start DESC LIMIT 0,1";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 22JUL2010
|
|
|
function getVersions($idproject){
|
|
|
$query = "SELECT sv.*, CONCAT( su.lastname, ', ', su.firstname) AS user"
|
|
|
." FROM sis_version AS sv"
|
|
|
." INNER JOIN sis_user AS su ON sv.created_by = su.iduser"
|
|
|
." WHERE sv.idproject = $idproject";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 22JUL2010
|
|
|
function getCurrentVersion($idproject){
|
|
|
$query = "SELECT * FROM sis_version"
|
|
|
." WHERE idproject = $idproject AND state = 1";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 22JUL2010
|
|
|
function getDependence($idproject){
|
|
|
$query = "SELECT svd.*, si.num_iteration, "
|
|
|
." CONCAT(su.lastname, ', ', su.firstname) AS user"
|
|
|
." FROM sis_version_dependence AS svd"
|
|
|
." INNER JOIN sis_version AS sv ON svd.idversion = sv.idversion"
|
|
|
." INNER JOIN sis_iteration AS si ON svd.iditeration = si.iditeration"
|
|
|
." INNER JOIN sis_user AS su ON svd.created_by = su.iduser"
|
|
|
." WHERE sv.idproject = $idproject AND si.idproject = $idproject";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 10MAY2010
|
|
|
function editProject($project){
|
|
|
$query = "SELECT * FROM sis_project WHERE idproject = $project";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 10MAY2010
|
|
|
function update1($project){
|
|
|
$query = "UPDATE sis_project SET title = '".$project['title']."',"
|
|
|
." time_estimated = '".$project['time_estimated']."',"
|
|
|
." description = '".$project['description']."',"
|
|
|
." keywords = '".$project['keywords']."',"
|
|
|
." state = ".$project['state']." WHERE idproject = ".$project['idproject'];
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 10MAY2010
|
|
|
function delProject($project){
|
|
|
$query = "UPDATE sis_project SET state = 5 WHERE idproject = $project";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//JASYRC 10MAY2010
|
|
|
function searchProjectbyTitle($title){
|
|
|
$query = "SELECT * FROM sis_project WHERE LOWER(title) = '".strtolower($title)."'";
|
|
|
$result = $this->db->prepare($query);
|
|
|
$result->execute();
|
|
|
$num_rows = $result->rowCount();
|
|
|
return $num_rows;
|
|
|
}
|
|
|
}
|
|
|
?>
|
|
|
|