Commit 7e37152fd9c6794216c945052f70cdcce209280f

Authored by mukhtar
1 parent 15ffa551

changed a number of functions for unitmanagement


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@1005 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/unitmanagement/Unit.inc
... ... @@ -132,16 +132,31 @@ class Unit {
132 132 {
133 133 global $default, $lang_err_database, $lang_err_object_key;
134 134 //only delete the object if it exists in the database
135   - if ($this->iId >= 0)
136   - {
  135 +
  136 + if ($this->iId >= 0) {
  137 + //check to see if group is linked to a unit
137 138 $sql = $default->db;
138   - $result = $sql->query("DELETE FROM $default->owl_units_table WHERE id = $this->iId");
139   - if ($result)
140   - {
141   - return true;
  139 + $query = "SELECT unit_id FROM ". $default->owl_groups_units_table ." WHERE unit_id = '" . $this->iId . "'";
  140 + $sql->query($query);
  141 + $rows = $sql->num_rows($sql);
  142 +
  143 +
  144 +
  145 + if ($rows > 0){
  146 + // duplicate link exists
  147 + $_SESSION["errorMessage"] = "Group::The Group " . $this->sName . " exits!";
  148 + return false;
  149 +
  150 + }else{
  151 + $sql = $default->db;
  152 + $result = $sql->query("DELETE FROM $default->owl_units_table WHERE id = $this->iId");
  153 + if ($result)
  154 + {
  155 + return true;
  156 + }
  157 + $_SESSION["errorMessage"] = $lang_err_database;
  158 + return false;
142 159 }
143   - $_SESSION["errorMessage"] = $lang_err_database;
144   - return false;
145 160 }
146 161 $_SESSION["errorMessage"] = $lang_err_object_key;
147 162 return false;
... ... @@ -245,5 +260,17 @@ class Unit {
245 260 }
246 261  
247 262 }
248   -
  263 +/**
  264 +* Static function
  265 +*
  266 +* Creates a unit object from an array
  267 +*
  268 +* @param Array Array of parameters. Must match order of parameters in constructor
  269 +*
  270 +* @return User user object
  271 +*/
  272 +function & unitCreateFromArray($aParameters) {
  273 + $oUnit = & new Unit($aParameters[0], $aParameters[1], $aParameters[2], $aParameters[3], $aParameters[4], $aParameters[5], $aParameters[6], $aParameters[7], $aParameters[8], $aParameters[9], $aParameters[10]);
  274 + return $oUnit;
  275 +}
249 276 ?>
... ...
lib/unitmanagement/UnitOrganisationLink.inc
... ... @@ -77,6 +77,8 @@ class UnitOrganisationLink {
77 77 $this->iUnitID = $iNewValue;
78 78 }
79 79  
  80 +
  81 +
80 82 /**
81 83 * Create the current object in the database
82 84 *
... ... @@ -90,7 +92,7 @@ class UnitOrganisationLink {
90 92 {
91 93  
92 94 $sql = $default->db;
93   - $query = "SELECT unit_id and organisation_ID FROM ". $default->owl_units_organisations_link_table ." WHERE unit_id = '" . $this->iUnitID . "' and organisation_id = '". $this->iOrgID ."'";
  95 + $query = "SELECT unit_id and organisation_id FROM ". $default->owl_units_organisations_table ." WHERE unit_id = '" . $this->iUnitID . "' and organisation_id = '". $this->iOrgID ."'";
94 96 $sql->query($query);
95 97 $rows = $sql->num_rows($sql);
96 98  
... ... @@ -102,7 +104,7 @@ class UnitOrganisationLink {
102 104 }
103 105 else
104 106 {
105   - $result = $sql->query("INSERT INTO " . $default->owl_units_organisations_link_table . " (unit_id,organisation_id) VALUES ($this->iUnitID,$this->iOrgID,)");
  107 + $result = $sql->query("INSERT INTO " . $default->owl_units_organisations_table . " (unit_id,organisation_id) VALUES ($this->iUnitID,$this->iOrgID)");
106 108 if ($result)
107 109 {
108 110 $this->iId = $sql->insert_id();
... ... @@ -127,7 +129,7 @@ class UnitOrganisationLink {
127 129 //only update if the object has been stored
128 130 if ($this->iId > 0) {
129 131 $sql = $default->db;
130   - $result = $sql->query("UPDATE " . $default->owl_units_organisations_link_table . " SET organisation_id = $this->iOrgID, unit_id = $this->iUnitID WHERE id = $this->iId");
  132 + $result = $sql->query("UPDATE " . $default->owl_units_organisations_table . " SET organisation_id = $this->iOrgID, unit_id = $this->iUnitID WHERE id = $this->iId");
131 133 if ($result) {
132 134 return true;
133 135 }
... ... @@ -149,7 +151,7 @@ class UnitOrganisationLink {
149 151 //only delete the object if it exists in the database
150 152 if ($this->iId >= 0) {
151 153 $sql = $default->db;
152   - $result = $sql->query("DELETE FROM $default->owl_units_organisations_link_table WHERE id = $this->iId");
  154 + $result = $sql->query("DELETE FROM $default->owl_units_organisations_table WHERE id = $this->iId");
153 155 if ($result) {
154 156 return true;
155 157 }
... ... @@ -212,5 +214,44 @@ class UnitOrganisationLink {
212 214 return false;
213 215 }
214 216  
  217 + /*
  218 + * static function
  219 + *
  220 + * test to see if unit belongs to org
  221 + *
  222 + * @param false or a value
  223 + *
  224 + */
  225 +
  226 + function unitBelongsToOrg($unitId)
  227 + {
  228 + global $default;
  229 +
  230 + $value = lookupField("$default->owl_units_organisations_table", "organisation_id", "unit_id", $unitId );
  231 +
  232 + return $value;
  233 +
  234 + }
  235 +
  236 + /*
  237 + * static function
  238 + *
  239 + * sets the id of the unitorg using their unit id
  240 + *
  241 + * @param String
  242 + * The unit_ID
  243 + *
  244 + */
  245 +
  246 + function setUnitOrgID($unitId)
  247 + {
  248 + global $default;
  249 +
  250 + $id = lookupID($default->owl_units_organisations_table, "unit_id", $unitId);
  251 +
  252 + $this->iId= $id;
  253 + }
  254 +
  255 +
215 256 }
216 257 ?>
... ...