Added default access level
* added summit seeds ( CHAT, IN_PERSON, VIRTUAL) * fixed is default functionallity Change-Id: Ic0a8b3fb7254a1b8c45dbdea402e2d09f0bedd32 Signed-off-by: smarcet <smarcet@gmail.com>
This commit is contained in:
parent
e43331e77f
commit
3f65bff6cd
@ -3403,6 +3403,14 @@ SQL;
|
||||
return $attr === false ? null : $attr;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getDefaultBadgeAccessLevelTypes(){
|
||||
$criteria = Criteria::create();
|
||||
$criteria->where(Criteria::expr()->eq('is_default', true));
|
||||
return $this->badge_access_level_types->matching($criteria);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $level_name
|
||||
* @return SummitAccessLevelType|null
|
||||
@ -4636,6 +4644,36 @@ SQL;
|
||||
return $list;
|
||||
}
|
||||
|
||||
/**
|
||||
* this define the default access level types
|
||||
* that need to be seeded when a new show is created
|
||||
*/
|
||||
public function seedDefaultAccessLevelTypes():void{
|
||||
|
||||
$defaults = [
|
||||
[
|
||||
'name' => 'CHAT',
|
||||
'description'=> 'Enables Chat Feature.'
|
||||
],
|
||||
[
|
||||
'name' => 'IN_PERSON',
|
||||
'description'=> 'Allows in person show access.'
|
||||
],
|
||||
[
|
||||
'name' => 'VIRTUAL',
|
||||
'description'=> 'Allows virtual show access.'
|
||||
]
|
||||
];
|
||||
|
||||
foreach($defaults as $default) {
|
||||
$a = new SummitAccessLevelType();
|
||||
$a->setName($default['name']);
|
||||
$a->setDescription($default['description']);
|
||||
$a->setIsDefault(true);
|
||||
$this->addBadgeAccessLevelType($a);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
|
@ -67,6 +67,12 @@ implements ISummitAccessLevelTypeService
|
||||
|
||||
$summit->addBadgeAccessLevelType($access_level);
|
||||
|
||||
if($access_level->isDefault()){
|
||||
// add to all existent badge types
|
||||
foreach($summit->getBadgeTypes() as $badgeType){
|
||||
$badgeType->addAccessLevel($access_level);
|
||||
}
|
||||
}
|
||||
return $access_level;
|
||||
|
||||
});
|
||||
@ -96,9 +102,7 @@ implements ISummitAccessLevelTypeService
|
||||
throw new ValidationException(sprintf("access level with name %s already exists!", $name));
|
||||
}
|
||||
}
|
||||
|
||||
return SummitAccessLevelTypeFactory::populate($access_level, $data);
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -50,6 +50,11 @@ final class SummitBadgeTypeService extends AbstractService
|
||||
throw new ValidationException("there is already a default badge type");
|
||||
}
|
||||
$badge_type = SummitBadgeTypeFactory::build($data);
|
||||
// add default access levels
|
||||
foreach($summit->getDefaultBadgeAccessLevelTypes() as $default_access_level){
|
||||
$badge_type->addAccessLevel($default_access_level);
|
||||
}
|
||||
|
||||
$summit->addBadgeType($badge_type);
|
||||
return $badge_type;
|
||||
});
|
||||
@ -77,6 +82,7 @@ final class SummitBadgeTypeService extends AbstractService
|
||||
throw new ValidationException("badge type name already exists");
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($data['is_default'])) {
|
||||
$is_default = boolval($data['is_default']);
|
||||
if ($is_default && $summit->hasDefaultBadgeType() && !$badge_type->isDefault()) {
|
||||
|
@ -1597,7 +1597,11 @@ final class SummitService extends AbstractService implements ISummitService
|
||||
foreach ($this->default_event_types_repository->getAll() as $default_event_type) {
|
||||
$summit->addEventType($default_event_type->buildType($summit));
|
||||
}
|
||||
|
||||
$summit->seedDefaultEmailFlowEvents();
|
||||
|
||||
$summit->seedDefaultAccessLevelTypes();
|
||||
|
||||
$this->summit_repository->add($summit);
|
||||
|
||||
return $summit;
|
||||
|
Loading…
Reference in New Issue
Block a user