本文整理汇总了PHP中ContactState::save方法的典型用法代码示例。如果您正苦于以下问题:PHP ContactState::save方法的具体用法?PHP ContactState::save怎么用?PHP ContactState::save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ContactState
的用法示例。
在下文中一共展示了ContactState::save方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: loadStartingData
/**
* Used on first load to install ContactState data
* and the startingState for the Contacts module.
* @return true/false if data was in fact loaded.
*/
public static function loadStartingData()
{
if (count(ContactState::GetAll()) != 0) {
return false;
}
$data = array(Zurmo::t('Core', 'New'), Zurmo::t('Core', 'In Progress'), Zurmo::t('ContactsModule', 'Recycled'), Zurmo::t('ContactsModule', 'Dead'), Zurmo::t('ContactsModule', 'Qualified'), Zurmo::t('ZurmoModule', 'Customer'));
$order = 0;
$startingStateId = null;
foreach ($data as $stateName) {
$state = new ContactState();
$state->name = $stateName;
$state->order = $order;
$saved = $state->save();
assert('$saved');
if ($stateName == Zurmo::t('ContactsModule', 'Qualified')) {
$startingStateId = $state->id;
}
$order++;
}
if ($startingStateId == null) {
throw new NotSupportedException();
}
$metadata = ContactsModule::getMetadata();
$metadata['global']['startingStateId'] = $startingStateId;
ContactsModule::setMetadata($metadata);
assert('count(ContactState::GetAll()) == 6');
return true;
}
示例2: testCreateAndGetContactState
public function testCreateAndGetContactState()
{
$state = new ContactState();
$state->name = 'First State';
$state->order = 0;
$this->assertTrue($state->save());
$id = $state->id;
unset($state);
$state = ContactState::getById($id);
$this->assertEquals('First State', $state->name);
$this->assertEquals(0, $state->order);
$state->delete();
}
示例3: setAttributeMetadataFromForm
public function setAttributeMetadataFromForm(AttributeForm $attributeForm)
{
$modelClassName = get_class($this->model);
$attributeName = $attributeForm->attributeName;
$attributeLabels = $attributeForm->attributeLabels;
$elementType = $attributeForm->getAttributeTypeName();
$isRequired = (bool) $attributeForm->isRequired;
$isAudited = (bool) $attributeForm->isAudited;
$contactStatesData = $attributeForm->contactStatesData;
$contactStatesLabels = $attributeForm->contactStatesLabels;
$startingStateOrder = (int) $attributeForm->startingStateOrder;
$contactStatesDataExistingValues = $attributeForm->contactStatesDataExistingValues;
if ($contactStatesDataExistingValues == null) {
$contactStatesDataExistingValues = array();
}
if ($attributeForm instanceof ContactStateAttributeForm) {
//update order on existing states.
//delete removed states
$states = ContactState::getAll('order');
$stateNames = array();
foreach ($states as $state) {
if (in_array($state->name, $contactStatesData)) {
$stateNames[] = $state->name;
$state->order = array_search($state->name, $contactStatesData);
$state->serializedLabels = $this->makeSerializedLabelsByLabelsAndOrder($contactStatesLabels, (int) $state->order);
$saved = $state->save();
assert('$saved');
} elseif (in_array($state->name, $contactStatesDataExistingValues)) {
$order = array_search($state->name, $contactStatesDataExistingValues);
$state->name = $contactStatesData[$order];
$state->order = $order;
$state->serializedLabels = $this->makeSerializedLabelsByLabelsAndOrder($contactStatesLabels, (int) $state->order);
$saved = $state->save();
assert('$saved');
$stateNames[] = $state->name;
} else {
$stateNames[] = $state->name;
$state->delete();
}
}
//add new states with correct order.
foreach ($contactStatesData as $order => $name) {
if (!in_array($name, $stateNames)) {
$state = new ContactState();
$state->name = $name;
$state->order = $order;
$state->serializedLabels = $this->makeSerializedLabelsByLabelsAndOrder($contactStatesLabels, (int) $order);
$saved = $state->save();
assert('$saved');
}
}
//Set starting state by order.
ContactsUtil::setStartingStateByOrder($startingStateOrder);
ModelMetadataUtil::addOrUpdateRelation($modelClassName, $attributeName, $attributeLabels, $elementType, $isRequired, $isAudited, 'ContactState');
} else {
throw new NotSupportedException();
}
}