public function scoreOnSaveModel(CEvent $event)
 {
     if (Yii::app()->gameHelper->isScoringModelsOnSaveMuted()) {
         return;
     }
     if (!LeadsUtil::isStateALead($event->sender->state) && array_key_exists('state', $event->sender->originalAttributeValues) && $event->sender->originalAttributeValues['state'][1] > 0 && LeadsUtil::isStateALeadByStateName($event->sender->originalAttributeValues['state'][2])) {
         $this->scoreOnSaveWhereLeadIsConverted($event);
     } elseif (LeadsUtil::isStateALead($event->sender->state)) {
         $this->scoreOnSaveWhereStateIsLead($event);
     } else {
         parent::scoreOnSaveModel($event);
     }
 }
예제 #2
0
 public function testIsStateALeadByStateName()
 {
     $allContactStates = ContactState::GetAll();
     $this->assertGreaterThan(1, count($allContactStates));
     foreach ($allContactStates as $contactState) {
         if ($contactState->id < ContactsUtil::getStartingStateId()) {
             $isStateALeadByStateNameCorrect = true;
         } else {
             $isStateALeadByStateNameCorrect = false;
         }
         $isStateALead = LeadsUtil::isStateALeadByStateName($contactState->name);
         $this->assertEquals($isStateALead, $isStateALeadByStateNameCorrect);
     }
 }