Updated Selection Plan mapping
Added field max_submission_allowed_per_user Change-Id: Id976628aa88f458b0edaa4144f4006b0b384450a
This commit is contained in:
parent
2116c3f314
commit
eec7c45ef3
@ -27,6 +27,7 @@ final class SummitSelectionPlanValidationRulesFactory
|
||||
return [
|
||||
'name' => 'sometimes|string|max:255',
|
||||
'is_enabled' => 'sometimes|boolean',
|
||||
'max_submission_allowed_per_user' => 'sometimes|integer|min:1',
|
||||
'submission_begin_date' => 'nullable|date_format:U',
|
||||
'submission_end_date' => 'nullable|required_with:submission_begin_date|date_format:U|after_or_equal:submission_begin_date',
|
||||
'voting_begin_date' => 'nullable|date_format:U',
|
||||
@ -38,6 +39,7 @@ final class SummitSelectionPlanValidationRulesFactory
|
||||
return [
|
||||
'name' => 'required|string|max:255',
|
||||
'is_enabled' => 'required|boolean',
|
||||
'max_submission_allowed_per_user' => 'sometimes|integer|min:1',
|
||||
'submission_begin_date' => 'nullable|date_format:U',
|
||||
'submission_end_date' => 'nullable|required_with:submission_begin_date|date_format:U|after_or_equal:submission_begin_date',
|
||||
'voting_begin_date' => 'nullable|date_format:U',
|
||||
|
@ -21,15 +21,16 @@ use ModelSerializers\SilverStripeSerializer;
|
||||
final class SelectionPlanSerializer extends SilverStripeSerializer
|
||||
{
|
||||
protected static $array_mappings = [
|
||||
'Name' => 'name:json_string',
|
||||
'Enabled' => 'is_enabled:json_boolean',
|
||||
'SubmissionBeginDate' => 'submission_begin_date:datetime_epoch',
|
||||
'SubmissionEndDate' => 'submission_end_date:datetime_epoch',
|
||||
'VotingBeginDate' => 'voting_begin_date:datetime_epoch',
|
||||
'VotingEndDate' => 'voting_end_date:datetime_epoch',
|
||||
'SelectionBeginDate' => 'selection_begin_date:datetime_epoch',
|
||||
'SelectionEndDate' => 'selection_end_date:datetime_epoch',
|
||||
'SummitId' => 'summit_id:json_int',
|
||||
'Name' => 'name:json_string',
|
||||
'Enabled' => 'is_enabled:json_boolean',
|
||||
'SubmissionBeginDate' => 'submission_begin_date:datetime_epoch',
|
||||
'SubmissionEndDate' => 'submission_end_date:datetime_epoch',
|
||||
'MaxSubmissionAllowedPerUser' => 'max_submission_allowed_per_user:json_int',
|
||||
'VotingBeginDate' => 'voting_begin_date:datetime_epoch',
|
||||
'VotingEndDate' => 'voting_end_date:datetime_epoch',
|
||||
'SelectionBeginDate' => 'selection_begin_date:datetime_epoch',
|
||||
'SelectionEndDate' => 'selection_end_date:datetime_epoch',
|
||||
'SummitId' => 'summit_id:json_int',
|
||||
];
|
||||
|
||||
/**
|
||||
|
@ -33,6 +33,7 @@ class SummitSerializer extends SilverStripeSerializer
|
||||
'Active' => 'active:json_boolean',
|
||||
'TypeId' => 'type_id:json_int' ,
|
||||
'DatesLabel' => 'dates_label:json_string' ,
|
||||
'MaxSubmissionAllowedPerUser' => 'max_submission_allowed_per_user:json_int',
|
||||
// calculated attributes
|
||||
'PresentationVotesCount' => 'presentation_votes_count:json_int' ,
|
||||
'PresentationVotersCount' => 'presentation_voters_count:json_int' ,
|
||||
|
@ -41,6 +41,10 @@ final class SummitFactory
|
||||
$summit->setTimeZoneId(trim($data['time_zone_id']));
|
||||
}
|
||||
|
||||
if(isset($data['max_submission_allowed_per_user']) ){
|
||||
$summit->setMaxSubmissionAllowedPerUser(intval($data['max_submission_allowed_per_user']));
|
||||
}
|
||||
|
||||
if(isset($data['active']) ){
|
||||
$summit->setActive(boolval($data['active']));
|
||||
}
|
||||
|
@ -44,6 +44,10 @@ final class SummitSelectionPlanFactory
|
||||
if(isset($data['is_enabled']))
|
||||
$selection_plan->setIsEnabled(boolval($data['is_enabled']));
|
||||
|
||||
if(isset($data['max_submission_allowed_per_user']) ){
|
||||
$selection_plan->setMaxSubmissionAllowedPerUser(intval($data['max_submission_allowed_per_user']));
|
||||
}
|
||||
|
||||
if(array_key_exists('submission_begin_date', $data) && array_key_exists('submission_end_date', $data)) {
|
||||
if (isset($data['submission_begin_date']) && isset($data['submission_end_date'])) {
|
||||
$start_datetime = intval($data['submission_begin_date']);
|
||||
|
@ -14,6 +14,7 @@
|
||||
use App\Models\Utils\TimeZoneEntity;
|
||||
use Doctrine\Common\Collections\ArrayCollection;
|
||||
use models\summit\PresentationCategoryGroup;
|
||||
use models\summit\Summit;
|
||||
use models\summit\SummitOwned;
|
||||
use models\utils\SilverstripeBaseModel;
|
||||
use Doctrine\ORM\Mapping AS ORM;
|
||||
@ -44,6 +45,12 @@ class SelectionPlan extends SilverstripeBaseModel
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="MaxSubmissionAllowedPerUser", type="integer")
|
||||
* @var int
|
||||
*/
|
||||
private $max_submission_allowed_per_user;
|
||||
|
||||
/**
|
||||
* @ORM\Column(name="Enabled", type="boolean")
|
||||
* @var bool
|
||||
@ -245,8 +252,9 @@ class SelectionPlan extends SilverstripeBaseModel
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->is_enabled = false;
|
||||
$this->category_groups = new ArrayCollection;
|
||||
$this->is_enabled = false;
|
||||
$this->category_groups = new ArrayCollection;
|
||||
$this->max_submission_allowed_per_user = Summit::DefaultMaxSubmissionAllowedPerUser;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -273,4 +281,20 @@ class SelectionPlan extends SilverstripeBaseModel
|
||||
$this->category_groups->removeElement($track_group);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getMaxSubmissionAllowedPerUser()
|
||||
{
|
||||
return $this->max_submission_allowed_per_user;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $max_submission_allowed_per_user
|
||||
*/
|
||||
public function setMaxSubmissionAllowedPerUser($max_submission_allowed_per_user)
|
||||
{
|
||||
$this->max_submission_allowed_per_user = $max_submission_allowed_per_user;
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user