Open Monograph Press  3.3.0
AudienceForm.inc.php
1 <?php
15 use \PKP\components\forms\FormComponent;
16 use \PKP\components\forms\FieldSelect;
17 use \DAORegistry;
18 
19 define('FORM_AUDIENCE', 'audience');
20 
21 class AudienceForm extends FormComponent {
23  public $id = FORM_AUDIENCE;
24 
26  public $method = 'PUT';
27 
34  public function __construct($action, $submission) {
35  $this->action = $action;
36  $this->successMessage = __('monograph.audience.success');
37 
38  $audienceCodes = $this->getOptions(DAORegistry::getDAO('ONIXCodelistItemDAO')->getCodes('List28'));
39  $audienceRangeQualifiers = $this->getOptions(DAORegistry::getDAO('ONIXCodelistItemDAO')->getCodes('List30'));
40  $audienceRanges = $this->getOptions(DAORegistry::getDAO('ONIXCodelistItemDAO')->getCodes('List77'));
41 
42  $this->addField(new FieldSelect('audience', [
43  'label' => __('monograph.audience'),
44  'value' => $submission->getData('audience'),
45  'options' => $audienceCodes,
46  ]))
47  ->addField(new FieldSelect('audienceRangeQualifier', [
48  'label' => __('monograph.audience.rangeQualifier'),
49  'value' => $submission->getData('audienceRangeQualifier'),
50  'options' => $audienceRangeQualifiers,
51  ]))
52  ->addField(new FieldSelect('audienceRangeFrom', [
53  'label' => __('monograph.audience.rangeFrom'),
54  'value' => $submission->getData('audienceRangeFrom'),
55  'options' => $audienceRanges,
56  ]))
57  ->addField(new FieldSelect('audienceRangeTo', [
58  'label' => __('monograph.audience.rangeTo'),
59  'value' => $submission->getData('audienceRangeTo'),
60  'options' => $audienceRanges,
61  ]))
62  ->addField(new FieldSelect('audienceRangeExact', [
63  'label' => __('monograph.audience.rangeExact'),
64  'value' => $submission->getData('audienceRangeExact'),
65  'options' => $audienceRanges,
66  ]));
67  }
68 
75  public function getOptions($list) {
76  $options = [];
77  foreach ($list as $value => $label) {
78  $options[] = [
79  'value' => $value,
80  'label' => $label,
81  ];
82  }
83  return $options;
84  }
85 }
DAORegistry\getDAO
static & getDAO($name, $dbconn=null)
Definition: DAORegistry.inc.php:57
APP\components\forms\submission\FORM_AUDIENCE
const FORM_AUDIENCE
Definition: AudienceForm.inc.php:19
APP\components\forms\submission\AudienceForm\getOptions
getOptions($list)
Definition: AudienceForm.inc.php:75
APP\components\forms\submission
Definition: AudienceForm.inc.php:14
PKP\components\forms\FormComponent\$action
$action
Definition: FormComponent.inc.php:37
APP\components\forms\submission\AudienceForm\__construct
__construct($action, $submission)
Definition: AudienceForm.inc.php:34
PKP\components\forms\FormComponent
Definition: FormComponent.inc.php:20
APP\components\forms\submission\AudienceForm\$id
$id
Definition: AudienceForm.inc.php:23
APP\components\forms\submission\AudienceForm\$method
$method
Definition: AudienceForm.inc.php:26
APP\components\forms\submission\AudienceForm
Definition: AudienceForm.inc.php:21
PKP\components\forms\FormComponent\addField
addField($field, $position=[])
Definition: FormComponent.inc.php:94
PKP\components\forms\FieldSelect
Definition: FieldSelect.inc.php:15