/**
  * Load a single Location object,
  * by ShortDescription Index(es)
  * @param string $strShortDescription
  * @return Location
  */
 public static function LoadByShortDescription($strShortDescription, $objOptionalClauses = null)
 {
     return Location::QuerySingle(QQ::Equal(QQN::Location()->ShortDescription, $strShortDescription), $objOptionalClauses);
 }
Beispiel #2
0
 protected function btnSave_Click($strFormId, $strControlId, $strParameter)
 {
     $blnError = false;
     // Do not allow duplicate Location names
     if ($this->blnEditMode) {
         $objLocationDuplicate = Location::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::Location()->ShortDescription, $this->txtShortDescription->Text), QQ::NotEqual(QQN::Location()->LocationId, $this->objLocation->LocationId)));
     } else {
         $objLocationDuplicate = Location::QuerySingle(QQ::Equal(QQN::Location()->ShortDescription, $this->txtShortDescription->Text));
     }
     if ($objLocationDuplicate) {
         $blnError = true;
         $this->txtShortDescription->Warning = 'This Location Name is already in use. Please try another.';
         $this->txtShortDescription->Focus();
     }
     // Check if there is any inventory at this location
     $objInventoryLocation = InventoryLocation::QuerySingle(QQ::Equal(QQN::InventoryLocation()->LocationId, $this->objLocation->LocationId), QQ::Clause(QQ::Sum(QQN::InventoryLocation()->Quantity, 'QuantityTotal')));
     $intInventoryAtLocation = $objInventoryLocation->GetVirtualAttribute('QuantityTotal');
     // Don't allow disabling of locations with assets or inventory quantities
     if ($this->blnEditMode && $this->objLocation->EnabledFlag && !$this->chkEnabled->Checked && (Asset::CountByLocationId($this->objLocation->LocationId) > 0 || $intInventoryAtLocation > 0)) {
         $blnError = true;
         $this->chkEnabled->Warning = 'Location must be empty before disabling.';
         $this->chkEnabled->Focus();
     }
     if (!$blnError) {
         try {
             $this->UpdateLocationFields();
             $this->objLocation->Save();
             $this->RedirectToListPage();
         } catch (QExtendedOptimisticLockingException $objExc) {
             $this->btnCancel->Warning = sprintf('This location has been updated by another user. You must <a href="location_edit.php?intLocationId=%s">Refresh</a> to edit this location.', $this->objLocation->LocationId);
         }
     }
 }
Beispiel #3
0
 protected function btnQuickAdd_Click($strFormId, $strControlId, $strParameter)
 {
     $blnError = false;
     $this->btnQuickAdd->Warning = '';
     if (strlen(trim($this->txtQuickAdd->Text)) == 0) {
         $blnError = true;
         $this->btnQuickAdd->Warning = 'You must enter a Location name';
     }
     // Check for dupes
     $objLocationDuplicate = Location::QuerySingle(QQ::Equal(QQN::Location()->ShortDescription, $this->txtQuickAdd->Text));
     if ($objLocationDuplicate) {
         $blnError = true;
         $this->btnQuickAdd->Warning = 'This Location Name is already in use. Please try another.';
     }
     if (!$blnError) {
         $objLocation = new Location();
         $objLocation->ShortDescription = $this->txtQuickAdd->Text;
         $objLocation->EnabledFlag = '1';
         $objLocation->AssetFlag = '1';
         $objLocation->InventoryFlag = '1';
         $objLocation->CreatedBy = QApplication::$objUserAccount->UserAccountId;
         $objLocation->CreationDate = QDateTime::Now();
         $objLocation->Save();
         $this->dtgLocation->Refresh();
         $this->txtQuickAdd->Text = '';
     }
     $this->txtQuickAdd->Focus();
     $this->txtQuickAdd->Select();
 }
Beispiel #4
0
 /**
  * Load a single Location object,
  * by ShortDescription Index(es)
  * @param string $strShortDescription
  * @return Location
  */
 public static function LoadByShortDescription($strShortDescription)
 {
     return Location::QuerySingle(QQ::Equal(QQN::Location()->ShortDescription, $strShortDescription));
 }