Exemplo n.º 1
0
 function onAfterDelete(CMbObject $mbObject)
 {
     if (!parent::onAfterDelete($mbObject)) {
         return;
     }
     $this->sendFormatAction("onAfterDelete", $mbObject);
 }
Exemplo n.º 2
0
 /**
  * @see parent::onAfterStore
  */
 function onAfterStore(CMbObject $mbObject)
 {
     if (!parent::onAfterStore($mbObject)) {
         return;
     }
     switch ($mbObject->_class) {
         // CSejour
         // Envoi des actes / diags soit quand le séjour est facturé, soit quand le sejour a une sortie réelle
         // soit quand on a la clôture sur le sejour
         case 'CSejour':
             /** @var CSejour $sejour */
             $sejour = $mbObject;
             if ($sejour->_no_synchro) {
                 return;
             }
             $send_only_with_type = CAppUI::conf("sa send_only_with_type");
             if ($send_only_with_type && $send_only_with_type != $sejour->type) {
                 return;
             }
             $trigger = false;
             switch (CAppUI::conf("sa trigger_sejour")) {
                 case 'sortie_reelle':
                     if ($sejour->fieldModified('sortie_reelle') || isset($sejour->_force_sent) && $sejour->_force_sent === true) {
                         $trigger = true;
                         $this->sendFormatAction("onAfterStore", $sejour);
                         if (CAppUI::conf("sa facture_codable_with_sejour")) {
                             $sejour->facture = 1;
                             $sejour->rawStore();
                         }
                     }
                     break;
                 case 'testCloture':
                     if ($sejour->testCloture()) {
                         $trigger = true;
                         $this->sendFormatAction("onAfterStore", $sejour);
                     }
                     break;
                 default:
                     if ($sejour->fieldModified('facture', 1)) {
                         $trigger = true;
                         $this->sendFormatAction("onAfterStore", $sejour);
                     }
                     break;
             }
             if (!$trigger) {
                 return;
             }
             if (CAppUI::conf("sa send_actes_consult")) {
                 if ($sejour->loadRefsConsultations()) {
                     foreach ($sejour->_ref_consultations as $_consultation) {
                         if (!$_consultation->sejour_id || !$_consultation->valide) {
                             continue;
                         }
                         $sejour = $_consultation->loadRefSejour();
                         $this->sendFormatAction("onAfterStore", $_consultation);
                         if (CAppUI::conf("sa facture_codable_with_sejour")) {
                             $_consultation->facture = 1;
                             $_consultation->rawStore();
                         }
                     }
                 }
             }
             if (CAppUI::conf("sa send_actes_interv")) {
                 if ($sejour->loadRefsOperations()) {
                     foreach ($sejour->_ref_operations as $_operation) {
                         $this->sendFormatAction("onAfterStore", $_operation);
                         if (CAppUI::conf("sa facture_codable_with_sejour")) {
                             $_operation->facture = 1;
                             $_operation->rawStore();
                         }
                     }
                 }
             }
             break;
             // COperation
             // Envoi des actes soit quand l'interv est facturée, soit quand on a la clôture sur l'interv
         // COperation
         // Envoi des actes soit quand l'interv est facturée, soit quand on a la clôture sur l'interv
         case 'COperation':
             /** @var COperation $operation */
             $operation = $mbObject;
             if ($operation->_no_synchro) {
                 return;
             }
             switch (CAppUI::conf("sa trigger_operation")) {
                 case 'testCloture':
                     if ($operation->testCloture()) {
                         $this->sendFormatAction("onAfterStore", $operation);
                     }
                     break;
                 default:
                     if ($operation->fieldModified('facture', 1)) {
                         $this->sendFormatAction("onAfterStore", $operation);
                     }
                     break;
             }
             break;
             // CConsultation
             // Envoi des actes dans le cas de la clôture de la cotation
         // CConsultation
         // Envoi des actes dans le cas de la clôture de la cotation
         case 'CConsultation':
             /** @var CConsultation $consultation */
             $consultation = $mbObject;
             if ($consultation->_no_synchro) {
                 return;
             }
             if (!$consultation->sejour_id) {
                 return;
             }
             switch (CAppUI::conf("sa trigger_consultation")) {
                 case 'facture':
                     if ($consultation->fieldModified('facture', 1)) {
                         $this->sendFormatAction("onAfterStore", $consultation);
                     }
                     break;
                 default:
                     if ($consultation->fieldModified('valide', 1)) {
                         $this->sendFormatAction("onAfterStore", $consultation);
                     }
                     break;
             }
             break;
         default:
             return;
     }
 }