Completed
Branch dev (ca5f7c)
by
unknown
34:50 queued 25:14
created
core/libraries/form_sections/base/EE_Model_Form_Section.form.php 1 patch
Indentation   +455 added lines, -455 removed lines patch added patch discarded remove patch
@@ -14,459 +14,459 @@
 block discarded – undo
14 14
 class EE_Model_Form_Section extends EE_Form_Section_Proper
15 15
 {
16 16
 
17
-    /**
18
-     * @var EEM_Base
19
-     */
20
-    protected $_model = null;
21
-
22
-    /**
23
-     * @var EE_Base_Class
24
-     */
25
-    protected $_model_object = null;
26
-
27
-
28
-
29
-    /**
30
-     * @param array        $options_array   keys: {
31
-     * @type EEM_Base      $model
32
-     * @type EE_Base_Class $model_object
33
-     * @type array         $subsection_args array keys should be subsection names (that either do or will exist), and
34
-     *       values are the arrays as you would pass them to that subsection
35
-     *                                      }
36
-     * @throws EE_Error
37
-     */
38
-    public function __construct($options_array = array())
39
-    {
40
-        if (isset($options_array['model']) && $options_array['model'] instanceof EEM_Base) {
41
-            $this->_model = $options_array['model'];
42
-        }
43
-        if (! $this->_model || ! $this->_model instanceof EEM_Base) {
44
-            throw new EE_Error(sprintf(__(
45
-                "Model Form Sections must first specify the _model property to be a subclass of EEM_Base",
46
-                "event_espresso"
47
-            )));
48
-        }
49
-        if (isset($options_array['subsection_args'])) {
50
-            $subsection_args = $options_array['subsection_args'];
51
-        } else {
52
-            $subsection_args = array();
53
-        }
54
-        // gather fields and relations to convert to inputs
55
-        // but if they're just going to exclude a field anyways, don't bother converting it to an input
56
-        $exclude = $this->_subsections;
57
-        if (isset($options_array['exclude'])) {
58
-            $exclude = array_merge($exclude, array_flip($options_array['exclude']));
59
-        }
60
-        $model_fields = array_diff_key($this->_model->field_settings(), $exclude);
61
-        $model_relations = array_diff_key($this->_model->relation_settings(), $exclude);
62
-        // convert fields and relations to inputs
63
-        $this->_subsections = array_merge(
64
-            $this->_convert_model_fields_to_inputs($model_fields),
65
-            $this->_convert_model_relations_to_inputs($model_relations, $subsection_args),
66
-            $this->_subsections
67
-        );
68
-        parent::__construct($options_array);
69
-        if (isset($options_array['model_object']) && $options_array['model_object'] instanceof EE_Base_Class) {
70
-            $this->populate_model_obj($options_array['model_object']);
71
-        }
72
-    }
73
-
74
-
75
-
76
-    /**
77
-     * For now, just makes inputs for only HABTM relations
78
-     *
79
-     * @param EE_Model_Relation_Base[] $relations
80
-     * @param array                    $subsection_args keys should be existing or soon-to-be-existing input names, and
81
-     *                                                  their values are {
82
-     * @type array {
83
-     * @type EE_Base_Class[]           $model_objects   if the subsection is an EE_Select_Multi_Model_Input
84
-     *                                                  }
85
-     *                                                  }
86
-     * @return array
87
-     */
88
-    protected function _convert_model_relations_to_inputs($relations, $subsection_args = array())
89
-    {
90
-        $inputs = array();
91
-        foreach ($relations as $relation_name => $relation_obj) {
92
-            $input_constructor_args = array(
93
-                array_merge(
94
-                    array(
95
-                        'required'        => $relation_obj instanceof EE_Belongs_To_Relation,
96
-                        'html_label_text' => $relation_obj instanceof EE_Belongs_To_Relation
97
-                            ? $relation_obj->get_other_model()->item_name(1)
98
-                            : $relation_obj->get_other_model()
99
-                                           ->item_name(2),
100
-                    ),
101
-                    $subsection_args
102
-                ),
103
-            );
104
-            $input = null;
105
-            switch (get_class($relation_obj)) {
106
-                case 'EE_HABTM_Relation':
107
-                    if (isset($subsection_args[ $relation_name ])
108
-                        && isset($subsection_args[ $relation_name ]['model_objects'])
109
-                    ) {
110
-                        $model_objects = $subsection_args[ $relation_name ]['model_objects'];
111
-                    } else {
112
-                        $model_objects = $relation_obj->get_other_model()->get_all();
113
-                    }
114
-                    $input = new EE_Select_Multi_Model_Input($model_objects, $input_constructor_args);
115
-                    break;
116
-                default:
117
-            }
118
-            if ($input) {
119
-                $inputs[ $relation_name ] = $input;
120
-            }
121
-        }
122
-        return $inputs;
123
-    }
124
-
125
-
126
-
127
-    /**
128
-     * Changes model fields into form section inputs
129
-     *
130
-     * @param EE_Model_Field_Base[] $model_fields keys are the model's name
131
-     * @throws EE_Error
132
-     * @return EE_Form_Input_Base[]
133
-     */
134
-    protected function _convert_model_fields_to_inputs($model_fields = array())
135
-    {
136
-        $inputs = array();
137
-        foreach ($model_fields as $field_name => $model_field) {
138
-            if ($model_field instanceof EE_Model_Field_Base) {
139
-                $input_constructor_args = array(
140
-                    array(
141
-                        'required'        => ! $model_field->is_nullable()
142
-                                             && $model_field->get_default_value()
143
-                                                === null,
144
-                        'html_label_text' => $model_field->get_nicename(),
145
-                        'default'         => $model_field->get_default_value(),
146
-                    ),
147
-                );
148
-                switch (get_class($model_field)) {
149
-                    case 'EE_All_Caps_Text_Field':
150
-                    case 'EE_Any_Foreign_Model_Name_Field':
151
-                        $input_class = 'EE_Text_Input';
152
-                        break;
153
-                    case 'EE_Boolean_Field':
154
-                        $input_class = 'EE_Yes_No_Input';
155
-                        break;
156
-                    case 'EE_Datetime_Field':
157
-                        throw new EE_Error(sprintf(__(
158
-                            "Model field '%s' does not yet have a known conversion to form input",
159
-                            "event_espresso"
160
-                        ), get_class($model_field)));
161
-                        break;
162
-                    case 'EE_Email_Field':
163
-                        $input_class = 'EE_Email_Input';
164
-                        break;
165
-                    case 'EE_Enum_Integer_Field':
166
-                        throw new EE_Error(sprintf(__(
167
-                            "Model field '%s' does not yet have a known conversion to form input",
168
-                            "event_espresso"
169
-                        ), get_class($model_field)));
170
-                        break;
171
-                    case 'EE_Enum_Text_Field':
172
-                        throw new EE_Error(sprintf(__(
173
-                            "Model field '%s' does not yet have a known conversion to form input",
174
-                            "event_espresso"
175
-                        ), get_class($model_field)));
176
-                        break;
177
-                    case 'EE_Float_Field':
178
-                        $input_class = 'EE_Float_Input';
179
-                        break;
180
-                    case 'EE_Foreign_Key_Int_Field':
181
-                    case 'EE_Foreign_Key_String_Field':
182
-                    case 'EE_WP_User_Field':
183
-                        $models_pointed_to = $model_field instanceof EE_Field_With_Model_Name
184
-                            ? $model_field->get_model_class_names_pointed_to() : array();
185
-                        if (true || is_array($models_pointed_to) && count($models_pointed_to) > 1) {
186
-                            $input_class = 'EE_Text_Input';
187
-                        } else {
188
-                            // so its just one model
189
-                            $model_name = is_array($models_pointed_to) ? reset($models_pointed_to) : $models_pointed_to;
190
-                            $model = EE_Registry::instance()->load_model($model_name);
191
-                            $model_names = $model->get_all_names(array('limit' => 10));
192
-                            if ($model_field->is_nullable()) {
193
-                                array_unshift($model_names, __("Please Select", 'event_espresso'));
194
-                            }
195
-                            $input_constructor_args[1] = $input_constructor_args[0];
196
-                            $input_constructor_args[0] = $model_names;
197
-                            $input_class = 'EE_Select_Input';
198
-                        }
199
-                        break;
200
-                    case 'EE_Full_HTML_Field':
201
-                        $input_class = 'EE_Text_Area_Input';
202
-                        $input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
203
-                        break;
204
-                    case 'EE_Infinite_Integer':
205
-                        throw new EE_Error(sprintf(__(
206
-                            "Model field '%s' does not yet have a known conversion to form input",
207
-                            "event_espresso"
208
-                        ), get_class($model_field)));
209
-                        break;
210
-                    case 'EE_Integer_Field':
211
-                        $input_class = 'EE_Text_Input';
212
-                        break;
213
-                    case 'EE_Maybe_Serialized_Text_Field':
214
-                        $input_class = 'EE_Text_Area_Input';
215
-                        break;
216
-                    case 'EE_Money_Field':
217
-                        throw new EE_Error(sprintf(__(
218
-                            "Model field '%s' does not yet have a known conversion to form input",
219
-                            "event_espresso"
220
-                        ), get_class($model_field)));
221
-                        break;
222
-                    case 'EE_Post_Content_Field':
223
-                        $input_class = 'EE_Text_Area_Input';
224
-                        $input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
225
-                        break;
226
-                    case 'EE_Plain_Text_Field':
227
-                        $input_class = 'EE_Text_Input';
228
-                        break;
229
-                    case 'EE_Primary_Key_Int_Field':
230
-                        $input_class = 'EE_Hidden_Input';
231
-                        $input_constructor_args[0]['normalization_strategy'] = new EE_Int_Normalization();
232
-                        break;
233
-                    case 'EE_Primary_Key_String_Field':
234
-                        $input_class = 'EE_Hidden_Input';
235
-                        break;
236
-                    case 'EE_Serialized_Text_Field':
237
-                        $input_class = 'EE_Text_Area_Input';
238
-                        break;
239
-                    case 'EE_Simple_HTML_Field':
240
-                        $input_class = 'EE_Text_Area_Input';
241
-                        $input_constructor_args[0]['validation_strategies'] = array(new EE_Simple_HTML_Validation_Strategy());
242
-                        break;
243
-                    case 'EE_Slug_Field':
244
-                        $input_class = 'EE_Text_Input';
245
-                        break;
246
-                    case 'EE_Trashed_Flag_Field':
247
-                        $input_class = 'EE_Yes_No_Input';
248
-                        break;
249
-                    case 'EE_WP_Post_Status_Field':
250
-                        throw new EE_Error(sprintf(__(
251
-                            "Model field '%s' does not yet have a known conversion to form input",
252
-                            "event_espresso"
253
-                        ), get_class($model_field)));
254
-                        break;
255
-                    case 'EE_WP_Post_Type_Field':
256
-                        throw new EE_Error(sprintf(__(
257
-                            "Model field '%s' does not yet have a known conversion to form input",
258
-                            "event_espresso"
259
-                        ), get_class($model_field)));
260
-                        break;
261
-                    default:
262
-                        throw new EE_Error(sprintf(__(
263
-                            "Model field of type '%s' does not convert to any known Form Input. Please add a case to EE_Model_Form_section's _convert_model_fields_to_inputs switch statement",
264
-                            "event_espresso"
265
-                        ), get_class($model_field)));
266
-                }
267
-                $reflection = new ReflectionClass($input_class);
268
-                $input = $reflection->newInstanceArgs($input_constructor_args);
269
-                $inputs[ $field_name ] = $input;
270
-            }
271
-        }
272
-        return $inputs;
273
-    }
274
-
275
-
276
-
277
-    /**
278
-     * Mostly the same as populate_defaults , except takes a model object as input, not an array,
279
-     * and also sets the form's _model_object
280
-     *
281
-     * @param EE_Base_Class $model_obj
282
-     * @return void
283
-     */
284
-    public function populate_model_obj($model_obj)
285
-    {
286
-        $model_obj = $this->_model->ensure_is_obj($model_obj);
287
-        $this->_model_object = $model_obj;
288
-        $defaults = $model_obj->model_field_array();
289
-        foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
290
-            $subsection = $this->get_subsection($relation_name, false);
291
-            if ($subsection instanceof EE_Form_Input_Base) {
292
-                if ($relation_obj instanceof EE_Belongs_To_Relation) {
293
-                    // then we only expect there to be one
294
-                    $related_item = $this->_model_object->get_first_related($relation_name);
295
-                    $defaults[ $relation_name ] = $related_item->ID();
296
-                } else {
297
-                    $related_items = $this->_model_object->get_many_related($relation_name);
298
-                    $ids = array();
299
-                    foreach ($related_items as $related_item) {
300
-                        $ids[] = $related_item->ID();
301
-                    }
302
-                    $defaults[ $relation_name ] = $ids;
303
-                }
304
-            }
305
-        }
306
-        $defaults = apply_filters(
307
-            'FHEE__EE_Model_Form_Section__populate_model_obj',
308
-            $defaults,
309
-            $this
310
-        );
311
-        $this->populate_defaults($defaults);
312
-    }
313
-
314
-
315
-
316
-    /**
317
-     * Gets all the input values that correspond to model fields. Keys are the input/field names,
318
-     * values are their normalized values
319
-     *
320
-     * @return array
321
-     */
322
-    public function inputs_values_corresponding_to_model_fields()
323
-    {
324
-        return array_intersect_key($this->input_values(), $this->_model->field_settings());
325
-    }
326
-
327
-
328
-
329
-    /**
330
-     * After we've normalized the data as normal, set the corresponding model object
331
-     * on the form.
332
-     *
333
-     * @param array $req_data should usually be $_REQUEST (the default).
334
-     * @return void
335
-     */
336
-    public function _normalize($req_data)
337
-    {
338
-        parent::_normalize($req_data);
339
-        // create or set the model object, if it isn't already
340
-        if (! $this->_model_object) {
341
-            // check to see if the form indicates a PK, in which case we want to only retrieve it and update it
342
-            $pk_name = $this->_model->primary_key_name();
343
-            $model_obj = $this->_model->get_one_by_ID($this->get_input_value($pk_name));
344
-            if ($model_obj) {
345
-                $this->_model_object = $model_obj;
346
-            } else {
347
-                $this->_model_object = EE_Registry::instance()->load_class($this->_model->get_this_model_name());
348
-            }
349
-        }
350
-    }
351
-
352
-
353
-
354
-    /**
355
-     * After this form has been initialized and is verified to be valid,
356
-     * either creates a model object from its data and saves it, or updates
357
-     * the model object its data represents
358
-     *
359
-     * @throws EE_Error
360
-     * @return int, 1 on a successful update, the ID of
361
-     *                    the new entry on insert; 0 on failure
362
-     */
363
-    public function save()
364
-    {
365
-        if (! $this->_model_object) {
366
-            throw new EE_Error(sprintf(__(
367
-                "Cannot save the model form's model object (model is '%s') because there is no model object set. You must either set it, or call receive_form_submission where it is set automatically",
368
-                "event_espresso"
369
-            ), get_class($this->_model)));
370
-        }
371
-        // ok so the model object is set. Just set it with the submitted form data
372
-        foreach ($this->inputs_values_corresponding_to_model_fields() as $field_name => $field_value) {
373
-            // only set the non-primary key
374
-            if ($field_name != $this->_model->primary_key_name()) {
375
-                $this->_model_object->set($field_name, $field_value);
376
-            }
377
-        }
378
-        $success = $this->_model_object->save();
379
-        foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
380
-            if (isset($this->_subsections[ $relation_name ])) {
381
-                $success = $this->_save_related_info($relation_name);
382
-            }
383
-        }
384
-        do_action('AHEE__EE_Model_Form_Section__save__done', $this, $success);
385
-        return $success;
386
-    }
387
-
388
-
389
-
390
-    /**
391
-     * Automatically finds the related model info from the form, if present, and
392
-     * save the relations indicated
393
-     *
394
-     * @type string $relation_name
395
-     * @return bool
396
-     * @throws EE_Error
397
-     */
398
-    protected function _save_related_info($relation_name)
399
-    {
400
-        $relation_obj = $this->_model->related_settings_for($relation_name);
401
-        if ($relation_obj instanceof EE_Belongs_To_Relation) {
402
-            // there is just a foreign key on this model pointing to that one
403
-            $this->_model_object->_add_relation_to($this->get_input_value($relation_name), $relation_name);
404
-        } elseif ($relation_obj instanceof EE_Has_Many_Relation) {
405
-            // then we want to consider all of its currently-related things.
406
-            // if they're in this list, keep them
407
-            // if they're not in this list, remove them
408
-            // and lastly add all the new items
409
-            throw new EE_Error(sprintf(__(
410
-                'Automatic saving of related info across a "has many" relation is not yet supported',
411
-                "event_espresso"
412
-            )));
413
-        } elseif ($relation_obj instanceof EE_HABTM_Relation) {
414
-            // delete everything NOT in this list
415
-            $normalized_input_value = $this->get_input_value($relation_name);
416
-            if ($normalized_input_value && is_array($normalized_input_value)) {
417
-                $where_query_params = array(
418
-                    $relation_obj->get_other_model()->primary_key_name() => array('NOT_IN', $normalized_input_value),
419
-                );
420
-            } else {
421
-                $where_query_params = array();
422
-            }
423
-            $this->_model_object->_remove_relations($relation_name, $where_query_params);
424
-            foreach ($normalized_input_value as $id) {
425
-                $this->_model_object->_add_relation_to($id, $relation_name);
426
-            }
427
-        }
428
-        return true;
429
-    }
430
-
431
-
432
-
433
-    /**
434
-     * Gets the model of this model form
435
-     *
436
-     * @return EEM_Base
437
-     */
438
-    public function get_model()
439
-    {
440
-        return $this->_model;
441
-    }
442
-
443
-
444
-
445
-    /**
446
-     * Gets the model object for this model form, which was either set
447
-     * upon construction (using the $options_array arg 'model_object'), by using
448
-     * set_model_object($model_obj), or implicitly
449
-     * when receive_form_submission($req_data) was called.
450
-     *
451
-     * @return EE_Base_Class
452
-     */
453
-    public function get_model_object()
454
-    {
455
-        return $this->_model_object;
456
-    }
457
-
458
-
459
-
460
-    /**
461
-     * gets teh default name of this form section if none is specified
462
-     *
463
-     * @return string
464
-     */
465
-    protected function _set_default_name_if_empty()
466
-    {
467
-        if (! $this->_name) {
468
-            $default_name = str_replace("EEM_", "", get_class($this->_model)) . "_Model_Form";
469
-            $this->_name = $default_name;
470
-        }
471
-    }
17
+	/**
18
+	 * @var EEM_Base
19
+	 */
20
+	protected $_model = null;
21
+
22
+	/**
23
+	 * @var EE_Base_Class
24
+	 */
25
+	protected $_model_object = null;
26
+
27
+
28
+
29
+	/**
30
+	 * @param array        $options_array   keys: {
31
+	 * @type EEM_Base      $model
32
+	 * @type EE_Base_Class $model_object
33
+	 * @type array         $subsection_args array keys should be subsection names (that either do or will exist), and
34
+	 *       values are the arrays as you would pass them to that subsection
35
+	 *                                      }
36
+	 * @throws EE_Error
37
+	 */
38
+	public function __construct($options_array = array())
39
+	{
40
+		if (isset($options_array['model']) && $options_array['model'] instanceof EEM_Base) {
41
+			$this->_model = $options_array['model'];
42
+		}
43
+		if (! $this->_model || ! $this->_model instanceof EEM_Base) {
44
+			throw new EE_Error(sprintf(__(
45
+				"Model Form Sections must first specify the _model property to be a subclass of EEM_Base",
46
+				"event_espresso"
47
+			)));
48
+		}
49
+		if (isset($options_array['subsection_args'])) {
50
+			$subsection_args = $options_array['subsection_args'];
51
+		} else {
52
+			$subsection_args = array();
53
+		}
54
+		// gather fields and relations to convert to inputs
55
+		// but if they're just going to exclude a field anyways, don't bother converting it to an input
56
+		$exclude = $this->_subsections;
57
+		if (isset($options_array['exclude'])) {
58
+			$exclude = array_merge($exclude, array_flip($options_array['exclude']));
59
+		}
60
+		$model_fields = array_diff_key($this->_model->field_settings(), $exclude);
61
+		$model_relations = array_diff_key($this->_model->relation_settings(), $exclude);
62
+		// convert fields and relations to inputs
63
+		$this->_subsections = array_merge(
64
+			$this->_convert_model_fields_to_inputs($model_fields),
65
+			$this->_convert_model_relations_to_inputs($model_relations, $subsection_args),
66
+			$this->_subsections
67
+		);
68
+		parent::__construct($options_array);
69
+		if (isset($options_array['model_object']) && $options_array['model_object'] instanceof EE_Base_Class) {
70
+			$this->populate_model_obj($options_array['model_object']);
71
+		}
72
+	}
73
+
74
+
75
+
76
+	/**
77
+	 * For now, just makes inputs for only HABTM relations
78
+	 *
79
+	 * @param EE_Model_Relation_Base[] $relations
80
+	 * @param array                    $subsection_args keys should be existing or soon-to-be-existing input names, and
81
+	 *                                                  their values are {
82
+	 * @type array {
83
+	 * @type EE_Base_Class[]           $model_objects   if the subsection is an EE_Select_Multi_Model_Input
84
+	 *                                                  }
85
+	 *                                                  }
86
+	 * @return array
87
+	 */
88
+	protected function _convert_model_relations_to_inputs($relations, $subsection_args = array())
89
+	{
90
+		$inputs = array();
91
+		foreach ($relations as $relation_name => $relation_obj) {
92
+			$input_constructor_args = array(
93
+				array_merge(
94
+					array(
95
+						'required'        => $relation_obj instanceof EE_Belongs_To_Relation,
96
+						'html_label_text' => $relation_obj instanceof EE_Belongs_To_Relation
97
+							? $relation_obj->get_other_model()->item_name(1)
98
+							: $relation_obj->get_other_model()
99
+										   ->item_name(2),
100
+					),
101
+					$subsection_args
102
+				),
103
+			);
104
+			$input = null;
105
+			switch (get_class($relation_obj)) {
106
+				case 'EE_HABTM_Relation':
107
+					if (isset($subsection_args[ $relation_name ])
108
+						&& isset($subsection_args[ $relation_name ]['model_objects'])
109
+					) {
110
+						$model_objects = $subsection_args[ $relation_name ]['model_objects'];
111
+					} else {
112
+						$model_objects = $relation_obj->get_other_model()->get_all();
113
+					}
114
+					$input = new EE_Select_Multi_Model_Input($model_objects, $input_constructor_args);
115
+					break;
116
+				default:
117
+			}
118
+			if ($input) {
119
+				$inputs[ $relation_name ] = $input;
120
+			}
121
+		}
122
+		return $inputs;
123
+	}
124
+
125
+
126
+
127
+	/**
128
+	 * Changes model fields into form section inputs
129
+	 *
130
+	 * @param EE_Model_Field_Base[] $model_fields keys are the model's name
131
+	 * @throws EE_Error
132
+	 * @return EE_Form_Input_Base[]
133
+	 */
134
+	protected function _convert_model_fields_to_inputs($model_fields = array())
135
+	{
136
+		$inputs = array();
137
+		foreach ($model_fields as $field_name => $model_field) {
138
+			if ($model_field instanceof EE_Model_Field_Base) {
139
+				$input_constructor_args = array(
140
+					array(
141
+						'required'        => ! $model_field->is_nullable()
142
+											 && $model_field->get_default_value()
143
+												=== null,
144
+						'html_label_text' => $model_field->get_nicename(),
145
+						'default'         => $model_field->get_default_value(),
146
+					),
147
+				);
148
+				switch (get_class($model_field)) {
149
+					case 'EE_All_Caps_Text_Field':
150
+					case 'EE_Any_Foreign_Model_Name_Field':
151
+						$input_class = 'EE_Text_Input';
152
+						break;
153
+					case 'EE_Boolean_Field':
154
+						$input_class = 'EE_Yes_No_Input';
155
+						break;
156
+					case 'EE_Datetime_Field':
157
+						throw new EE_Error(sprintf(__(
158
+							"Model field '%s' does not yet have a known conversion to form input",
159
+							"event_espresso"
160
+						), get_class($model_field)));
161
+						break;
162
+					case 'EE_Email_Field':
163
+						$input_class = 'EE_Email_Input';
164
+						break;
165
+					case 'EE_Enum_Integer_Field':
166
+						throw new EE_Error(sprintf(__(
167
+							"Model field '%s' does not yet have a known conversion to form input",
168
+							"event_espresso"
169
+						), get_class($model_field)));
170
+						break;
171
+					case 'EE_Enum_Text_Field':
172
+						throw new EE_Error(sprintf(__(
173
+							"Model field '%s' does not yet have a known conversion to form input",
174
+							"event_espresso"
175
+						), get_class($model_field)));
176
+						break;
177
+					case 'EE_Float_Field':
178
+						$input_class = 'EE_Float_Input';
179
+						break;
180
+					case 'EE_Foreign_Key_Int_Field':
181
+					case 'EE_Foreign_Key_String_Field':
182
+					case 'EE_WP_User_Field':
183
+						$models_pointed_to = $model_field instanceof EE_Field_With_Model_Name
184
+							? $model_field->get_model_class_names_pointed_to() : array();
185
+						if (true || is_array($models_pointed_to) && count($models_pointed_to) > 1) {
186
+							$input_class = 'EE_Text_Input';
187
+						} else {
188
+							// so its just one model
189
+							$model_name = is_array($models_pointed_to) ? reset($models_pointed_to) : $models_pointed_to;
190
+							$model = EE_Registry::instance()->load_model($model_name);
191
+							$model_names = $model->get_all_names(array('limit' => 10));
192
+							if ($model_field->is_nullable()) {
193
+								array_unshift($model_names, __("Please Select", 'event_espresso'));
194
+							}
195
+							$input_constructor_args[1] = $input_constructor_args[0];
196
+							$input_constructor_args[0] = $model_names;
197
+							$input_class = 'EE_Select_Input';
198
+						}
199
+						break;
200
+					case 'EE_Full_HTML_Field':
201
+						$input_class = 'EE_Text_Area_Input';
202
+						$input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
203
+						break;
204
+					case 'EE_Infinite_Integer':
205
+						throw new EE_Error(sprintf(__(
206
+							"Model field '%s' does not yet have a known conversion to form input",
207
+							"event_espresso"
208
+						), get_class($model_field)));
209
+						break;
210
+					case 'EE_Integer_Field':
211
+						$input_class = 'EE_Text_Input';
212
+						break;
213
+					case 'EE_Maybe_Serialized_Text_Field':
214
+						$input_class = 'EE_Text_Area_Input';
215
+						break;
216
+					case 'EE_Money_Field':
217
+						throw new EE_Error(sprintf(__(
218
+							"Model field '%s' does not yet have a known conversion to form input",
219
+							"event_espresso"
220
+						), get_class($model_field)));
221
+						break;
222
+					case 'EE_Post_Content_Field':
223
+						$input_class = 'EE_Text_Area_Input';
224
+						$input_constructor_args[0]['validation_strategies'] = array(new EE_Full_HTML_Validation_Strategy());
225
+						break;
226
+					case 'EE_Plain_Text_Field':
227
+						$input_class = 'EE_Text_Input';
228
+						break;
229
+					case 'EE_Primary_Key_Int_Field':
230
+						$input_class = 'EE_Hidden_Input';
231
+						$input_constructor_args[0]['normalization_strategy'] = new EE_Int_Normalization();
232
+						break;
233
+					case 'EE_Primary_Key_String_Field':
234
+						$input_class = 'EE_Hidden_Input';
235
+						break;
236
+					case 'EE_Serialized_Text_Field':
237
+						$input_class = 'EE_Text_Area_Input';
238
+						break;
239
+					case 'EE_Simple_HTML_Field':
240
+						$input_class = 'EE_Text_Area_Input';
241
+						$input_constructor_args[0]['validation_strategies'] = array(new EE_Simple_HTML_Validation_Strategy());
242
+						break;
243
+					case 'EE_Slug_Field':
244
+						$input_class = 'EE_Text_Input';
245
+						break;
246
+					case 'EE_Trashed_Flag_Field':
247
+						$input_class = 'EE_Yes_No_Input';
248
+						break;
249
+					case 'EE_WP_Post_Status_Field':
250
+						throw new EE_Error(sprintf(__(
251
+							"Model field '%s' does not yet have a known conversion to form input",
252
+							"event_espresso"
253
+						), get_class($model_field)));
254
+						break;
255
+					case 'EE_WP_Post_Type_Field':
256
+						throw new EE_Error(sprintf(__(
257
+							"Model field '%s' does not yet have a known conversion to form input",
258
+							"event_espresso"
259
+						), get_class($model_field)));
260
+						break;
261
+					default:
262
+						throw new EE_Error(sprintf(__(
263
+							"Model field of type '%s' does not convert to any known Form Input. Please add a case to EE_Model_Form_section's _convert_model_fields_to_inputs switch statement",
264
+							"event_espresso"
265
+						), get_class($model_field)));
266
+				}
267
+				$reflection = new ReflectionClass($input_class);
268
+				$input = $reflection->newInstanceArgs($input_constructor_args);
269
+				$inputs[ $field_name ] = $input;
270
+			}
271
+		}
272
+		return $inputs;
273
+	}
274
+
275
+
276
+
277
+	/**
278
+	 * Mostly the same as populate_defaults , except takes a model object as input, not an array,
279
+	 * and also sets the form's _model_object
280
+	 *
281
+	 * @param EE_Base_Class $model_obj
282
+	 * @return void
283
+	 */
284
+	public function populate_model_obj($model_obj)
285
+	{
286
+		$model_obj = $this->_model->ensure_is_obj($model_obj);
287
+		$this->_model_object = $model_obj;
288
+		$defaults = $model_obj->model_field_array();
289
+		foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
290
+			$subsection = $this->get_subsection($relation_name, false);
291
+			if ($subsection instanceof EE_Form_Input_Base) {
292
+				if ($relation_obj instanceof EE_Belongs_To_Relation) {
293
+					// then we only expect there to be one
294
+					$related_item = $this->_model_object->get_first_related($relation_name);
295
+					$defaults[ $relation_name ] = $related_item->ID();
296
+				} else {
297
+					$related_items = $this->_model_object->get_many_related($relation_name);
298
+					$ids = array();
299
+					foreach ($related_items as $related_item) {
300
+						$ids[] = $related_item->ID();
301
+					}
302
+					$defaults[ $relation_name ] = $ids;
303
+				}
304
+			}
305
+		}
306
+		$defaults = apply_filters(
307
+			'FHEE__EE_Model_Form_Section__populate_model_obj',
308
+			$defaults,
309
+			$this
310
+		);
311
+		$this->populate_defaults($defaults);
312
+	}
313
+
314
+
315
+
316
+	/**
317
+	 * Gets all the input values that correspond to model fields. Keys are the input/field names,
318
+	 * values are their normalized values
319
+	 *
320
+	 * @return array
321
+	 */
322
+	public function inputs_values_corresponding_to_model_fields()
323
+	{
324
+		return array_intersect_key($this->input_values(), $this->_model->field_settings());
325
+	}
326
+
327
+
328
+
329
+	/**
330
+	 * After we've normalized the data as normal, set the corresponding model object
331
+	 * on the form.
332
+	 *
333
+	 * @param array $req_data should usually be $_REQUEST (the default).
334
+	 * @return void
335
+	 */
336
+	public function _normalize($req_data)
337
+	{
338
+		parent::_normalize($req_data);
339
+		// create or set the model object, if it isn't already
340
+		if (! $this->_model_object) {
341
+			// check to see if the form indicates a PK, in which case we want to only retrieve it and update it
342
+			$pk_name = $this->_model->primary_key_name();
343
+			$model_obj = $this->_model->get_one_by_ID($this->get_input_value($pk_name));
344
+			if ($model_obj) {
345
+				$this->_model_object = $model_obj;
346
+			} else {
347
+				$this->_model_object = EE_Registry::instance()->load_class($this->_model->get_this_model_name());
348
+			}
349
+		}
350
+	}
351
+
352
+
353
+
354
+	/**
355
+	 * After this form has been initialized and is verified to be valid,
356
+	 * either creates a model object from its data and saves it, or updates
357
+	 * the model object its data represents
358
+	 *
359
+	 * @throws EE_Error
360
+	 * @return int, 1 on a successful update, the ID of
361
+	 *                    the new entry on insert; 0 on failure
362
+	 */
363
+	public function save()
364
+	{
365
+		if (! $this->_model_object) {
366
+			throw new EE_Error(sprintf(__(
367
+				"Cannot save the model form's model object (model is '%s') because there is no model object set. You must either set it, or call receive_form_submission where it is set automatically",
368
+				"event_espresso"
369
+			), get_class($this->_model)));
370
+		}
371
+		// ok so the model object is set. Just set it with the submitted form data
372
+		foreach ($this->inputs_values_corresponding_to_model_fields() as $field_name => $field_value) {
373
+			// only set the non-primary key
374
+			if ($field_name != $this->_model->primary_key_name()) {
375
+				$this->_model_object->set($field_name, $field_value);
376
+			}
377
+		}
378
+		$success = $this->_model_object->save();
379
+		foreach ($this->_model->relation_settings() as $relation_name => $relation_obj) {
380
+			if (isset($this->_subsections[ $relation_name ])) {
381
+				$success = $this->_save_related_info($relation_name);
382
+			}
383
+		}
384
+		do_action('AHEE__EE_Model_Form_Section__save__done', $this, $success);
385
+		return $success;
386
+	}
387
+
388
+
389
+
390
+	/**
391
+	 * Automatically finds the related model info from the form, if present, and
392
+	 * save the relations indicated
393
+	 *
394
+	 * @type string $relation_name
395
+	 * @return bool
396
+	 * @throws EE_Error
397
+	 */
398
+	protected function _save_related_info($relation_name)
399
+	{
400
+		$relation_obj = $this->_model->related_settings_for($relation_name);
401
+		if ($relation_obj instanceof EE_Belongs_To_Relation) {
402
+			// there is just a foreign key on this model pointing to that one
403
+			$this->_model_object->_add_relation_to($this->get_input_value($relation_name), $relation_name);
404
+		} elseif ($relation_obj instanceof EE_Has_Many_Relation) {
405
+			// then we want to consider all of its currently-related things.
406
+			// if they're in this list, keep them
407
+			// if they're not in this list, remove them
408
+			// and lastly add all the new items
409
+			throw new EE_Error(sprintf(__(
410
+				'Automatic saving of related info across a "has many" relation is not yet supported',
411
+				"event_espresso"
412
+			)));
413
+		} elseif ($relation_obj instanceof EE_HABTM_Relation) {
414
+			// delete everything NOT in this list
415
+			$normalized_input_value = $this->get_input_value($relation_name);
416
+			if ($normalized_input_value && is_array($normalized_input_value)) {
417
+				$where_query_params = array(
418
+					$relation_obj->get_other_model()->primary_key_name() => array('NOT_IN', $normalized_input_value),
419
+				);
420
+			} else {
421
+				$where_query_params = array();
422
+			}
423
+			$this->_model_object->_remove_relations($relation_name, $where_query_params);
424
+			foreach ($normalized_input_value as $id) {
425
+				$this->_model_object->_add_relation_to($id, $relation_name);
426
+			}
427
+		}
428
+		return true;
429
+	}
430
+
431
+
432
+
433
+	/**
434
+	 * Gets the model of this model form
435
+	 *
436
+	 * @return EEM_Base
437
+	 */
438
+	public function get_model()
439
+	{
440
+		return $this->_model;
441
+	}
442
+
443
+
444
+
445
+	/**
446
+	 * Gets the model object for this model form, which was either set
447
+	 * upon construction (using the $options_array arg 'model_object'), by using
448
+	 * set_model_object($model_obj), or implicitly
449
+	 * when receive_form_submission($req_data) was called.
450
+	 *
451
+	 * @return EE_Base_Class
452
+	 */
453
+	public function get_model_object()
454
+	{
455
+		return $this->_model_object;
456
+	}
457
+
458
+
459
+
460
+	/**
461
+	 * gets teh default name of this form section if none is specified
462
+	 *
463
+	 * @return string
464
+	 */
465
+	protected function _set_default_name_if_empty()
466
+	{
467
+		if (! $this->_name) {
468
+			$default_name = str_replace("EEM_", "", get_class($this->_model)) . "_Model_Form";
469
+			$this->_name = $default_name;
470
+		}
471
+	}
472 472
 }
Please login to merge, or discard this patch.
core/domain/services/graphql/connections/DatetimeTicketsConnection.php 1 patch
Indentation   +121 added lines, -121 removed lines patch added patch discarded remove patch
@@ -20,131 +20,131 @@
 block discarded – undo
20 20
 {
21 21
 
22 22
 
23
-    /**
24
-     * DatetimeConnection constructor.
25
-     *
26
-     * @param EEM_Ticket $model
27
-     */
28
-    public function __construct(EEM_Ticket $model)
29
-    {
30
-        $this->model = $model;
31
-    }
23
+	/**
24
+	 * DatetimeConnection constructor.
25
+	 *
26
+	 * @param EEM_Ticket $model
27
+	 */
28
+	public function __construct(EEM_Ticket $model)
29
+	{
30
+		$this->model = $model;
31
+	}
32 32
 
33 33
 
34
-    /**
35
-     * @return array
36
-     * @since $VID:$
37
-     */
38
-    public function config()
39
-    {
40
-        return [
41
-            'fromType'           => $this->namespace . 'Datetime',
42
-            'toType'             => $this->namespace . 'Ticket',
43
-            'fromFieldName'      => 'tickets',
44
-            'connectionTypeName' => "{$this->namespace}DatetimeTicketsConnection",
45
-            'connectionArgs'     => self::get_connection_args(),
46
-            'resolve'            => [$this, 'resolveConnection'],
47
-        ];
48
-    }
34
+	/**
35
+	 * @return array
36
+	 * @since $VID:$
37
+	 */
38
+	public function config()
39
+	{
40
+		return [
41
+			'fromType'           => $this->namespace . 'Datetime',
42
+			'toType'             => $this->namespace . 'Ticket',
43
+			'fromFieldName'      => 'tickets',
44
+			'connectionTypeName' => "{$this->namespace}DatetimeTicketsConnection",
45
+			'connectionArgs'     => self::get_connection_args(),
46
+			'resolve'            => [$this, 'resolveConnection'],
47
+		];
48
+	}
49 49
 
50 50
 
51
-    /**
52
-     * @param $entity
53
-     * @param $args
54
-     * @param $context
55
-     * @param $info
56
-     * @return array
57
-     * @throws Exception
58
-     * @since $VID:$
59
-     */
60
-    public function resolveConnection($entity, $args, $context, $info)
61
-    {
62
-        $resolver = new TicketConnectionResolver($entity, $args, $context, $info);
63
-        return $resolver->get_connection();
64
-    }
51
+	/**
52
+	 * @param $entity
53
+	 * @param $args
54
+	 * @param $context
55
+	 * @param $info
56
+	 * @return array
57
+	 * @throws Exception
58
+	 * @since $VID:$
59
+	 */
60
+	public function resolveConnection($entity, $args, $context, $info)
61
+	{
62
+		$resolver = new TicketConnectionResolver($entity, $args, $context, $info);
63
+		return $resolver->get_connection();
64
+	}
65 65
 
66
-    /**
67
-     * Given an optional array of args, this returns the args to be used in the connection
68
-     *
69
-     * @access public
70
-     * @param array $args The args to modify the defaults
71
-     *
72
-     * @return array
73
-     */
74
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
75
-    public static function get_connection_args($args = [])
76
-    {
77
-        $newArgs = [
78
-            'orderby'      => [
79
-                'type'        => ['list_of' => 'EspressoTicketsConnectionOrderbyInput'],
80
-                'description' => esc_html__('What parameter to use to order the objects by.', 'event_espresso'),
81
-            ],
82
-            'datetime' => [
83
-                'type'        => 'ID',
84
-                'description' => esc_html__('Globally unique datetime ID to get the tickets for.', 'event_espresso'),
85
-            ],
86
-            'datetimeIn' => [
87
-                'type'        => ['list_of' => 'ID'],
88
-                'description' => esc_html__('Globally unique datetime IDs to get the tickets for.', 'event_espresso'),
89
-            ],
90
-            'datetimeId' => [
91
-                'type'        => 'Int',
92
-                'description' => esc_html__('Datetime ID to get the tickets for.', 'event_espresso'),
93
-            ],
94
-            'datetimeIdIn' => [
95
-                'type'        => ['list_of' => 'Int'],
96
-                'description' => esc_html__('Datetime IDs to get the tickets for.', 'event_espresso'),
97
-            ],
98
-            'event'  => [
99
-                'type'        => 'ID',
100
-                'description' => esc_html__('Globally unique event ID to get the tickets for.', 'event_espresso'),
101
-            ],
102
-            'eventIn'  => [
103
-                'type'        => ['list_of' => 'ID'],
104
-                'description' => esc_html__('Globally unique event IDs to get the tickets for.', 'event_espresso'),
105
-            ],
106
-            'eventId'  => [
107
-                'type'        => 'Int',
108
-                'description' => esc_html__('Event ID to get the tickets for.', 'event_espresso'),
109
-            ],
110
-            'eventIdIn'  => [
111
-                'type'        => ['list_of' => 'Int'],
112
-                'description' => esc_html__('Event IDs to get the tickets for.', 'event_espresso'),
113
-            ],
114
-            'includeDefaultTickets'  => [
115
-                'type'        => 'Boolean',
116
-                'description' => esc_html__('Whether to add default tickets to the list.', 'event_espresso'),
117
-            ],
118
-            'search' => [
119
-                'type'        => 'String',
120
-                'description' => esc_html__('The search keywords', 'event_espresso'),
121
-            ],
122
-            'isDefault' => [
123
-                'type'        => 'Boolean',
124
-                'description' => esc_html__('Filter the default tickets', 'event_espresso'),
125
-            ],
126
-            'isRequired'   => [
127
-                'type'        => 'Boolean',
128
-                'description' => esc_html__('Filter the required tickets', 'event_espresso'),
129
-            ],
130
-            'isTaxable'   => [
131
-                'type'        => 'Boolean',
132
-                'description' => esc_html__('Filter the taxable tickets', 'event_espresso'),
133
-            ],
134
-            'isTrashed'   => [
135
-                'type'        => 'Boolean',
136
-                'description' => esc_html__('Filter the trashed tickets', 'event_espresso'),
137
-            ],
138
-        ];
66
+	/**
67
+	 * Given an optional array of args, this returns the args to be used in the connection
68
+	 *
69
+	 * @access public
70
+	 * @param array $args The args to modify the defaults
71
+	 *
72
+	 * @return array
73
+	 */
74
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
75
+	public static function get_connection_args($args = [])
76
+	{
77
+		$newArgs = [
78
+			'orderby'      => [
79
+				'type'        => ['list_of' => 'EspressoTicketsConnectionOrderbyInput'],
80
+				'description' => esc_html__('What parameter to use to order the objects by.', 'event_espresso'),
81
+			],
82
+			'datetime' => [
83
+				'type'        => 'ID',
84
+				'description' => esc_html__('Globally unique datetime ID to get the tickets for.', 'event_espresso'),
85
+			],
86
+			'datetimeIn' => [
87
+				'type'        => ['list_of' => 'ID'],
88
+				'description' => esc_html__('Globally unique datetime IDs to get the tickets for.', 'event_espresso'),
89
+			],
90
+			'datetimeId' => [
91
+				'type'        => 'Int',
92
+				'description' => esc_html__('Datetime ID to get the tickets for.', 'event_espresso'),
93
+			],
94
+			'datetimeIdIn' => [
95
+				'type'        => ['list_of' => 'Int'],
96
+				'description' => esc_html__('Datetime IDs to get the tickets for.', 'event_espresso'),
97
+			],
98
+			'event'  => [
99
+				'type'        => 'ID',
100
+				'description' => esc_html__('Globally unique event ID to get the tickets for.', 'event_espresso'),
101
+			],
102
+			'eventIn'  => [
103
+				'type'        => ['list_of' => 'ID'],
104
+				'description' => esc_html__('Globally unique event IDs to get the tickets for.', 'event_espresso'),
105
+			],
106
+			'eventId'  => [
107
+				'type'        => 'Int',
108
+				'description' => esc_html__('Event ID to get the tickets for.', 'event_espresso'),
109
+			],
110
+			'eventIdIn'  => [
111
+				'type'        => ['list_of' => 'Int'],
112
+				'description' => esc_html__('Event IDs to get the tickets for.', 'event_espresso'),
113
+			],
114
+			'includeDefaultTickets'  => [
115
+				'type'        => 'Boolean',
116
+				'description' => esc_html__('Whether to add default tickets to the list.', 'event_espresso'),
117
+			],
118
+			'search' => [
119
+				'type'        => 'String',
120
+				'description' => esc_html__('The search keywords', 'event_espresso'),
121
+			],
122
+			'isDefault' => [
123
+				'type'        => 'Boolean',
124
+				'description' => esc_html__('Filter the default tickets', 'event_espresso'),
125
+			],
126
+			'isRequired'   => [
127
+				'type'        => 'Boolean',
128
+				'description' => esc_html__('Filter the required tickets', 'event_espresso'),
129
+			],
130
+			'isTaxable'   => [
131
+				'type'        => 'Boolean',
132
+				'description' => esc_html__('Filter the taxable tickets', 'event_espresso'),
133
+			],
134
+			'isTrashed'   => [
135
+				'type'        => 'Boolean',
136
+				'description' => esc_html__('Filter the trashed tickets', 'event_espresso'),
137
+			],
138
+		];
139 139
 
140
-        $newArgs = apply_filters(
141
-            'FHEE__EventEspresso_core_domain_services_graphql_connections__ticket_args',
142
-            $newArgs,
143
-            $args
144
-        );
145
-        return array_merge(
146
-            $newArgs,
147
-            $args
148
-        );
149
-    }
140
+		$newArgs = apply_filters(
141
+			'FHEE__EventEspresso_core_domain_services_graphql_connections__ticket_args',
142
+			$newArgs,
143
+			$args
144
+		);
145
+		return array_merge(
146
+			$newArgs,
147
+			$args
148
+		);
149
+	}
150 150
 }
Please login to merge, or discard this patch.
core/domain/services/graphql/connections/TicketPricesConnection.php 1 patch
Indentation   +129 added lines, -129 removed lines patch added patch discarded remove patch
@@ -19,139 +19,139 @@
 block discarded – undo
19 19
 {
20 20
 
21 21
 
22
-    /**
23
-     * TicketConnection constructor.
24
-     *
25
-     * @param EEM_Price $model
26
-     */
27
-    public function __construct(EEM_Price $model)
28
-    {
29
-        $this->model = $model;
30
-    }
22
+	/**
23
+	 * TicketConnection constructor.
24
+	 *
25
+	 * @param EEM_Price $model
26
+	 */
27
+	public function __construct(EEM_Price $model)
28
+	{
29
+		$this->model = $model;
30
+	}
31 31
 
32 32
 
33
-    /**
34
-     * @return array
35
-     * @since $VID:$
36
-     */
37
-    public function config()
38
-    {
39
-        return [
40
-            'fromType'           => $this->namespace . 'Ticket',
41
-            'toType'             => $this->namespace . 'Price',
42
-            'fromFieldName'      => 'prices',
43
-            'connectionTypeName' => "{$this->namespace}TicketPricesConnection",
44
-            'connectionArgs'     => TicketPricesConnection::get_connection_args(),
45
-            'resolve'            => [$this, 'resolveConnection'],
46
-        ];
47
-    }
33
+	/**
34
+	 * @return array
35
+	 * @since $VID:$
36
+	 */
37
+	public function config()
38
+	{
39
+		return [
40
+			'fromType'           => $this->namespace . 'Ticket',
41
+			'toType'             => $this->namespace . 'Price',
42
+			'fromFieldName'      => 'prices',
43
+			'connectionTypeName' => "{$this->namespace}TicketPricesConnection",
44
+			'connectionArgs'     => TicketPricesConnection::get_connection_args(),
45
+			'resolve'            => [$this, 'resolveConnection'],
46
+		];
47
+	}
48 48
 
49 49
 
50
-    /**
51
-     * @param $entity
52
-     * @param $args
53
-     * @param $context
54
-     * @param $info
55
-     * @return array
56
-     * @throws Exception
57
-     * @since $VID:$
58
-     */
59
-    public function resolveConnection($entity, $args, $context, $info)
60
-    {
61
-        $resolver = new PriceConnectionResolver($entity, $args, $context, $info);
62
-        return $resolver->get_connection();
63
-    }
50
+	/**
51
+	 * @param $entity
52
+	 * @param $args
53
+	 * @param $context
54
+	 * @param $info
55
+	 * @return array
56
+	 * @throws Exception
57
+	 * @since $VID:$
58
+	 */
59
+	public function resolveConnection($entity, $args, $context, $info)
60
+	{
61
+		$resolver = new PriceConnectionResolver($entity, $args, $context, $info);
62
+		return $resolver->get_connection();
63
+	}
64 64
 
65
-    /**
66
-     * Given an optional array of args, this returns the args to be used in the connection
67
-     *
68
-     * @access public
69
-     * @param array $args The args to modify the defaults
70
-     *
71
-     * @return array
72
-     */
73
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
74
-    public static function get_connection_args($args = [])
75
-    {
76
-        $newArgs = [
77
-            'in'              => [
78
-                'type'        => ['list_of' => 'ID'],
79
-                'description' => esc_html__('Limit prices to the given globally unique IDs', 'event_espresso'),
80
-            ],
81
-            'idIn'            => [
82
-                'type'        => ['list_of' => 'ID'],
83
-                'description' => esc_html__('Limit prices to the given IDs', 'event_espresso'),
84
-            ],
85
-            'event'  => [
86
-                'type'        => 'ID',
87
-                'description' => esc_html__('Globally unique event ID to get the prices for.', 'event_espresso'),
88
-            ],
89
-            'eventId'  => [
90
-                'type'        => 'Int',
91
-                'description' => esc_html__('Event ID to get the prices for.', 'event_espresso'),
92
-            ],
93
-            'includeDefaultPrices'  => [
94
-                'type'        => 'Boolean',
95
-                'description' => esc_html__('Whether to add default prices to the list.', 'event_espresso'),
96
-            ],
97
-            'includeDefaultTicketsPrices'  => [
98
-                'type'        => 'Boolean',
99
-                'description' => esc_html__('Whether to add default tickets prices to the list.', 'event_espresso'),
100
-            ],
101
-            'isDefault' => [
102
-                'type'        => 'Boolean',
103
-                'description' => esc_html__('Filter the default prices', 'event_espresso'),
104
-            ],
105
-            'ticket'          => [
106
-                'type'        => 'ID',
107
-                'description' => esc_html__('Globally unique ticket ID to get the prices for.', 'event_espresso'),
108
-            ],
109
-            'ticketIn'        => [
110
-                'type'        => ['list_of' => 'ID'],
111
-                'description' => esc_html__('Globally unique ticket IDs to get the prices for.', 'event_espresso'),
112
-            ],
113
-            'ticketId'        => [
114
-                'type'        => 'Int',
115
-                'description' => esc_html__('Ticket ID to get the prices for.', 'event_espresso'),
116
-            ],
117
-            'ticketIdIn'      => [
118
-                'type'        => ['list_of' => 'Int'],
119
-                'description' => esc_html__('Ticket IDs to get the prices for.', 'event_espresso'),
120
-            ],
121
-            'priceType'       => [
122
-                'type'        => 'ID',
123
-                'description' => esc_html__('Globally unique price type ID to get the prices for.', 'event_espresso'),
124
-            ],
125
-            'priceTypeIn'     => [
126
-                'type'        => ['list_of' => 'ID'],
127
-                'description' => esc_html__('Globally unique price type IDs to get the prices for.', 'event_espresso'),
128
-            ],
129
-            'priceTypeId'     => [
130
-                'type'        => 'Int',
131
-                'description' => esc_html__('Price type ID to get the prices for.', 'event_espresso'),
132
-            ],
133
-            'priceTypeIdIn'   => [
134
-                'type'        => ['list_of' => 'Int'],
135
-                'description' => esc_html__('Price type IDs to get the prices for.', 'event_espresso'),
136
-            ],
137
-            'priceBaseType'   => [
138
-                'type'        => 'PriceBaseTypeEnum',
139
-                'description' => esc_html__('Price Base type.', 'event_espresso'),
140
-            ],
141
-            'priceBaseTypeIn' => [
142
-                'type'        => ['list_of' => 'PriceBaseTypeEnum'],
143
-                'description' => esc_html__('Price Base types.', 'event_espresso'),
144
-            ],
145
-        ];
65
+	/**
66
+	 * Given an optional array of args, this returns the args to be used in the connection
67
+	 *
68
+	 * @access public
69
+	 * @param array $args The args to modify the defaults
70
+	 *
71
+	 * @return array
72
+	 */
73
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
74
+	public static function get_connection_args($args = [])
75
+	{
76
+		$newArgs = [
77
+			'in'              => [
78
+				'type'        => ['list_of' => 'ID'],
79
+				'description' => esc_html__('Limit prices to the given globally unique IDs', 'event_espresso'),
80
+			],
81
+			'idIn'            => [
82
+				'type'        => ['list_of' => 'ID'],
83
+				'description' => esc_html__('Limit prices to the given IDs', 'event_espresso'),
84
+			],
85
+			'event'  => [
86
+				'type'        => 'ID',
87
+				'description' => esc_html__('Globally unique event ID to get the prices for.', 'event_espresso'),
88
+			],
89
+			'eventId'  => [
90
+				'type'        => 'Int',
91
+				'description' => esc_html__('Event ID to get the prices for.', 'event_espresso'),
92
+			],
93
+			'includeDefaultPrices'  => [
94
+				'type'        => 'Boolean',
95
+				'description' => esc_html__('Whether to add default prices to the list.', 'event_espresso'),
96
+			],
97
+			'includeDefaultTicketsPrices'  => [
98
+				'type'        => 'Boolean',
99
+				'description' => esc_html__('Whether to add default tickets prices to the list.', 'event_espresso'),
100
+			],
101
+			'isDefault' => [
102
+				'type'        => 'Boolean',
103
+				'description' => esc_html__('Filter the default prices', 'event_espresso'),
104
+			],
105
+			'ticket'          => [
106
+				'type'        => 'ID',
107
+				'description' => esc_html__('Globally unique ticket ID to get the prices for.', 'event_espresso'),
108
+			],
109
+			'ticketIn'        => [
110
+				'type'        => ['list_of' => 'ID'],
111
+				'description' => esc_html__('Globally unique ticket IDs to get the prices for.', 'event_espresso'),
112
+			],
113
+			'ticketId'        => [
114
+				'type'        => 'Int',
115
+				'description' => esc_html__('Ticket ID to get the prices for.', 'event_espresso'),
116
+			],
117
+			'ticketIdIn'      => [
118
+				'type'        => ['list_of' => 'Int'],
119
+				'description' => esc_html__('Ticket IDs to get the prices for.', 'event_espresso'),
120
+			],
121
+			'priceType'       => [
122
+				'type'        => 'ID',
123
+				'description' => esc_html__('Globally unique price type ID to get the prices for.', 'event_espresso'),
124
+			],
125
+			'priceTypeIn'     => [
126
+				'type'        => ['list_of' => 'ID'],
127
+				'description' => esc_html__('Globally unique price type IDs to get the prices for.', 'event_espresso'),
128
+			],
129
+			'priceTypeId'     => [
130
+				'type'        => 'Int',
131
+				'description' => esc_html__('Price type ID to get the prices for.', 'event_espresso'),
132
+			],
133
+			'priceTypeIdIn'   => [
134
+				'type'        => ['list_of' => 'Int'],
135
+				'description' => esc_html__('Price type IDs to get the prices for.', 'event_espresso'),
136
+			],
137
+			'priceBaseType'   => [
138
+				'type'        => 'PriceBaseTypeEnum',
139
+				'description' => esc_html__('Price Base type.', 'event_espresso'),
140
+			],
141
+			'priceBaseTypeIn' => [
142
+				'type'        => ['list_of' => 'PriceBaseTypeEnum'],
143
+				'description' => esc_html__('Price Base types.', 'event_espresso'),
144
+			],
145
+		];
146 146
 
147
-        $newArgs = apply_filters(
148
-            'FHEE__EventEspresso_core_domain_services_graphql_connections__price_args',
149
-            $newArgs,
150
-            $args
151
-        );
152
-        return array_merge(
153
-            $newArgs,
154
-            $args
155
-        );
156
-    }
147
+		$newArgs = apply_filters(
148
+			'FHEE__EventEspresso_core_domain_services_graphql_connections__price_args',
149
+			$newArgs,
150
+			$args
151
+		);
152
+		return array_merge(
153
+			$newArgs,
154
+			$args
155
+		);
156
+	}
157 157
 }
Please login to merge, or discard this patch.
domain/services/graphql/connection_resolvers/PriceConnectionResolver.php 2 patches
Indentation   +214 added lines, -214 removed lines patch added patch discarded remove patch
@@ -17,218 +17,218 @@
 block discarded – undo
17 17
  */
18 18
 class PriceConnectionResolver extends AbstractConnectionResolver
19 19
 {
20
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
21
-    public function get_loader_name()
22
-    {
23
-        return 'espresso_price';
24
-    }
25
-
26
-    /**
27
-     * @return EEM_Price
28
-     * @throws EE_Error
29
-     * @throws InvalidArgumentException
30
-     * @throws InvalidDataTypeException
31
-     * @throws InvalidInterfaceException
32
-     */
33
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
34
-    public function get_query()
35
-    {
36
-        return EEM_Price::instance();
37
-    }
38
-
39
-
40
-    /**
41
-     * Return an array of item IDs from the query
42
-     *
43
-     * @return array
44
-     */
45
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
46
-    public function get_ids()
47
-    {
48
-        $results = $this->query->get_col($this->query_args);
49
-
50
-        return ! empty($results) ? $results : [];
51
-    }
52
-
53
-
54
-    /**
55
-     * Here, we map the args from the input, then we make sure that we're only querying
56
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
57
-     * handle batch resolution of the posts.
58
-     *
59
-     * @return array
60
-     * @throws EE_Error
61
-     * @throws InvalidArgumentException
62
-     * @throws ReflectionException
63
-     * @throws InvalidDataTypeException
64
-     * @throws InvalidInterfaceException
65
-     */
66
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
67
-    public function get_query_args()
68
-    {
69
-        $where_params = [];
70
-        $query_args   = [];
71
-
72
-        $query_args['limit'] = $this->getLimit();
73
-
74
-        // Avoid multiple entries by join.
75
-        $query_args['group_by'] = 'PRC_ID';
76
-
77
-        $query_args['default_where_conditions'] = 'minimum';
78
-
79
-        /**
80
-         * Collect the input_fields and sanitize them to prepare them for sending to the Query
81
-         */
82
-        $input_fields = [];
83
-        if (! empty($this->args['where'])) {
84
-            $input_fields = $this->sanitizeInputFields($this->args['where']);
85
-
86
-            // Use the proper operator.
87
-            if (! empty($input_fields['PRC_ID']) && is_array($input_fields['PRC_ID'])) {
88
-                $input_fields['PRC_ID'] = ['in', $input_fields['PRC_ID']];
89
-            }
90
-            if (! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
91
-                $input_fields['Ticket.TKT_ID'] = ['in', $input_fields['Ticket.TKT_ID']];
92
-            }
93
-            if (! empty($input_fields['Price_Type.PBT_ID']) && is_array($input_fields['Price_Type.PBT_ID'])) {
94
-                $input_fields['Price_Type.PBT_ID'] = ['in', $input_fields['Price_Type.PBT_ID']];
95
-            }
96
-            if (! empty($input_fields['Price_Type.PRT_ID']) && is_array($input_fields['Price_Type.PRT_ID'])) {
97
-                $input_fields['Price_Type.PRT_ID'] = ['in', $input_fields['Price_Type.PRT_ID']];
98
-            }
99
-            // if event ID is passed but not a ticket ID
100
-            if (! isset($input_fields['Ticket.TKT_ID']) && isset($input_fields['Event.EVT_ID'])) {
101
-                $event_id = $input_fields['Event.EVT_ID'];
102
-                // Ensure that this doesn't go to the query.
103
-                // After all there is no DB relation between event and price
104
-                unset($input_fields['Event.EVT_ID']);
105
-                // get all the datetimeIds of the event
106
-                $event_datetime_ids = EEM_Datetime::instance()->get_col([
107
-                    [
108
-                        'EVT_ID'      => $event_id,
109
-                    ],
110
-                    'default_where_conditions' => 'minimum'
111
-                ]);
112
-                // get all the related ticket Ids
113
-                $ticket_ids = EEM_Ticket::instance()->get_col([
114
-                    [
115
-                        'Datetime.DTT_ID' => ['IN', $event_datetime_ids],
116
-                    ],
117
-                    'default_where_conditions' => 'minimum'
118
-                ]);
119
-
120
-                // add tickets relation to the query
121
-                $input_fields['Ticket.TKT_ID'] = ['IN', $ticket_ids];
122
-            }
123
-        }
124
-
125
-        /**
126
-         * Determine where we're at in the Graph and adjust the query context appropriately.
127
-         */
128
-        if ($this->source instanceof EE_Ticket) {
129
-            $where_params['Ticket.TKT_ID'] = $this->source->ID();
130
-        }
131
-
132
-        /**
133
-         * Merge the input_fields with the default query_args
134
-         */
135
-        if (! empty($input_fields)) {
136
-            $where_params = array_merge($where_params, $input_fields);
137
-        }
138
-
139
-        list($query_args, $where_params) = $this->mapOrderbyInputArgs($query_args, $where_params, 'PRC_ID');
140
-
141
-        $default_prices_params = [];
142
-
143
-        // If default ticket prices should be included.
144
-        if (! empty($this->args['where']['includeDefaultTicketsPrices'])) {
145
-            $default_ticket_ids = EEM_Ticket::instance()->get_col([
146
-                [
147
-                    'TKT_is_default' => 1,
148
-                ],
149
-                'default_where_conditions' => 'minimum'
150
-            ]);
151
-
152
-            // if we have default tickets
153
-            if (! empty($default_ticket_ids)) {
154
-                $default_prices_params['OR'] = [
155
-                    'Ticket.TKT_ID' => ['IN', $default_ticket_ids],
156
-                ];
157
-            }
158
-        }
159
-
160
-        // If default prices should be included.
161
-        if (! empty($this->args['where']['includeDefaultPrices'])) {
162
-            $default_prices_params['AND'] = [
163
-                'PRC_deleted'    => 0,
164
-                'PRC_is_default' => 1,
165
-            ];
166
-        }
167
-
168
-        if (! empty($default_prices_params)) {
169
-            if (empty($where_params)) {
170
-                $where_params['OR'] = $default_prices_params;
171
-            } else {
172
-                $where_params = [
173
-                    'OR' => [
174
-                        'OR'  => $default_prices_params,
175
-                        'AND' => $where_params,
176
-                    ],
177
-                ];
178
-            }
179
-        }
180
-
181
-        $where_params = apply_filters(
182
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_where_params',
183
-            $where_params,
184
-            $this->source,
185
-            $this->args
186
-        );
187
-
188
-        $query_args[] = $where_params;
189
-
190
-        /**
191
-         * Return the $query_args
192
-         */
193
-        return apply_filters(
194
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_query_args',
195
-            $query_args,
196
-            $this->source,
197
-            $this->args
198
-        );
199
-    }
200
-
201
-
202
-    /**
203
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
204
-     * friendly keys.
205
-     *
206
-     * @param array $where_args
207
-     * @return array
208
-     */
209
-    public function sanitizeInputFields(array $where_args)
210
-    {
211
-        $arg_mapping = [
212
-            'in'              => 'PRC_ID',
213
-            'idIn'            => 'PRC_ID',
214
-            'isDefault'       => 'PRC_is_default',
215
-            'event'           => 'Event.EVT_ID',
216
-            'eventId'         => 'Event.EVT_ID', // priority.
217
-            'ticket'          => 'Ticket.TKT_ID',
218
-            'ticketIn'        => 'Ticket.TKT_ID',
219
-            'ticketIdIn'      => 'Ticket.TKT_ID',
220
-            'ticketId'        => 'Ticket.TKT_ID', // priority.
221
-            'priceType'       => 'Price_Type.PRT_ID',
222
-            'priceTypeIn'     => 'Price_Type.PRT_ID',
223
-            'priceTypeIdIn'   => 'Price_Type.PRT_ID',
224
-            'priceTypeId'     => 'Price_Type.PRT_ID', // priority.
225
-            'priceBaseType'   => 'Price_Type.PBT_ID',
226
-            'priceBaseTypeIn' => 'Price_Type.PBT_ID',
227
-        ];
228
-        return $this->sanitizeWhereArgsForInputFields(
229
-            $where_args,
230
-            $arg_mapping,
231
-            ['in', 'event', 'ticket', 'ticketIn', 'priceType', 'priceTypeIn']
232
-        );
233
-    }
20
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
21
+	public function get_loader_name()
22
+	{
23
+		return 'espresso_price';
24
+	}
25
+
26
+	/**
27
+	 * @return EEM_Price
28
+	 * @throws EE_Error
29
+	 * @throws InvalidArgumentException
30
+	 * @throws InvalidDataTypeException
31
+	 * @throws InvalidInterfaceException
32
+	 */
33
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
34
+	public function get_query()
35
+	{
36
+		return EEM_Price::instance();
37
+	}
38
+
39
+
40
+	/**
41
+	 * Return an array of item IDs from the query
42
+	 *
43
+	 * @return array
44
+	 */
45
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
46
+	public function get_ids()
47
+	{
48
+		$results = $this->query->get_col($this->query_args);
49
+
50
+		return ! empty($results) ? $results : [];
51
+	}
52
+
53
+
54
+	/**
55
+	 * Here, we map the args from the input, then we make sure that we're only querying
56
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
57
+	 * handle batch resolution of the posts.
58
+	 *
59
+	 * @return array
60
+	 * @throws EE_Error
61
+	 * @throws InvalidArgumentException
62
+	 * @throws ReflectionException
63
+	 * @throws InvalidDataTypeException
64
+	 * @throws InvalidInterfaceException
65
+	 */
66
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
67
+	public function get_query_args()
68
+	{
69
+		$where_params = [];
70
+		$query_args   = [];
71
+
72
+		$query_args['limit'] = $this->getLimit();
73
+
74
+		// Avoid multiple entries by join.
75
+		$query_args['group_by'] = 'PRC_ID';
76
+
77
+		$query_args['default_where_conditions'] = 'minimum';
78
+
79
+		/**
80
+		 * Collect the input_fields and sanitize them to prepare them for sending to the Query
81
+		 */
82
+		$input_fields = [];
83
+		if (! empty($this->args['where'])) {
84
+			$input_fields = $this->sanitizeInputFields($this->args['where']);
85
+
86
+			// Use the proper operator.
87
+			if (! empty($input_fields['PRC_ID']) && is_array($input_fields['PRC_ID'])) {
88
+				$input_fields['PRC_ID'] = ['in', $input_fields['PRC_ID']];
89
+			}
90
+			if (! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
91
+				$input_fields['Ticket.TKT_ID'] = ['in', $input_fields['Ticket.TKT_ID']];
92
+			}
93
+			if (! empty($input_fields['Price_Type.PBT_ID']) && is_array($input_fields['Price_Type.PBT_ID'])) {
94
+				$input_fields['Price_Type.PBT_ID'] = ['in', $input_fields['Price_Type.PBT_ID']];
95
+			}
96
+			if (! empty($input_fields['Price_Type.PRT_ID']) && is_array($input_fields['Price_Type.PRT_ID'])) {
97
+				$input_fields['Price_Type.PRT_ID'] = ['in', $input_fields['Price_Type.PRT_ID']];
98
+			}
99
+			// if event ID is passed but not a ticket ID
100
+			if (! isset($input_fields['Ticket.TKT_ID']) && isset($input_fields['Event.EVT_ID'])) {
101
+				$event_id = $input_fields['Event.EVT_ID'];
102
+				// Ensure that this doesn't go to the query.
103
+				// After all there is no DB relation between event and price
104
+				unset($input_fields['Event.EVT_ID']);
105
+				// get all the datetimeIds of the event
106
+				$event_datetime_ids = EEM_Datetime::instance()->get_col([
107
+					[
108
+						'EVT_ID'      => $event_id,
109
+					],
110
+					'default_where_conditions' => 'minimum'
111
+				]);
112
+				// get all the related ticket Ids
113
+				$ticket_ids = EEM_Ticket::instance()->get_col([
114
+					[
115
+						'Datetime.DTT_ID' => ['IN', $event_datetime_ids],
116
+					],
117
+					'default_where_conditions' => 'minimum'
118
+				]);
119
+
120
+				// add tickets relation to the query
121
+				$input_fields['Ticket.TKT_ID'] = ['IN', $ticket_ids];
122
+			}
123
+		}
124
+
125
+		/**
126
+		 * Determine where we're at in the Graph and adjust the query context appropriately.
127
+		 */
128
+		if ($this->source instanceof EE_Ticket) {
129
+			$where_params['Ticket.TKT_ID'] = $this->source->ID();
130
+		}
131
+
132
+		/**
133
+		 * Merge the input_fields with the default query_args
134
+		 */
135
+		if (! empty($input_fields)) {
136
+			$where_params = array_merge($where_params, $input_fields);
137
+		}
138
+
139
+		list($query_args, $where_params) = $this->mapOrderbyInputArgs($query_args, $where_params, 'PRC_ID');
140
+
141
+		$default_prices_params = [];
142
+
143
+		// If default ticket prices should be included.
144
+		if (! empty($this->args['where']['includeDefaultTicketsPrices'])) {
145
+			$default_ticket_ids = EEM_Ticket::instance()->get_col([
146
+				[
147
+					'TKT_is_default' => 1,
148
+				],
149
+				'default_where_conditions' => 'minimum'
150
+			]);
151
+
152
+			// if we have default tickets
153
+			if (! empty($default_ticket_ids)) {
154
+				$default_prices_params['OR'] = [
155
+					'Ticket.TKT_ID' => ['IN', $default_ticket_ids],
156
+				];
157
+			}
158
+		}
159
+
160
+		// If default prices should be included.
161
+		if (! empty($this->args['where']['includeDefaultPrices'])) {
162
+			$default_prices_params['AND'] = [
163
+				'PRC_deleted'    => 0,
164
+				'PRC_is_default' => 1,
165
+			];
166
+		}
167
+
168
+		if (! empty($default_prices_params)) {
169
+			if (empty($where_params)) {
170
+				$where_params['OR'] = $default_prices_params;
171
+			} else {
172
+				$where_params = [
173
+					'OR' => [
174
+						'OR'  => $default_prices_params,
175
+						'AND' => $where_params,
176
+					],
177
+				];
178
+			}
179
+		}
180
+
181
+		$where_params = apply_filters(
182
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_where_params',
183
+			$where_params,
184
+			$this->source,
185
+			$this->args
186
+		);
187
+
188
+		$query_args[] = $where_params;
189
+
190
+		/**
191
+		 * Return the $query_args
192
+		 */
193
+		return apply_filters(
194
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__price_query_args',
195
+			$query_args,
196
+			$this->source,
197
+			$this->args
198
+		);
199
+	}
200
+
201
+
202
+	/**
203
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
204
+	 * friendly keys.
205
+	 *
206
+	 * @param array $where_args
207
+	 * @return array
208
+	 */
209
+	public function sanitizeInputFields(array $where_args)
210
+	{
211
+		$arg_mapping = [
212
+			'in'              => 'PRC_ID',
213
+			'idIn'            => 'PRC_ID',
214
+			'isDefault'       => 'PRC_is_default',
215
+			'event'           => 'Event.EVT_ID',
216
+			'eventId'         => 'Event.EVT_ID', // priority.
217
+			'ticket'          => 'Ticket.TKT_ID',
218
+			'ticketIn'        => 'Ticket.TKT_ID',
219
+			'ticketIdIn'      => 'Ticket.TKT_ID',
220
+			'ticketId'        => 'Ticket.TKT_ID', // priority.
221
+			'priceType'       => 'Price_Type.PRT_ID',
222
+			'priceTypeIn'     => 'Price_Type.PRT_ID',
223
+			'priceTypeIdIn'   => 'Price_Type.PRT_ID',
224
+			'priceTypeId'     => 'Price_Type.PRT_ID', // priority.
225
+			'priceBaseType'   => 'Price_Type.PBT_ID',
226
+			'priceBaseTypeIn' => 'Price_Type.PBT_ID',
227
+		];
228
+		return $this->sanitizeWhereArgsForInputFields(
229
+			$where_args,
230
+			$arg_mapping,
231
+			['in', 'event', 'ticket', 'ticketIn', 'priceType', 'priceTypeIn']
232
+		);
233
+	}
234 234
 }
Please login to merge, or discard this patch.
Spacing   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -80,24 +80,24 @@  discard block
 block discarded – undo
80 80
          * Collect the input_fields and sanitize them to prepare them for sending to the Query
81 81
          */
82 82
         $input_fields = [];
83
-        if (! empty($this->args['where'])) {
83
+        if ( ! empty($this->args['where'])) {
84 84
             $input_fields = $this->sanitizeInputFields($this->args['where']);
85 85
 
86 86
             // Use the proper operator.
87
-            if (! empty($input_fields['PRC_ID']) && is_array($input_fields['PRC_ID'])) {
87
+            if ( ! empty($input_fields['PRC_ID']) && is_array($input_fields['PRC_ID'])) {
88 88
                 $input_fields['PRC_ID'] = ['in', $input_fields['PRC_ID']];
89 89
             }
90
-            if (! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
90
+            if ( ! empty($input_fields['Ticket.TKT_ID']) && is_array($input_fields['Ticket.TKT_ID'])) {
91 91
                 $input_fields['Ticket.TKT_ID'] = ['in', $input_fields['Ticket.TKT_ID']];
92 92
             }
93
-            if (! empty($input_fields['Price_Type.PBT_ID']) && is_array($input_fields['Price_Type.PBT_ID'])) {
93
+            if ( ! empty($input_fields['Price_Type.PBT_ID']) && is_array($input_fields['Price_Type.PBT_ID'])) {
94 94
                 $input_fields['Price_Type.PBT_ID'] = ['in', $input_fields['Price_Type.PBT_ID']];
95 95
             }
96
-            if (! empty($input_fields['Price_Type.PRT_ID']) && is_array($input_fields['Price_Type.PRT_ID'])) {
96
+            if ( ! empty($input_fields['Price_Type.PRT_ID']) && is_array($input_fields['Price_Type.PRT_ID'])) {
97 97
                 $input_fields['Price_Type.PRT_ID'] = ['in', $input_fields['Price_Type.PRT_ID']];
98 98
             }
99 99
             // if event ID is passed but not a ticket ID
100
-            if (! isset($input_fields['Ticket.TKT_ID']) && isset($input_fields['Event.EVT_ID'])) {
100
+            if ( ! isset($input_fields['Ticket.TKT_ID']) && isset($input_fields['Event.EVT_ID'])) {
101 101
                 $event_id = $input_fields['Event.EVT_ID'];
102 102
                 // Ensure that this doesn't go to the query.
103 103
                 // After all there is no DB relation between event and price
@@ -132,7 +132,7 @@  discard block
 block discarded – undo
132 132
         /**
133 133
          * Merge the input_fields with the default query_args
134 134
          */
135
-        if (! empty($input_fields)) {
135
+        if ( ! empty($input_fields)) {
136 136
             $where_params = array_merge($where_params, $input_fields);
137 137
         }
138 138
 
@@ -141,7 +141,7 @@  discard block
 block discarded – undo
141 141
         $default_prices_params = [];
142 142
 
143 143
         // If default ticket prices should be included.
144
-        if (! empty($this->args['where']['includeDefaultTicketsPrices'])) {
144
+        if ( ! empty($this->args['where']['includeDefaultTicketsPrices'])) {
145 145
             $default_ticket_ids = EEM_Ticket::instance()->get_col([
146 146
                 [
147 147
                     'TKT_is_default' => 1,
@@ -150,7 +150,7 @@  discard block
 block discarded – undo
150 150
             ]);
151 151
 
152 152
             // if we have default tickets
153
-            if (! empty($default_ticket_ids)) {
153
+            if ( ! empty($default_ticket_ids)) {
154 154
                 $default_prices_params['OR'] = [
155 155
                     'Ticket.TKT_ID' => ['IN', $default_ticket_ids],
156 156
                 ];
@@ -158,14 +158,14 @@  discard block
 block discarded – undo
158 158
         }
159 159
 
160 160
         // If default prices should be included.
161
-        if (! empty($this->args['where']['includeDefaultPrices'])) {
161
+        if ( ! empty($this->args['where']['includeDefaultPrices'])) {
162 162
             $default_prices_params['AND'] = [
163 163
                 'PRC_deleted'    => 0,
164 164
                 'PRC_is_default' => 1,
165 165
             ];
166 166
         }
167 167
 
168
-        if (! empty($default_prices_params)) {
168
+        if ( ! empty($default_prices_params)) {
169 169
             if (empty($where_params)) {
170 170
                 $where_params['OR'] = $default_prices_params;
171 171
             } else {
Please login to merge, or discard this patch.
domain/services/graphql/connection_resolvers/TicketConnectionResolver.php 2 patches
Indentation   +173 added lines, -173 removed lines patch added patch discarded remove patch
@@ -15,177 +15,177 @@
 block discarded – undo
15 15
  */
16 16
 class TicketConnectionResolver extends AbstractConnectionResolver
17 17
 {
18
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
19
-    public function get_loader_name()
20
-    {
21
-        return 'espresso_ticket';
22
-    }
23
-
24
-    /**
25
-     * @return EEM_Ticket
26
-     * @throws EE_Error
27
-     * @throws InvalidArgumentException
28
-     * @throws InvalidDataTypeException
29
-     * @throws InvalidInterfaceException
30
-     */
31
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
32
-    public function get_query()
33
-    {
34
-        return EEM_Ticket::instance();
35
-    }
36
-
37
-
38
-    /**
39
-     * Return an array of item IDs from the query
40
-     *
41
-     * @return array
42
-     */
43
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
44
-    public function get_ids()
45
-    {
46
-        $results = $this->query->get_col($this->query_args);
47
-
48
-        return ! empty($results) ? $results : [];
49
-    }
50
-
51
-
52
-    /**
53
-     * Here, we map the args from the input, then we make sure that we're only querying
54
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
55
-     * handle batch resolution of the posts.
56
-     *
57
-     * @return array
58
-     * @throws EE_Error
59
-     * @throws InvalidArgumentException
60
-     * @throws ReflectionException
61
-     * @throws InvalidDataTypeException
62
-     * @throws InvalidInterfaceException
63
-     */
64
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
65
-    public function get_query_args()
66
-    {
67
-        $where_params = ['TKT_deleted' => ['IN', [true, false]]];
68
-        $query_args   = [];
69
-
70
-        $query_args['limit'] = $this->getLimit();
71
-
72
-        // Avoid multiple entries by join.
73
-        $query_args['group_by'] = 'TKT_ID';
74
-
75
-        $query_args['default_where_conditions'] = 'minimum';
76
-
77
-        /**
78
-         * Collect the input_fields and sanitize them to prepare them for sending to the Query
79
-         */
80
-        $input_fields = [];
81
-        if (! empty($this->args['where'])) {
82
-            $input_fields = $this->sanitizeInputFields($this->args['where']);
83
-
84
-            // Use the proper operator.
85
-            if (! empty($input_fields['Datetime.DTT_ID']) && is_array($input_fields['Datetime.DTT_ID'])) {
86
-                $input_fields['Datetime.DTT_ID'] = ['IN', $input_fields['Datetime.DTT_ID']];
87
-            }
88
-            if (! empty($input_fields['Datetime.EVT_ID']) && is_array($input_fields['Datetime.EVT_ID'])) {
89
-                $input_fields['Datetime.EVT_ID'] = ['IN', $input_fields['Datetime.EVT_ID']];
90
-            }
91
-        }
92
-
93
-        /**
94
-         * Determine where we're at in the Graph and adjust the query context appropriately.
95
-         */
96
-        if ($this->source instanceof EE_Datetime) {
97
-            $where_params['Datetime.DTT_ID'] = $this->source->ID();
98
-        }
99
-
100
-        /**
101
-         * Merge the input_fields with the default query_args
102
-         */
103
-        if (! empty($input_fields)) {
104
-            $where_params = array_merge($where_params, $input_fields);
105
-        }
106
-
107
-        list($query_args, $where_params) = $this->mapOrderbyInputArgs($query_args, $where_params, 'TKT_ID');
108
-
109
-        $search = isset($this->args['where']) ? $this->getSearchKeywords($this->args['where']) : '';
110
-
111
-        if (! empty($search)) {
112
-            // use OR operator to search in any of the fields
113
-            $where_params['OR'] = array(
114
-                'TKT_name'        => array('LIKE', '%' . $search . '%'),
115
-                'TKT_description' => array('LIKE', '%' . $search . '%'),
116
-            );
117
-        }
118
-
119
-        // If default tickets should be included.
120
-        if (! empty($this->args['where']['includeDefaultTickets'])) {
121
-            /**
122
-             * We need to get each ticket that
123
-             * - satisfies $where_params above
124
-             * OR
125
-             * - it's a default ticket
126
-             */
127
-            $where_params = [
128
-                'OR' => [
129
-                    // use extra OR instead of AND to avoid it getting overridden
130
-                    'OR' => [
131
-                        'AND' => [
132
-                            'TKT_deleted'    => ['IN', [true, false]],
133
-                            'TKT_is_default' => 1,
134
-                        ]
135
-                    ],
136
-                    'AND' => $where_params,
137
-                ],
138
-            ];
139
-        }
140
-
141
-        $where_params = apply_filters(
142
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_where_params',
143
-            $where_params,
144
-            $this->source,
145
-            $this->args
146
-        );
147
-
148
-        $query_args[] = $where_params;
149
-
150
-        /**
151
-         * Return the $query_args
152
-         */
153
-        return apply_filters(
154
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_query_args',
155
-            $query_args,
156
-            $this->source,
157
-            $this->args
158
-        );
159
-    }
160
-
161
-
162
-    /**
163
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
164
-     * friendly keys.
165
-     *
166
-     * @param array $where_args
167
-     * @return array
168
-     */
169
-    public function sanitizeInputFields(array $where_args)
170
-    {
171
-        $arg_mapping = [
172
-            'event'        => 'Datetime.EVT_ID',
173
-            'eventIn'      => 'Datetime.EVT_ID',
174
-            'eventIdIn'    => 'Datetime.EVT_ID',
175
-            'eventId'      => 'Datetime.EVT_ID', // priority.
176
-            'datetime'     => 'Datetime.DTT_ID',
177
-            'datetimeIn'   => 'Datetime.DTT_ID',
178
-            'datetimeIdIn' => 'Datetime.DTT_ID',
179
-            'datetimeId'   => 'Datetime.DTT_ID', // priority.
180
-            'isDefault'    => 'TKT_is_default',
181
-            'isRequired'   => 'TKT_required',
182
-            'isTaxable'    => 'TKT_taxable',
183
-            'isTrashed'    => 'TKT_deleted',
184
-        ];
185
-        return $this->sanitizeWhereArgsForInputFields(
186
-            $where_args,
187
-            $arg_mapping,
188
-            ['datetime', 'datetimeIn', 'event', 'eventIn']
189
-        );
190
-    }
18
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
19
+	public function get_loader_name()
20
+	{
21
+		return 'espresso_ticket';
22
+	}
23
+
24
+	/**
25
+	 * @return EEM_Ticket
26
+	 * @throws EE_Error
27
+	 * @throws InvalidArgumentException
28
+	 * @throws InvalidDataTypeException
29
+	 * @throws InvalidInterfaceException
30
+	 */
31
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
32
+	public function get_query()
33
+	{
34
+		return EEM_Ticket::instance();
35
+	}
36
+
37
+
38
+	/**
39
+	 * Return an array of item IDs from the query
40
+	 *
41
+	 * @return array
42
+	 */
43
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
44
+	public function get_ids()
45
+	{
46
+		$results = $this->query->get_col($this->query_args);
47
+
48
+		return ! empty($results) ? $results : [];
49
+	}
50
+
51
+
52
+	/**
53
+	 * Here, we map the args from the input, then we make sure that we're only querying
54
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
55
+	 * handle batch resolution of the posts.
56
+	 *
57
+	 * @return array
58
+	 * @throws EE_Error
59
+	 * @throws InvalidArgumentException
60
+	 * @throws ReflectionException
61
+	 * @throws InvalidDataTypeException
62
+	 * @throws InvalidInterfaceException
63
+	 */
64
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
65
+	public function get_query_args()
66
+	{
67
+		$where_params = ['TKT_deleted' => ['IN', [true, false]]];
68
+		$query_args   = [];
69
+
70
+		$query_args['limit'] = $this->getLimit();
71
+
72
+		// Avoid multiple entries by join.
73
+		$query_args['group_by'] = 'TKT_ID';
74
+
75
+		$query_args['default_where_conditions'] = 'minimum';
76
+
77
+		/**
78
+		 * Collect the input_fields and sanitize them to prepare them for sending to the Query
79
+		 */
80
+		$input_fields = [];
81
+		if (! empty($this->args['where'])) {
82
+			$input_fields = $this->sanitizeInputFields($this->args['where']);
83
+
84
+			// Use the proper operator.
85
+			if (! empty($input_fields['Datetime.DTT_ID']) && is_array($input_fields['Datetime.DTT_ID'])) {
86
+				$input_fields['Datetime.DTT_ID'] = ['IN', $input_fields['Datetime.DTT_ID']];
87
+			}
88
+			if (! empty($input_fields['Datetime.EVT_ID']) && is_array($input_fields['Datetime.EVT_ID'])) {
89
+				$input_fields['Datetime.EVT_ID'] = ['IN', $input_fields['Datetime.EVT_ID']];
90
+			}
91
+		}
92
+
93
+		/**
94
+		 * Determine where we're at in the Graph and adjust the query context appropriately.
95
+		 */
96
+		if ($this->source instanceof EE_Datetime) {
97
+			$where_params['Datetime.DTT_ID'] = $this->source->ID();
98
+		}
99
+
100
+		/**
101
+		 * Merge the input_fields with the default query_args
102
+		 */
103
+		if (! empty($input_fields)) {
104
+			$where_params = array_merge($where_params, $input_fields);
105
+		}
106
+
107
+		list($query_args, $where_params) = $this->mapOrderbyInputArgs($query_args, $where_params, 'TKT_ID');
108
+
109
+		$search = isset($this->args['where']) ? $this->getSearchKeywords($this->args['where']) : '';
110
+
111
+		if (! empty($search)) {
112
+			// use OR operator to search in any of the fields
113
+			$where_params['OR'] = array(
114
+				'TKT_name'        => array('LIKE', '%' . $search . '%'),
115
+				'TKT_description' => array('LIKE', '%' . $search . '%'),
116
+			);
117
+		}
118
+
119
+		// If default tickets should be included.
120
+		if (! empty($this->args['where']['includeDefaultTickets'])) {
121
+			/**
122
+			 * We need to get each ticket that
123
+			 * - satisfies $where_params above
124
+			 * OR
125
+			 * - it's a default ticket
126
+			 */
127
+			$where_params = [
128
+				'OR' => [
129
+					// use extra OR instead of AND to avoid it getting overridden
130
+					'OR' => [
131
+						'AND' => [
132
+							'TKT_deleted'    => ['IN', [true, false]],
133
+							'TKT_is_default' => 1,
134
+						]
135
+					],
136
+					'AND' => $where_params,
137
+				],
138
+			];
139
+		}
140
+
141
+		$where_params = apply_filters(
142
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_where_params',
143
+			$where_params,
144
+			$this->source,
145
+			$this->args
146
+		);
147
+
148
+		$query_args[] = $where_params;
149
+
150
+		/**
151
+		 * Return the $query_args
152
+		 */
153
+		return apply_filters(
154
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__ticket_query_args',
155
+			$query_args,
156
+			$this->source,
157
+			$this->args
158
+		);
159
+	}
160
+
161
+
162
+	/**
163
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
164
+	 * friendly keys.
165
+	 *
166
+	 * @param array $where_args
167
+	 * @return array
168
+	 */
169
+	public function sanitizeInputFields(array $where_args)
170
+	{
171
+		$arg_mapping = [
172
+			'event'        => 'Datetime.EVT_ID',
173
+			'eventIn'      => 'Datetime.EVT_ID',
174
+			'eventIdIn'    => 'Datetime.EVT_ID',
175
+			'eventId'      => 'Datetime.EVT_ID', // priority.
176
+			'datetime'     => 'Datetime.DTT_ID',
177
+			'datetimeIn'   => 'Datetime.DTT_ID',
178
+			'datetimeIdIn' => 'Datetime.DTT_ID',
179
+			'datetimeId'   => 'Datetime.DTT_ID', // priority.
180
+			'isDefault'    => 'TKT_is_default',
181
+			'isRequired'   => 'TKT_required',
182
+			'isTaxable'    => 'TKT_taxable',
183
+			'isTrashed'    => 'TKT_deleted',
184
+		];
185
+		return $this->sanitizeWhereArgsForInputFields(
186
+			$where_args,
187
+			$arg_mapping,
188
+			['datetime', 'datetimeIn', 'event', 'eventIn']
189
+		);
190
+	}
191 191
 }
Please login to merge, or discard this patch.
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -78,14 +78,14 @@  discard block
 block discarded – undo
78 78
          * Collect the input_fields and sanitize them to prepare them for sending to the Query
79 79
          */
80 80
         $input_fields = [];
81
-        if (! empty($this->args['where'])) {
81
+        if ( ! empty($this->args['where'])) {
82 82
             $input_fields = $this->sanitizeInputFields($this->args['where']);
83 83
 
84 84
             // Use the proper operator.
85
-            if (! empty($input_fields['Datetime.DTT_ID']) && is_array($input_fields['Datetime.DTT_ID'])) {
85
+            if ( ! empty($input_fields['Datetime.DTT_ID']) && is_array($input_fields['Datetime.DTT_ID'])) {
86 86
                 $input_fields['Datetime.DTT_ID'] = ['IN', $input_fields['Datetime.DTT_ID']];
87 87
             }
88
-            if (! empty($input_fields['Datetime.EVT_ID']) && is_array($input_fields['Datetime.EVT_ID'])) {
88
+            if ( ! empty($input_fields['Datetime.EVT_ID']) && is_array($input_fields['Datetime.EVT_ID'])) {
89 89
                 $input_fields['Datetime.EVT_ID'] = ['IN', $input_fields['Datetime.EVT_ID']];
90 90
             }
91 91
         }
@@ -100,7 +100,7 @@  discard block
 block discarded – undo
100 100
         /**
101 101
          * Merge the input_fields with the default query_args
102 102
          */
103
-        if (! empty($input_fields)) {
103
+        if ( ! empty($input_fields)) {
104 104
             $where_params = array_merge($where_params, $input_fields);
105 105
         }
106 106
 
@@ -108,16 +108,16 @@  discard block
 block discarded – undo
108 108
 
109 109
         $search = isset($this->args['where']) ? $this->getSearchKeywords($this->args['where']) : '';
110 110
 
111
-        if (! empty($search)) {
111
+        if ( ! empty($search)) {
112 112
             // use OR operator to search in any of the fields
113 113
             $where_params['OR'] = array(
114
-                'TKT_name'        => array('LIKE', '%' . $search . '%'),
115
-                'TKT_description' => array('LIKE', '%' . $search . '%'),
114
+                'TKT_name'        => array('LIKE', '%'.$search.'%'),
115
+                'TKT_description' => array('LIKE', '%'.$search.'%'),
116 116
             );
117 117
         }
118 118
 
119 119
         // If default tickets should be included.
120
-        if (! empty($this->args['where']['includeDefaultTickets'])) {
120
+        if ( ! empty($this->args['where']['includeDefaultTickets'])) {
121 121
             /**
122 122
              * We need to get each ticket that
123 123
              * - satisfies $where_params above
Please login to merge, or discard this patch.
core/domain/services/admin/events/editor/EventEditorGraphQLData.php 1 patch
Indentation   +121 added lines, -121 removed lines patch added patch discarded remove patch
@@ -21,125 +21,125 @@
 block discarded – undo
21 21
 class EventEditorGraphQLData
22 22
 {
23 23
 
24
-    /**
25
-     * @var Event $event
26
-     */
27
-    protected $event;
28
-
29
-    /**
30
-     * @var Datetimes $datetimes
31
-     */
32
-    protected $datetimes;
33
-
34
-    /**
35
-     * @var Prices $prices
36
-     */
37
-    protected $prices;
38
-
39
-    /**
40
-     * @var PriceTypes $price_types
41
-     */
42
-    protected $price_types;
43
-
44
-    /**
45
-     * @var Tickets $tickets
46
-     */
47
-    protected $tickets;
48
-
49
-    /**
50
-     * @var EventEntityRelations $relations
51
-     */
52
-    protected $relations;
53
-
54
-    /**
55
-     * @var EventManagers $managers
56
-     */
57
-    protected $managers;
58
-
59
-    /**
60
-     * @var NewEventDefaultEntities $default_entities
61
-     */
62
-    protected $default_entities;
63
-
64
-
65
-    /**
66
-     * EventEditorGraphQLData constructor.
67
-     *
68
-     * @param Datetimes               $datetimes
69
-     * @param Event                   $event
70
-     * @param Prices                  $prices
71
-     * @param PriceTypes              $price_types
72
-     * @param Tickets                 $tickets
73
-     * @param EventEntityRelations    $relations
74
-     * @param EventManagers           $managers
75
-     * @param NewEventDefaultEntities $default_entities
76
-     */
77
-    public function __construct(
78
-        Datetimes $datetimes,
79
-        Event $event,
80
-        Prices $prices,
81
-        PriceTypes $price_types,
82
-        Tickets $tickets,
83
-        EventEntityRelations $relations,
84
-        EventManagers $managers,
85
-        NewEventDefaultEntities $default_entities
86
-    ) {
87
-        $this->datetimes        = $datetimes;
88
-        $this->event            = $event;
89
-        $this->default_entities = $default_entities;
90
-        $this->prices           = $prices;
91
-        $this->price_types      = $price_types;
92
-        $this->managers         = $managers;
93
-        $this->relations        = $relations;
94
-        $this->tickets          = $tickets;
95
-    }
96
-
97
-
98
-    /**
99
-     * @param int $eventId
100
-     * @return array
101
-     * @throws EE_Error
102
-     * @throws ReflectionException
103
-     * @since $VID:$
104
-     */
105
-    public function getData(int $eventId)
106
-    {
107
-        $event = $this->event->getData(['id' => $eventId]);
108
-        $datetimes = $this->datetimes->getData(['eventId' => $eventId]);
109
-        $eventManagers = $this->managers ->getData($eventId);
110
-
111
-        // Avoid undefined variable warning in PHP >= 7.3
112
-        $tickets = null;
113
-        $prices  = null;
114
-
115
-        if (empty($datetimes['nodes']) || (isset($_REQUEST['action']) && $_REQUEST['action'] === 'create_new')) {
116
-            $this->default_entities->getData($eventId);
117
-            $datetimes = $this->datetimes->getData(['eventId' => $eventId]);
118
-        }
119
-
120
-        $tickets = $this->tickets->getData([
121
-            'eventId'               => $eventId,
122
-            'includeDefaultTickets' => true,
123
-        ]);
124
-
125
-        $prices = $this->prices->getData([
126
-            'eventId'                     => $eventId,
127
-            'includeDefaultTicketsPrices' => true,
128
-            'includeDefaultPrices'        => true,
129
-        ]);
130
-
131
-        $priceTypes = $this->price_types->getData();
132
-
133
-        $relations = $this->relations->getData($eventId);
134
-
135
-        return compact(
136
-            'datetimes',
137
-            'event',
138
-            'eventManagers',
139
-            'prices',
140
-            'priceTypes',
141
-            'relations',
142
-            'tickets'
143
-        );
144
-    }
24
+	/**
25
+	 * @var Event $event
26
+	 */
27
+	protected $event;
28
+
29
+	/**
30
+	 * @var Datetimes $datetimes
31
+	 */
32
+	protected $datetimes;
33
+
34
+	/**
35
+	 * @var Prices $prices
36
+	 */
37
+	protected $prices;
38
+
39
+	/**
40
+	 * @var PriceTypes $price_types
41
+	 */
42
+	protected $price_types;
43
+
44
+	/**
45
+	 * @var Tickets $tickets
46
+	 */
47
+	protected $tickets;
48
+
49
+	/**
50
+	 * @var EventEntityRelations $relations
51
+	 */
52
+	protected $relations;
53
+
54
+	/**
55
+	 * @var EventManagers $managers
56
+	 */
57
+	protected $managers;
58
+
59
+	/**
60
+	 * @var NewEventDefaultEntities $default_entities
61
+	 */
62
+	protected $default_entities;
63
+
64
+
65
+	/**
66
+	 * EventEditorGraphQLData constructor.
67
+	 *
68
+	 * @param Datetimes               $datetimes
69
+	 * @param Event                   $event
70
+	 * @param Prices                  $prices
71
+	 * @param PriceTypes              $price_types
72
+	 * @param Tickets                 $tickets
73
+	 * @param EventEntityRelations    $relations
74
+	 * @param EventManagers           $managers
75
+	 * @param NewEventDefaultEntities $default_entities
76
+	 */
77
+	public function __construct(
78
+		Datetimes $datetimes,
79
+		Event $event,
80
+		Prices $prices,
81
+		PriceTypes $price_types,
82
+		Tickets $tickets,
83
+		EventEntityRelations $relations,
84
+		EventManagers $managers,
85
+		NewEventDefaultEntities $default_entities
86
+	) {
87
+		$this->datetimes        = $datetimes;
88
+		$this->event            = $event;
89
+		$this->default_entities = $default_entities;
90
+		$this->prices           = $prices;
91
+		$this->price_types      = $price_types;
92
+		$this->managers         = $managers;
93
+		$this->relations        = $relations;
94
+		$this->tickets          = $tickets;
95
+	}
96
+
97
+
98
+	/**
99
+	 * @param int $eventId
100
+	 * @return array
101
+	 * @throws EE_Error
102
+	 * @throws ReflectionException
103
+	 * @since $VID:$
104
+	 */
105
+	public function getData(int $eventId)
106
+	{
107
+		$event = $this->event->getData(['id' => $eventId]);
108
+		$datetimes = $this->datetimes->getData(['eventId' => $eventId]);
109
+		$eventManagers = $this->managers ->getData($eventId);
110
+
111
+		// Avoid undefined variable warning in PHP >= 7.3
112
+		$tickets = null;
113
+		$prices  = null;
114
+
115
+		if (empty($datetimes['nodes']) || (isset($_REQUEST['action']) && $_REQUEST['action'] === 'create_new')) {
116
+			$this->default_entities->getData($eventId);
117
+			$datetimes = $this->datetimes->getData(['eventId' => $eventId]);
118
+		}
119
+
120
+		$tickets = $this->tickets->getData([
121
+			'eventId'               => $eventId,
122
+			'includeDefaultTickets' => true,
123
+		]);
124
+
125
+		$prices = $this->prices->getData([
126
+			'eventId'                     => $eventId,
127
+			'includeDefaultTicketsPrices' => true,
128
+			'includeDefaultPrices'        => true,
129
+		]);
130
+
131
+		$priceTypes = $this->price_types->getData();
132
+
133
+		$relations = $this->relations->getData($eventId);
134
+
135
+		return compact(
136
+			'datetimes',
137
+			'event',
138
+			'eventManagers',
139
+			'prices',
140
+			'priceTypes',
141
+			'relations',
142
+			'tickets'
143
+		);
144
+	}
145 145
 }
Please login to merge, or discard this patch.
core/domain/services/admin/events/editor/EventEntityRelations.php 2 patches
Indentation   +131 added lines, -131 removed lines patch added patch discarded remove patch
@@ -16,146 +16,146 @@
 block discarded – undo
16 16
 class EventEntityRelations extends EventEditorData
17 17
 {
18 18
 
19
-    /**
20
-     * @param array $data
21
-     */
22
-    private $data;
19
+	/**
20
+	 * @param array $data
21
+	 */
22
+	private $data;
23 23
 
24
-    /**
25
-     * @param int $eventId
26
-     * @return array
27
-     * @throws EE_Error
28
-     * @since $VID:$
29
-     */
30
-    public function getData(int $eventId)
31
-    {
32
-        $this->data = [
33
-            'datetimes' => [],
34
-            'tickets'   => [],
35
-            'prices'    => [],
36
-        ];
24
+	/**
25
+	 * @param int $eventId
26
+	 * @return array
27
+	 * @throws EE_Error
28
+	 * @since $VID:$
29
+	 */
30
+	public function getData(int $eventId)
31
+	{
32
+		$this->data = [
33
+			'datetimes' => [],
34
+			'tickets'   => [],
35
+			'prices'    => [],
36
+		];
37 37
 
38
-        $datetimeIds = $this->processDatetimes($eventId);
39
-        $ticketIds = $this->processTickets($datetimeIds);
40
-        $this->processPrices($ticketIds);
38
+		$datetimeIds = $this->processDatetimes($eventId);
39
+		$ticketIds = $this->processTickets($datetimeIds);
40
+		$this->processPrices($ticketIds);
41 41
 
42
-        return $this->data;
43
-    }
42
+		return $this->data;
43
+	}
44 44
 
45 45
 
46
-    /**
47
-     * @param int $eventId
48
-     * @return array
49
-     * @throws EE_Error
50
-     * @since $VID:$
51
-     */
52
-    private function processDatetimes(int $eventId)
53
-    {
54
-        $related_models = [
55
-            'tickets' => $this->ticket_model,
56
-        ];
57
-        // Get the IDs of event datetimes.
58
-        $datetimeIds = $this->datetime_model->get_col([
59
-            [ 'EVT_ID' => $eventId ],
60
-            'default_where_conditions' => 'minimum',
61
-        ]);
62
-        foreach ($datetimeIds as $datetimeId) {
63
-            $GID = $this->utilities->convertToGlobalId($this->datetime_model->item_name(), $datetimeId);
64
-            foreach ($related_models as $key => $model) {
65
-                // Get the IDs of related entities for the datetime ID.
66
-                $Ids = $model->get_col([
67
-                    [ 'Datetime.DTT_ID' => $datetimeId ],
68
-                    'default_where_conditions' => 'minimum',
69
-                ]);
70
-                $this->data['datetimes'][ $GID ][ $key ] = ! empty($Ids)
71
-                    ? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
72
-                    : [];
73
-            }
74
-        }
75
-        return $datetimeIds;
76
-    }
46
+	/**
47
+	 * @param int $eventId
48
+	 * @return array
49
+	 * @throws EE_Error
50
+	 * @since $VID:$
51
+	 */
52
+	private function processDatetimes(int $eventId)
53
+	{
54
+		$related_models = [
55
+			'tickets' => $this->ticket_model,
56
+		];
57
+		// Get the IDs of event datetimes.
58
+		$datetimeIds = $this->datetime_model->get_col([
59
+			[ 'EVT_ID' => $eventId ],
60
+			'default_where_conditions' => 'minimum',
61
+		]);
62
+		foreach ($datetimeIds as $datetimeId) {
63
+			$GID = $this->utilities->convertToGlobalId($this->datetime_model->item_name(), $datetimeId);
64
+			foreach ($related_models as $key => $model) {
65
+				// Get the IDs of related entities for the datetime ID.
66
+				$Ids = $model->get_col([
67
+					[ 'Datetime.DTT_ID' => $datetimeId ],
68
+					'default_where_conditions' => 'minimum',
69
+				]);
70
+				$this->data['datetimes'][ $GID ][ $key ] = ! empty($Ids)
71
+					? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
72
+					: [];
73
+			}
74
+		}
75
+		return $datetimeIds;
76
+	}
77 77
 
78 78
 
79
-    /**
80
-     * @param array $datetimeIds
81
-     * @return array
82
-     * @throws EE_Error
83
-     * @since $VID:$
84
-     */
85
-    private function processTickets(array $datetimeIds)
86
-    {
87
-        $related_models = [
88
-            'datetimes' => $this->datetime_model,
89
-            'prices'    => $this->price_model,
90
-        ];
91
-        // Get the IDs of all datetime tickets.
92
-        $ticketIds = $this->ticket_model->get_col([
93
-            [
94
-                'OR' => [
95
-                    'Datetime.DTT_ID' => ['IN', $datetimeIds],
96
-                    'TKT_is_default' => 1,
97
-                ]
98
-            ],
99
-            'default_where_conditions' => 'minimum',
100
-        ]);
101
-        foreach ($ticketIds as $ticketId) {
102
-            $GID = $this->utilities->convertToGlobalId($this->ticket_model->item_name(), $ticketId);
79
+	/**
80
+	 * @param array $datetimeIds
81
+	 * @return array
82
+	 * @throws EE_Error
83
+	 * @since $VID:$
84
+	 */
85
+	private function processTickets(array $datetimeIds)
86
+	{
87
+		$related_models = [
88
+			'datetimes' => $this->datetime_model,
89
+			'prices'    => $this->price_model,
90
+		];
91
+		// Get the IDs of all datetime tickets.
92
+		$ticketIds = $this->ticket_model->get_col([
93
+			[
94
+				'OR' => [
95
+					'Datetime.DTT_ID' => ['IN', $datetimeIds],
96
+					'TKT_is_default' => 1,
97
+				]
98
+			],
99
+			'default_where_conditions' => 'minimum',
100
+		]);
101
+		foreach ($ticketIds as $ticketId) {
102
+			$GID = $this->utilities->convertToGlobalId($this->ticket_model->item_name(), $ticketId);
103 103
 
104
-            foreach ($related_models as $key => $model) {
105
-                // Get the IDs of related entities for the ticket ID.
106
-                $Ids = $model->get_col([
107
-                    [ 'Ticket.TKT_ID' => $ticketId ],
108
-                    'default_where_conditions' => 'minimum',
109
-                ]);
110
-                $this->data['tickets'][ $GID ][ $key ] = ! empty($Ids)
111
-                    ? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
112
-                    : [];
113
-            }
114
-        }
115
-        return $ticketIds;
116
-    }
104
+			foreach ($related_models as $key => $model) {
105
+				// Get the IDs of related entities for the ticket ID.
106
+				$Ids = $model->get_col([
107
+					[ 'Ticket.TKT_ID' => $ticketId ],
108
+					'default_where_conditions' => 'minimum',
109
+				]);
110
+				$this->data['tickets'][ $GID ][ $key ] = ! empty($Ids)
111
+					? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
112
+					: [];
113
+			}
114
+		}
115
+		return $ticketIds;
116
+	}
117 117
 
118 118
 
119
-    /**
120
-     * @param array $ticketIds
121
-     * @throws EE_Error
122
-     * @since $VID:$
123
-     */
124
-    private function processPrices(array $ticketIds)
125
-    {
126
-        $related_models = [
127
-            'tickets'    => $this->ticket_model,
128
-            'priceTypes' => $this->price_type_model,
129
-        ];
130
-        // Get the IDs of all ticket prices and default prices
131
-        $priceIds = $this->price_model->get_col([
132
-            [
133
-                'OR' => [
134
-                    // either the price is related to any of these tickets
135
-                    'Ticket.TKT_ID' => ['IN', $ticketIds],
136
-                    // or it's a default price and not trashed
137
-                    'AND' => [
138
-                        'PRC_deleted'    => 0,
139
-                        'PRC_is_default' => 1,
140
-                    ],
141
-                ],
142
-            ],
143
-            'group_by'                 => 'PRC_ID',
144
-            'default_where_conditions' => 'minimum',
145
-        ]);
146
-        foreach ($priceIds as $priceId) {
147
-            $GID = $this->utilities->convertToGlobalId($this->price_model->item_name(), $priceId);
119
+	/**
120
+	 * @param array $ticketIds
121
+	 * @throws EE_Error
122
+	 * @since $VID:$
123
+	 */
124
+	private function processPrices(array $ticketIds)
125
+	{
126
+		$related_models = [
127
+			'tickets'    => $this->ticket_model,
128
+			'priceTypes' => $this->price_type_model,
129
+		];
130
+		// Get the IDs of all ticket prices and default prices
131
+		$priceIds = $this->price_model->get_col([
132
+			[
133
+				'OR' => [
134
+					// either the price is related to any of these tickets
135
+					'Ticket.TKT_ID' => ['IN', $ticketIds],
136
+					// or it's a default price and not trashed
137
+					'AND' => [
138
+						'PRC_deleted'    => 0,
139
+						'PRC_is_default' => 1,
140
+					],
141
+				],
142
+			],
143
+			'group_by'                 => 'PRC_ID',
144
+			'default_where_conditions' => 'minimum',
145
+		]);
146
+		foreach ($priceIds as $priceId) {
147
+			$GID = $this->utilities->convertToGlobalId($this->price_model->item_name(), $priceId);
148 148
 
149
-            foreach ($related_models as $key => $model) {
150
-                // Get the IDs of related entities for the price ID.
151
-                $Ids = $model->get_col([
152
-                    [ 'Price.PRC_ID' => $priceId ],
153
-                    'default_where_conditions' => 'minimum',
154
-                ]);
155
-                $this->data['prices'][ $GID ][ $key ] = ! empty($Ids)
156
-                    ? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
157
-                    : [];
158
-            }
159
-        }
160
-    }
149
+			foreach ($related_models as $key => $model) {
150
+				// Get the IDs of related entities for the price ID.
151
+				$Ids = $model->get_col([
152
+					[ 'Price.PRC_ID' => $priceId ],
153
+					'default_where_conditions' => 'minimum',
154
+				]);
155
+				$this->data['prices'][ $GID ][ $key ] = ! empty($Ids)
156
+					? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
157
+					: [];
158
+			}
159
+		}
160
+	}
161 161
 }
Please login to merge, or discard this patch.
Spacing   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -56,7 +56,7 @@  discard block
 block discarded – undo
56 56
         ];
57 57
         // Get the IDs of event datetimes.
58 58
         $datetimeIds = $this->datetime_model->get_col([
59
-            [ 'EVT_ID' => $eventId ],
59
+            ['EVT_ID' => $eventId],
60 60
             'default_where_conditions' => 'minimum',
61 61
         ]);
62 62
         foreach ($datetimeIds as $datetimeId) {
@@ -64,10 +64,10 @@  discard block
 block discarded – undo
64 64
             foreach ($related_models as $key => $model) {
65 65
                 // Get the IDs of related entities for the datetime ID.
66 66
                 $Ids = $model->get_col([
67
-                    [ 'Datetime.DTT_ID' => $datetimeId ],
67
+                    ['Datetime.DTT_ID' => $datetimeId],
68 68
                     'default_where_conditions' => 'minimum',
69 69
                 ]);
70
-                $this->data['datetimes'][ $GID ][ $key ] = ! empty($Ids)
70
+                $this->data['datetimes'][$GID][$key] = ! empty($Ids)
71 71
                     ? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
72 72
                     : [];
73 73
             }
@@ -104,10 +104,10 @@  discard block
 block discarded – undo
104 104
             foreach ($related_models as $key => $model) {
105 105
                 // Get the IDs of related entities for the ticket ID.
106 106
                 $Ids = $model->get_col([
107
-                    [ 'Ticket.TKT_ID' => $ticketId ],
107
+                    ['Ticket.TKT_ID' => $ticketId],
108 108
                     'default_where_conditions' => 'minimum',
109 109
                 ]);
110
-                $this->data['tickets'][ $GID ][ $key ] = ! empty($Ids)
110
+                $this->data['tickets'][$GID][$key] = ! empty($Ids)
111 111
                     ? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
112 112
                     : [];
113 113
             }
@@ -149,10 +149,10 @@  discard block
 block discarded – undo
149 149
             foreach ($related_models as $key => $model) {
150 150
                 // Get the IDs of related entities for the price ID.
151 151
                 $Ids = $model->get_col([
152
-                    [ 'Price.PRC_ID' => $priceId ],
152
+                    ['Price.PRC_ID' => $priceId],
153 153
                     'default_where_conditions' => 'minimum',
154 154
                 ]);
155
-                $this->data['prices'][ $GID ][ $key ] = ! empty($Ids)
155
+                $this->data['prices'][$GID][$key] = ! empty($Ids)
156 156
                     ? $this->utilities->convertToGlobalId($model->item_name(), $Ids)
157 157
                     : [];
158 158
             }
Please login to merge, or discard this patch.
core/services/addon/api/IncompatibleAddonHandler.php 1 patch
Indentation   +69 added lines, -69 removed lines patch added patch discarded remove patch
@@ -6,75 +6,75 @@
 block discarded – undo
6 6
 
7 7
 class IncompatibleAddonHandler
8 8
 {
9
-    /**
10
-     * @return void
11
-     */
12
-    public function deactivateIncompatibleAddons()
13
-    {
14
-        $this->deactivateIncompatibleAddon(
15
-            'Wait Lists',
16
-            'EE_WAIT_LISTS_VERSION',
17
-            '1.0.0.beta.074',
18
-            'load_espresso_wait_lists',
19
-            'EE_WAIT_LISTS_PLUGIN_FILE'
20
-        );
21
-        $this->deactivateIncompatibleAddon(
22
-            'Automated Upcoming Event Notifications',
23
-            'EE_AUTOMATED_UPCOMING_EVENT_NOTIFICATION_VERSION',
24
-            '1.0.0.beta.091',
25
-            'load_espresso_automated_upcoming_event_notification',
26
-            'EE_AUTOMATED_UPCOMING_EVENT_NOTIFICATION_PLUGIN_FILE'
27
-        );
28
-        $this->deactivateIncompatibleAddon(
29
-            'WP Users Integration',
30
-            'EE_WPUSERS_VERSION',
31
-            '2.1.0.rc.003',
32
-            'load_ee_core_wpusers',
33
-            'EE_WPUSERS_PLUGIN_FILE'
34
-        );
35
-    }
9
+	/**
10
+	 * @return void
11
+	 */
12
+	public function deactivateIncompatibleAddons()
13
+	{
14
+		$this->deactivateIncompatibleAddon(
15
+			'Wait Lists',
16
+			'EE_WAIT_LISTS_VERSION',
17
+			'1.0.0.beta.074',
18
+			'load_espresso_wait_lists',
19
+			'EE_WAIT_LISTS_PLUGIN_FILE'
20
+		);
21
+		$this->deactivateIncompatibleAddon(
22
+			'Automated Upcoming Event Notifications',
23
+			'EE_AUTOMATED_UPCOMING_EVENT_NOTIFICATION_VERSION',
24
+			'1.0.0.beta.091',
25
+			'load_espresso_automated_upcoming_event_notification',
26
+			'EE_AUTOMATED_UPCOMING_EVENT_NOTIFICATION_PLUGIN_FILE'
27
+		);
28
+		$this->deactivateIncompatibleAddon(
29
+			'WP Users Integration',
30
+			'EE_WPUSERS_VERSION',
31
+			'2.1.0.rc.003',
32
+			'load_ee_core_wpusers',
33
+			'EE_WPUSERS_PLUGIN_FILE'
34
+		);
35
+	}
36 36
 
37 37
 
38
-    /**
39
-     * @param string $addon_name
40
-     * @param string $version_constant
41
-     * @param string $min_version_required
42
-     * @param string $load_callback
43
-     * @param string $plugin_file_constant
44
-     * @return void
45
-     */
46
-    private function deactivateIncompatibleAddon(
47
-        string $addon_name,
48
-        string $version_constant,
49
-        string $min_version_required,
50
-        string $load_callback,
51
-        string $plugin_file_constant
52
-    ) {
53
-        if (! defined($version_constant)) {
54
-            return;
55
-        }
56
-        $addon_version = constant($version_constant);
57
-        if ($addon_version && version_compare($addon_version, $min_version_required, '<')) {
58
-            remove_action('AHEE__EE_System__load_espresso_addons', $load_callback);
59
-            if (! function_exists('deactivate_plugins')) {
60
-                require_once ABSPATH . 'wp-admin/includes/plugin.php';
61
-            }
62
-            deactivate_plugins(plugin_basename(constant($plugin_file_constant)));
63
-            unset($_GET['activate'], $_REQUEST['activate'], $_GET['activate-multi'], $_REQUEST['activate-multi']);
64
-            EE_Error::add_error(
65
-                sprintf(
66
-                    esc_html__(
67
-                        'We\'re sorry, but the Event Espresso %1$s addon was deactivated because version %2$s or higher is required with this version of Event Espresso core.',
68
-                        'event_espresso'
69
-                    ),
70
-                    $addon_name,
71
-                    $min_version_required
72
-                ),
73
-                __FILE__,
74
-                __FUNCTION__ . "({$addon_name})",
75
-                __LINE__
76
-            );
77
-            EE_Error::get_notices(false, true);
78
-        }
79
-    }
38
+	/**
39
+	 * @param string $addon_name
40
+	 * @param string $version_constant
41
+	 * @param string $min_version_required
42
+	 * @param string $load_callback
43
+	 * @param string $plugin_file_constant
44
+	 * @return void
45
+	 */
46
+	private function deactivateIncompatibleAddon(
47
+		string $addon_name,
48
+		string $version_constant,
49
+		string $min_version_required,
50
+		string $load_callback,
51
+		string $plugin_file_constant
52
+	) {
53
+		if (! defined($version_constant)) {
54
+			return;
55
+		}
56
+		$addon_version = constant($version_constant);
57
+		if ($addon_version && version_compare($addon_version, $min_version_required, '<')) {
58
+			remove_action('AHEE__EE_System__load_espresso_addons', $load_callback);
59
+			if (! function_exists('deactivate_plugins')) {
60
+				require_once ABSPATH . 'wp-admin/includes/plugin.php';
61
+			}
62
+			deactivate_plugins(plugin_basename(constant($plugin_file_constant)));
63
+			unset($_GET['activate'], $_REQUEST['activate'], $_GET['activate-multi'], $_REQUEST['activate-multi']);
64
+			EE_Error::add_error(
65
+				sprintf(
66
+					esc_html__(
67
+						'We\'re sorry, but the Event Espresso %1$s addon was deactivated because version %2$s or higher is required with this version of Event Espresso core.',
68
+						'event_espresso'
69
+					),
70
+					$addon_name,
71
+					$min_version_required
72
+				),
73
+				__FILE__,
74
+				__FUNCTION__ . "({$addon_name})",
75
+				__LINE__
76
+			);
77
+			EE_Error::get_notices(false, true);
78
+		}
79
+	}
80 80
 }
Please login to merge, or discard this patch.
languages/event_espresso-translations-js.php 1 patch
Spacing   +491 added lines, -491 removed lines patch added patch discarded remove patch
@@ -2,226 +2,226 @@  discard block
 block discarded – undo
2 2
 /* THIS IS A GENERATED FILE. DO NOT EDIT DIRECTLY. */
3 3
 $generated_i18n_strings = array(
4 4
 	// Reference: packages/ui-components/src/Pagination/constants.ts:6
5
-	__( '2', 'event_espresso' ),
5
+	__('2', 'event_espresso'),
6 6
 
7 7
 	// Reference: packages/ui-components/src/Pagination/constants.ts:7
8
-	__( '6', 'event_espresso' ),
8
+	__('6', 'event_espresso'),
9 9
 
10 10
 	// Reference: packages/ui-components/src/Pagination/constants.ts:8
11
-	__( '12', 'event_espresso' ),
11
+	__('12', 'event_espresso'),
12 12
 
13 13
 	// Reference: packages/ui-components/src/Pagination/constants.ts:9
14
-	__( '24', 'event_espresso' ),
14
+	__('24', 'event_espresso'),
15 15
 
16 16
 	// Reference: packages/ui-components/src/Pagination/constants.ts:10
17
-	__( '48', 'event_espresso' ),
17
+	__('48', 'event_espresso'),
18 18
 
19 19
 	// Reference: domains/blocks/src/components/AvatarImage.tsx:27
20
-	__( 'contact avatar', 'event_espresso' ),
20
+	__('contact avatar', 'event_espresso'),
21 21
 
22 22
 	// Reference: domains/blocks/src/components/OrderByControl.tsx:12
23
-	__( 'Order by', 'event_espresso' ),
23
+	__('Order by', 'event_espresso'),
24 24
 
25 25
 	// Reference: domains/blocks/src/components/RegStatusControl.tsx:17
26 26
 	// Reference: domains/blocks/src/event-attendees/controls/SelectStatus.tsx:13
27
-	__( 'Select Registration Status', 'event_espresso' ),
27
+	__('Select Registration Status', 'event_espresso'),
28 28
 
29 29
 	// Reference: domains/blocks/src/components/SortOrderControl.tsx:14
30
-	__( 'Ascending', 'event_espresso' ),
30
+	__('Ascending', 'event_espresso'),
31 31
 
32 32
 	// Reference: domains/blocks/src/components/SortOrderControl.tsx:18
33
-	__( 'Descending', 'event_espresso' ),
33
+	__('Descending', 'event_espresso'),
34 34
 
35 35
 	// Reference: domains/blocks/src/components/SortOrderControl.tsx:24
36
-	__( 'Sort order:', 'event_espresso' ),
36
+	__('Sort order:', 'event_espresso'),
37 37
 
38 38
 	// Reference: domains/blocks/src/event-attendees/AttendeesDisplay.tsx:41
39
-	__( 'There was some error fetching attendees list', 'event_espresso' ),
39
+	__('There was some error fetching attendees list', 'event_espresso'),
40 40
 
41 41
 	// Reference: domains/blocks/src/event-attendees/AttendeesDisplay.tsx:47
42
-	__( 'To get started, select what event you want to show attendees from in the block settings.', 'event_espresso' ),
42
+	__('To get started, select what event you want to show attendees from in the block settings.', 'event_espresso'),
43 43
 
44 44
 	// Reference: domains/blocks/src/event-attendees/AttendeesDisplay.tsx:53
45
-	__( 'There are no attendees for selected options.', 'event_espresso' ),
45
+	__('There are no attendees for selected options.', 'event_espresso'),
46 46
 
47 47
 	// Reference: domains/blocks/src/event-attendees/controls/ArchiveSettings.tsx:12
48
-	__( 'Display on Archives', 'event_espresso' ),
48
+	__('Display on Archives', 'event_espresso'),
49 49
 
50 50
 	// Reference: domains/blocks/src/event-attendees/controls/ArchiveSettings.tsx:17
51
-	__( 'Attendees are shown whenever this post is listed in an archive view.', 'event_espresso' ),
51
+	__('Attendees are shown whenever this post is listed in an archive view.', 'event_espresso'),
52 52
 
53 53
 	// Reference: domains/blocks/src/event-attendees/controls/ArchiveSettings.tsx:18
54
-	__( 'Attendees are hidden whenever this post is listed in an archive view.', 'event_espresso' ),
54
+	__('Attendees are hidden whenever this post is listed in an archive view.', 'event_espresso'),
55 55
 
56 56
 	// Reference: domains/blocks/src/event-attendees/controls/AttendeeLimit.tsx:29
57
-	__( 'Number of Attendees to Display:', 'event_espresso' ),
57
+	__('Number of Attendees to Display:', 'event_espresso'),
58 58
 
59 59
 	// Reference: domains/blocks/src/event-attendees/controls/AttendeeLimit.tsx:34
60 60
 	/* translators: %d attendees count */
61
-	_n_noop( 'Used to adjust the number of attendees displayed (There is %d total attendee for the current filter settings).', 'Used to adjust the number of attendees displayed (There are %d total attendees for the current filter settings).', 'event_espresso' ),
61
+	_n_noop('Used to adjust the number of attendees displayed (There is %d total attendee for the current filter settings).', 'Used to adjust the number of attendees displayed (There are %d total attendees for the current filter settings).', 'event_espresso'),
62 62
 
63 63
 	// Reference: domains/blocks/src/event-attendees/controls/GravatarSettings.tsx:27
64
-	__( 'Display Gravatar', 'event_espresso' ),
64
+	__('Display Gravatar', 'event_espresso'),
65 65
 
66 66
 	// Reference: domains/blocks/src/event-attendees/controls/GravatarSettings.tsx:32
67
-	__( 'Gravatar images are shown for each attendee.', 'event_espresso' ),
67
+	__('Gravatar images are shown for each attendee.', 'event_espresso'),
68 68
 
69 69
 	// Reference: domains/blocks/src/event-attendees/controls/GravatarSettings.tsx:33
70
-	__( 'No gravatar images are shown for each attendee.', 'event_espresso' ),
70
+	__('No gravatar images are shown for each attendee.', 'event_espresso'),
71 71
 
72 72
 	// Reference: domains/blocks/src/event-attendees/controls/GravatarSettings.tsx:38
73
-	__( 'Size of Gravatar', 'event_espresso' ),
73
+	__('Size of Gravatar', 'event_espresso'),
74 74
 
75 75
 	// Reference: domains/blocks/src/event-attendees/controls/SelectDatetime.tsx:22
76
-	__( 'Select Datetime', 'event_espresso' ),
76
+	__('Select Datetime', 'event_espresso'),
77 77
 
78 78
 	// Reference: domains/blocks/src/event-attendees/controls/SelectEvent.tsx:22
79
-	__( 'Select Event', 'event_espresso' ),
79
+	__('Select Event', 'event_espresso'),
80 80
 
81 81
 	// Reference: domains/blocks/src/event-attendees/controls/SelectOrderBy.tsx:11
82
-	__( 'Attendee id', 'event_espresso' ),
82
+	__('Attendee id', 'event_espresso'),
83 83
 
84 84
 	// Reference: domains/blocks/src/event-attendees/controls/SelectOrderBy.tsx:15
85
-	__( 'Last name only', 'event_espresso' ),
85
+	__('Last name only', 'event_espresso'),
86 86
 
87 87
 	// Reference: domains/blocks/src/event-attendees/controls/SelectOrderBy.tsx:19
88
-	__( 'First name only', 'event_espresso' ),
88
+	__('First name only', 'event_espresso'),
89 89
 
90 90
 	// Reference: domains/blocks/src/event-attendees/controls/SelectOrderBy.tsx:23
91
-	__( 'First, then Last name', 'event_espresso' ),
91
+	__('First, then Last name', 'event_espresso'),
92 92
 
93 93
 	// Reference: domains/blocks/src/event-attendees/controls/SelectOrderBy.tsx:27
94
-	__( 'Last, then First name', 'event_espresso' ),
94
+	__('Last, then First name', 'event_espresso'),
95 95
 
96 96
 	// Reference: domains/blocks/src/event-attendees/controls/SelectOrderBy.tsx:41
97
-	__( 'Order Attendees by:', 'event_espresso' ),
97
+	__('Order Attendees by:', 'event_espresso'),
98 98
 
99 99
 	// Reference: domains/blocks/src/event-attendees/controls/SelectTicket.tsx:22
100
-	__( 'Select Ticket', 'event_espresso' ),
100
+	__('Select Ticket', 'event_espresso'),
101 101
 
102 102
 	// Reference: domains/blocks/src/event-attendees/controls/index.tsx:21
103
-	__( 'Filter By Settings', 'event_espresso' ),
103
+	__('Filter By Settings', 'event_espresso'),
104 104
 
105 105
 	// Reference: domains/blocks/src/event-attendees/controls/index.tsx:36
106
-	__( 'Gravatar Setttings', 'event_espresso' ),
106
+	__('Gravatar Setttings', 'event_espresso'),
107 107
 
108 108
 	// Reference: domains/blocks/src/event-attendees/controls/index.tsx:39
109
-	__( 'Archive Settings', 'event_espresso' ),
109
+	__('Archive Settings', 'event_espresso'),
110 110
 
111 111
 	// Reference: domains/blocks/src/event-attendees/index.tsx:10
112
-	__( 'Event Attendees', 'event_espresso' ),
112
+	__('Event Attendees', 'event_espresso'),
113 113
 
114 114
 	// Reference: domains/blocks/src/event-attendees/index.tsx:11
115
-	__( 'Displays a list of people that have registered for the specified event', 'event_espresso' ),
115
+	__('Displays a list of people that have registered for the specified event', 'event_espresso'),
116 116
 
117 117
 	// Reference: domains/blocks/src/event-attendees/index.tsx:14
118
-	__( 'event', 'event_espresso' ),
118
+	__('event', 'event_espresso'),
119 119
 
120 120
 	// Reference: domains/blocks/src/event-attendees/index.tsx:14
121
-	__( 'attendees', 'event_espresso' ),
121
+	__('attendees', 'event_espresso'),
122 122
 
123 123
 	// Reference: domains/blocks/src/event-attendees/index.tsx:14
124
-	__( 'list', 'event_espresso' ),
124
+	__('list', 'event_espresso'),
125 125
 
126 126
 	// Reference: domains/blocks/src/services/utils.ts:11
127
-	__( 'Loading…', 'event_espresso' ),
127
+	__('Loading…', 'event_espresso'),
128 128
 
129 129
 	// Reference: domains/blocks/src/services/utils.ts:19
130
-	__( 'Error', 'event_espresso' ),
130
+	__('Error', 'event_espresso'),
131 131
 
132 132
 	// Reference: domains/blocks/src/services/utils.ts:26
133 133
 	// Reference: packages/ui-components/src/SimpleEntityList/EntityTemplate.tsx:16
134
-	__( 'Select…', 'event_espresso' ),
134
+	__('Select…', 'event_espresso'),
135 135
 
136 136
 	// Reference: domains/eventEditor/src/ui/EventDescription.tsx:32
137
-	__( 'Event Description', 'event_espresso' ),
137
+	__('Event Description', 'event_espresso'),
138 138
 
139 139
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/ActiveStatus.tsx:22
140
-	__( 'Active status', 'event_espresso' ),
140
+	__('Active status', 'event_espresso'),
141 141
 
142 142
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/AltRegPage.tsx:14
143
-	__( 'Alternative Registration Page', 'event_espresso' ),
143
+	__('Alternative Registration Page', 'event_espresso'),
144 144
 
145 145
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/DefaultRegistrationStatus.tsx:15
146
-	__( 'Default Registration Status', 'event_espresso' ),
146
+	__('Default Registration Status', 'event_espresso'),
147 147
 
148 148
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/Donations.tsx:9
149
-	__( 'Donations Enabled', 'event_espresso' ),
149
+	__('Donations Enabled', 'event_espresso'),
150 150
 
151 151
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/Donations.tsx:9
152
-	__( 'Donations Disabled', 'event_espresso' ),
152
+	__('Donations Disabled', 'event_espresso'),
153 153
 
154 154
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/EventManager.tsx:16
155
-	__( 'Event Manager', 'event_espresso' ),
155
+	__('Event Manager', 'event_espresso'),
156 156
 
157 157
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/EventPhoneNumber.tsx:11
158
-	__( 'Event Phone Number', 'event_espresso' ),
158
+	__('Event Phone Number', 'event_espresso'),
159 159
 
160 160
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/MaxRegistrations.tsx:12
161
-	__( 'Max Registrations per Transaction', 'event_espresso' ),
161
+	__('Max Registrations per Transaction', 'event_espresso'),
162 162
 
163 163
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/TicketSelector.tsx:9
164
-	__( 'Ticket Selector Enabled', 'event_espresso' ),
164
+	__('Ticket Selector Enabled', 'event_espresso'),
165 165
 
166 166
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/TicketSelector.tsx:9
167
-	__( 'Ticket Selector Disabled', 'event_espresso' ),
167
+	__('Ticket Selector Disabled', 'event_espresso'),
168 168
 
169 169
 	// Reference: domains/eventEditor/src/ui/EventRegistrationOptions/index.tsx:42
170
-	__( 'Registration Options', 'event_espresso' ),
170
+	__('Registration Options', 'event_espresso'),
171 171
 
172 172
 	// Reference: domains/eventEditor/src/ui/datetimes/DateRegistrationsLink.tsx:13
173
-	__( 'view ALL registrations for this date.', 'event_espresso' ),
173
+	__('view ALL registrations for this date.', 'event_espresso'),
174 174
 
175 175
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/multiStep/DateFormSteps.tsx:10
176
-	__( 'primary information about the date', 'event_espresso' ),
176
+	__('primary information about the date', 'event_espresso'),
177 177
 
178 178
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/multiStep/DateFormSteps.tsx:10
179
-	__( 'Date Details', 'event_espresso' ),
179
+	__('Date Details', 'event_espresso'),
180 180
 
181 181
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/multiStep/DateFormSteps.tsx:11
182 182
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/TicketFormSteps.tsx:16
183 183
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/TicketFormSteps.tsx:16
184
-	__( 'relations between tickets and dates', 'event_espresso' ),
184
+	__('relations between tickets and dates', 'event_espresso'),
185 185
 
186 186
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/multiStep/DateFormSteps.tsx:11
187
-	__( 'Assign Tickets', 'event_espresso' ),
187
+	__('Assign Tickets', 'event_espresso'),
188 188
 
189 189
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/multiStep/FooterButtons.tsx:22
190
-	__( 'Save and assign tickets', 'event_espresso' ),
190
+	__('Save and assign tickets', 'event_espresso'),
191 191
 
192 192
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/multiStep/Modal.tsx:33
193 193
 	/* translators: %s datetime id */
194
-	__( 'Edit datetime %s', 'event_espresso' ),
194
+	__('Edit datetime %s', 'event_espresso'),
195 195
 
196 196
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/multiStep/Modal.tsx:36
197
-	__( 'New Datetime', 'event_espresso' ),
197
+	__('New Datetime', 'event_espresso'),
198 198
 
199 199
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:108
200 200
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:108
201 201
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:117
202 202
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:108
203
-	__( 'Details', 'event_espresso' ),
203
+	__('Details', 'event_espresso'),
204 204
 
205 205
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:112
206 206
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:112
207 207
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:81
208
-	__( 'Capacity', 'event_espresso' ),
208
+	__('Capacity', 'event_espresso'),
209 209
 
210 210
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:117
211
-	__( 'The maximum number of registrants that can attend the event at this particular date.', 'event_espresso' ),
211
+	__('The maximum number of registrants that can attend the event at this particular date.', 'event_espresso'),
212 212
 
213 213
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:121
214
-	__( 'Set to 0 to close registration or leave blank for no limit.', 'event_espresso' ),
214
+	__('Set to 0 to close registration or leave blank for no limit.', 'event_espresso'),
215 215
 
216 216
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:126
217 217
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:189
218
-	__( 'Trash', 'event_espresso' ),
218
+	__('Trash', 'event_espresso'),
219 219
 
220 220
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:71
221 221
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:45
222 222
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:80
223 223
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:45
224
-	__( 'Basics', 'event_espresso' ),
224
+	__('Basics', 'event_espresso'),
225 225
 
226 226
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:75
227 227
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:49
@@ -229,246 +229,246 @@  discard block
 block discarded – undo
229 229
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:84
230 230
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:49
231 231
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:40
232
-	__( 'Name', 'event_espresso' ),
232
+	__('Name', 'event_espresso'),
233 233
 
234 234
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:80
235 235
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:55
236 236
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:89
237 237
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:55
238 238
 	// Reference: packages/tpc/src/components/table/useHeaderRowGenerator.ts:41
239
-	__( 'Description', 'event_espresso' ),
239
+	__('Description', 'event_espresso'),
240 240
 
241 241
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:88
242 242
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:63
243 243
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:63
244
-	__( 'Dates', 'event_espresso' ),
244
+	__('Dates', 'event_espresso'),
245 245
 
246 246
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:92
247 247
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:51
248 248
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:101
249
-	__( 'Start Date', 'event_espresso' ),
249
+	__('Start Date', 'event_espresso'),
250 250
 
251 251
 	// Reference: domains/eventEditor/src/ui/datetimes/dateForm/useDateFormConfig.ts:98
252 252
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:65
253 253
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:107
254
-	__( 'End Date', 'event_espresso' ),
254
+	__('End Date', 'event_espresso'),
255 255
 
256 256
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/DatesList.tsx:34
257 257
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/TableView.tsx:33
258
-	__( 'Event Dates', 'event_espresso' ),
258
+	__('Event Dates', 'event_espresso'),
259 259
 
260 260
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/DatesList.tsx:37
261
-	__( 'loading event dates…', 'event_espresso' ),
261
+	__('loading event dates…', 'event_espresso'),
262 262
 
263 263
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/DatesListButtons.tsx:23
264
-	__( 'Ticket Assignments', 'event_espresso' ),
264
+	__('Ticket Assignments', 'event_espresso'),
265 265
 
266 266
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/AssignTicketsButton.tsx:25
267
-	__( 'Number of related tickets', 'event_espresso' ),
267
+	__('Number of related tickets', 'event_espresso'),
268 268
 
269 269
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/AssignTicketsButton.tsx:26
270
-	__( 'There are no tickets assigned to this datetime. Please click the ticket icon to update the assignments.', 'event_espresso' ),
270
+	__('There are no tickets assigned to this datetime. Please click the ticket icon to update the assignments.', 'event_espresso'),
271 271
 
272 272
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/AssignTicketsButton.tsx:34
273
-	__( 'assign tickets', 'event_espresso' ),
273
+	__('assign tickets', 'event_espresso'),
274 274
 
275 275
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:19
276
-	__( 'event date main menu', 'event_espresso' ),
276
+	__('event date main menu', 'event_espresso'),
277 277
 
278 278
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:27
279
-	__( 'Permanently delete Datetime?', 'event_espresso' ),
279
+	__('Permanently delete Datetime?', 'event_espresso'),
280 280
 
281 281
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:27
282
-	__( 'Move Datetime to Trash?', 'event_espresso' ),
282
+	__('Move Datetime to Trash?', 'event_espresso'),
283 283
 
284 284
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:29
285
-	__( 'Are you sure you want to permanently delete this datetime? This action is permanent and can not be undone.', 'event_espresso' ),
285
+	__('Are you sure you want to permanently delete this datetime? This action is permanent and can not be undone.', 'event_espresso'),
286 286
 
287 287
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:32
288
-	__( 'Are you sure you want to move this datetime to the trash? You can "untrash" this datetime later if you need to.', 'event_espresso' ),
288
+	__('Are you sure you want to move this datetime to the trash? You can "untrash" this datetime later if you need to.', 'event_espresso'),
289 289
 
290 290
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:41
291 291
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/DeleteTicket.tsx:44
292
-	__( 'delete permanently', 'event_espresso' ),
292
+	__('delete permanently', 'event_espresso'),
293 293
 
294 294
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:41
295
-	__( 'trash datetime', 'event_espresso' ),
295
+	__('trash datetime', 'event_espresso'),
296 296
 
297 297
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:52
298
-	__( 'edit datetime', 'event_espresso' ),
298
+	__('edit datetime', 'event_espresso'),
299 299
 
300 300
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/actionsMenu/dropdown/DateMainMenu.tsx:53
301
-	__( 'copy datetime', 'event_espresso' ),
301
+	__('copy datetime', 'event_espresso'),
302 302
 
303 303
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/actions/Actions.tsx:36
304 304
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/actions/Actions.tsx:39
305 305
 	// Reference: packages/ui-components/src/bulkEdit/BulkActions.tsx:43
306
-	__( 'bulk actions', 'event_espresso' ),
306
+	__('bulk actions', 'event_espresso'),
307 307
 
308 308
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/actions/Actions.tsx:40
309
-	__( 'edit datetime details', 'event_espresso' ),
309
+	__('edit datetime details', 'event_espresso'),
310 310
 
311 311
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/actions/Actions.tsx:44
312
-	__( 'delete datetimes', 'event_espresso' ),
312
+	__('delete datetimes', 'event_espresso'),
313 313
 
314 314
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/actions/Actions.tsx:44
315
-	__( 'trash datetimes', 'event_espresso' ),
315
+	__('trash datetimes', 'event_espresso'),
316 316
 
317 317
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/delete/Delete.tsx:14
318
-	__( 'Are you sure you want to permanently delete these datetimes? This action can NOT be undone!', 'event_espresso' ),
318
+	__('Are you sure you want to permanently delete these datetimes? This action can NOT be undone!', 'event_espresso'),
319 319
 
320 320
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/delete/Delete.tsx:15
321
-	__( 'Are you sure you want to trash these datetimes?', 'event_espresso' ),
321
+	__('Are you sure you want to trash these datetimes?', 'event_espresso'),
322 322
 
323 323
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/delete/Delete.tsx:16
324
-	__( 'Delete datetimes permanently', 'event_espresso' ),
324
+	__('Delete datetimes permanently', 'event_espresso'),
325 325
 
326 326
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/delete/Delete.tsx:16
327
-	__( 'Trash datetimes', 'event_espresso' ),
327
+	__('Trash datetimes', 'event_espresso'),
328 328
 
329 329
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/EditDetails.tsx:21
330
-	__( 'Bulk edit date details', 'event_espresso' ),
330
+	__('Bulk edit date details', 'event_espresso'),
331 331
 
332 332
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/EditDetails.tsx:22
333
-	__( 'any changes will be applied to ALL of the selected dates.', 'event_espresso' ),
333
+	__('any changes will be applied to ALL of the selected dates.', 'event_espresso'),
334 334
 
335 335
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/formValidation.ts:12
336 336
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/formValidation.ts:12
337
-	__( 'Name must be at least three characters', 'event_espresso' ),
337
+	__('Name must be at least three characters', 'event_espresso'),
338 338
 
339 339
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:67
340 340
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:67
341
-	__( 'Shift dates', 'event_espresso' ),
341
+	__('Shift dates', 'event_espresso'),
342 342
 
343 343
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:92
344 344
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:92
345
-	__( 'earlier', 'event_espresso' ),
345
+	__('earlier', 'event_espresso'),
346 346
 
347 347
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/bulkEdit/details/useBulkEditFormConfig.ts:96
348 348
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:96
349
-	__( 'later', 'event_espresso' ),
349
+	__('later', 'event_espresso'),
350 350
 
351 351
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/DateCapacity.tsx:36
352
-	__( 'edit capacity (registration limit)…', 'event_espresso' ),
352
+	__('edit capacity (registration limit)…', 'event_espresso'),
353 353
 
354 354
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/DateCardSidebar.tsx:38
355
-	__( 'Edit Event Date', 'event_espresso' ),
355
+	__('Edit Event Date', 'event_espresso'),
356 356
 
357 357
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/DateCardSidebar.tsx:42
358
-	__( 'edit start and end dates', 'event_espresso' ),
358
+	__('edit start and end dates', 'event_espresso'),
359 359
 
360 360
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/DateDetailsPanel.tsx:15
361 361
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/TicketDetailsPanel.tsx:15
362
-	__( 'sold', 'event_espresso' ),
362
+	__('sold', 'event_espresso'),
363 363
 
364 364
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/DateDetailsPanel.tsx:28
365
-	__( 'capacity', 'event_espresso' ),
365
+	__('capacity', 'event_espresso'),
366 366
 
367 367
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/DateDetailsPanel.tsx:34
368 368
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/TicketDetailsPanel.tsx:33
369
-	__( 'reg list', 'event_espresso' ),
369
+	__('reg list', 'event_espresso'),
370 370
 
371 371
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/Details.tsx:42
372 372
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/Details.tsx:41
373
-	__( 'Edit description', 'event_espresso' ),
373
+	__('Edit description', 'event_espresso'),
374 374
 
375 375
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/cardView/Details.tsx:43
376 376
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/Details.tsx:42
377
-	__( 'edit description…', 'event_espresso' ),
377
+	__('edit description…', 'event_espresso'),
378 378
 
379 379
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:10
380
-	__( 'Move Date to Trash', 'event_espresso' ),
380
+	__('Move Date to Trash', 'event_espresso'),
381 381
 
382 382
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:13
383 383
 	// Reference: packages/constants/src/datetime.ts:6
384
-	__( 'Active', 'event_espresso' ),
384
+	__('Active', 'event_espresso'),
385 385
 
386 386
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:14
387 387
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:13
388
-	__( 'Trashed', 'event_espresso' ),
388
+	__('Trashed', 'event_espresso'),
389 389
 
390 390
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:15
391 391
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:14
392 392
 	// Reference: packages/constants/src/datetime.ts:8
393
-	__( 'Expired', 'event_espresso' ),
393
+	__('Expired', 'event_espresso'),
394 394
 
395 395
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:16
396 396
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:16
397
-	__( 'Sold Out', 'event_espresso' ),
397
+	__('Sold Out', 'event_espresso'),
398 398
 
399 399
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:17
400 400
 	// Reference: packages/constants/src/datetime.ts:12
401
-	__( 'Upcoming', 'event_espresso' ),
401
+	__('Upcoming', 'event_espresso'),
402 402
 
403 403
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:7
404
-	__( 'Edit Event Date Details', 'event_espresso' ),
404
+	__('Edit Event Date Details', 'event_espresso'),
405 405
 
406 406
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:8
407
-	__( 'View Registrations for this Date', 'event_espresso' ),
407
+	__('View Registrations for this Date', 'event_espresso'),
408 408
 
409 409
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/config.ts:9
410
-	__( 'Manage Ticket Assignments', 'event_espresso' ),
410
+	__('Manage Ticket Assignments', 'event_espresso'),
411 411
 
412 412
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/editable/EditableName.tsx:17
413 413
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/editable/EditableName.tsx:28
414
-	__( 'edit title…', 'event_espresso' ),
414
+	__('edit title…', 'event_espresso'),
415 415
 
416 416
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/ActiveDatesFilters.tsx:25
417 417
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/ActiveTicketsFilters.tsx:25
418
-	__( 'ON', 'event_espresso' ),
418
+	__('ON', 'event_espresso'),
419 419
 
420 420
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:10
421
-	__( 'end dates only', 'event_espresso' ),
421
+	__('end dates only', 'event_espresso'),
422 422
 
423 423
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:11
424
-	__( 'start and end dates', 'event_espresso' ),
424
+	__('start and end dates', 'event_espresso'),
425 425
 
426 426
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:16
427
-	__( 'dates above 90% capacity', 'event_espresso' ),
427
+	__('dates above 90% capacity', 'event_espresso'),
428 428
 
429 429
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:17
430
-	__( 'dates above 75% capacity', 'event_espresso' ),
430
+	__('dates above 75% capacity', 'event_espresso'),
431 431
 
432 432
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:18
433
-	__( 'dates above 50% capacity', 'event_espresso' ),
433
+	__('dates above 50% capacity', 'event_espresso'),
434 434
 
435 435
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:19
436
-	__( 'dates below 50% capacity', 'event_espresso' ),
436
+	__('dates below 50% capacity', 'event_espresso'),
437 437
 
438 438
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:23
439
-	__( 'all dates', 'event_espresso' ),
439
+	__('all dates', 'event_espresso'),
440 440
 
441 441
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:24
442
-	__( 'all active and upcoming', 'event_espresso' ),
442
+	__('all active and upcoming', 'event_espresso'),
443 443
 
444 444
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:25
445
-	__( 'active dates only', 'event_espresso' ),
445
+	__('active dates only', 'event_espresso'),
446 446
 
447 447
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:26
448
-	__( 'upcoming dates only', 'event_espresso' ),
448
+	__('upcoming dates only', 'event_espresso'),
449 449
 
450 450
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:27
451
-	__( 'next active or upcoming only', 'event_espresso' ),
451
+	__('next active or upcoming only', 'event_espresso'),
452 452
 
453 453
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:28
454
-	__( 'sold out dates only', 'event_espresso' ),
454
+	__('sold out dates only', 'event_espresso'),
455 455
 
456 456
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:29
457
-	__( 'recently expired dates', 'event_espresso' ),
457
+	__('recently expired dates', 'event_espresso'),
458 458
 
459 459
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:30
460
-	__( 'all expired dates', 'event_espresso' ),
460
+	__('all expired dates', 'event_espresso'),
461 461
 
462 462
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:31
463
-	__( 'trashed dates only', 'event_espresso' ),
463
+	__('trashed dates only', 'event_espresso'),
464 464
 
465 465
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:35
466 466
 	// Reference: packages/dates/src/components/DateRangePicker/DateRangePickerLegend.tsx:9
467 467
 	// Reference: packages/dates/src/components/DateRangePicker/index.tsx:61
468
-	__( 'start date', 'event_espresso' ),
468
+	__('start date', 'event_espresso'),
469 469
 
470 470
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:36
471
-	__( 'name', 'event_espresso' ),
471
+	__('name', 'event_espresso'),
472 472
 
473 473
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:37
474 474
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:31
@@ -476,138 +476,138 @@  discard block
 block discarded – undo
476 476
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/table/HeaderCell.tsx:27
477 477
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:31
478 478
 	// Reference: packages/tpc/src/components/table/useHeaderRowGenerator.ts:23
479
-	__( 'ID', 'event_espresso' ),
479
+	__('ID', 'event_espresso'),
480 480
 
481 481
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:38
482 482
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:47
483
-	__( 'custom order', 'event_espresso' ),
483
+	__('custom order', 'event_espresso'),
484 484
 
485 485
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:42
486 486
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:51
487
-	__( 'display', 'event_espresso' ),
487
+	__('display', 'event_espresso'),
488 488
 
489 489
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:43
490
-	__( 'recurrence', 'event_espresso' ),
490
+	__('recurrence', 'event_espresso'),
491 491
 
492 492
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:44
493 493
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:53
494
-	__( 'sales', 'event_espresso' ),
494
+	__('sales', 'event_espresso'),
495 495
 
496 496
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:45
497 497
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:55
498
-	__( 'sort by', 'event_espresso' ),
498
+	__('sort by', 'event_espresso'),
499 499
 
500 500
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:46
501 501
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:54
502 502
 	// Reference: packages/ee-components/src/EntityList/EntityListFilterBar.tsx:53
503
-	__( 'search', 'event_espresso' ),
503
+	__('search', 'event_espresso'),
504 504
 
505 505
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:47
506 506
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:56
507
-	__( 'status', 'event_espresso' ),
507
+	__('status', 'event_espresso'),
508 508
 
509 509
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/filterBar/controls/options.ts:9
510
-	__( 'start dates only', 'event_espresso' ),
510
+	__('start dates only', 'event_espresso'),
511 511
 
512 512
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/newDateOptions/AddSingleDate.tsx:18
513 513
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/newDateOptions/NewDateModal.tsx:14
514 514
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/newDateOptions/OptionsModalButton.tsx:10
515
-	__( 'Add New Date', 'event_espresso' ),
515
+	__('Add New Date', 'event_espresso'),
516 516
 
517 517
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/newDateOptions/AddSingleDate.tsx:18
518
-	__( 'Add Single Date', 'event_espresso' ),
518
+	__('Add Single Date', 'event_espresso'),
519 519
 
520 520
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/newDateOptions/AddSingleDate.tsx:32
521
-	__( 'Add a single date that only occurs once', 'event_espresso' ),
521
+	__('Add a single date that only occurs once', 'event_espresso'),
522 522
 
523 523
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/newDateOptions/AddSingleDate.tsx:34
524
-	__( 'Single Date', 'event_espresso' ),
524
+	__('Single Date', 'event_espresso'),
525 525
 
526 526
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:106
527
-	__( 'Reg list', 'event_espresso' ),
527
+	__('Reg list', 'event_espresso'),
528 528
 
529 529
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:107
530 530
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:111
531
-	__( 'Regs', 'event_espresso' ),
531
+	__('Regs', 'event_espresso'),
532 532
 
533 533
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:122
534 534
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:126
535 535
 	// Reference: packages/tpc/src/components/table/useHeaderRowGenerator.ts:53
536
-	__( 'Actions', 'event_espresso' ),
536
+	__('Actions', 'event_espresso'),
537 537
 
538 538
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:52
539
-	__( 'Start', 'event_espresso' ),
539
+	__('Start', 'event_espresso'),
540 540
 
541 541
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:66
542
-	__( 'End', 'event_espresso' ),
542
+	__('End', 'event_espresso'),
543 543
 
544 544
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:82
545
-	__( 'Cap', 'event_espresso' ),
545
+	__('Cap', 'event_espresso'),
546 546
 
547 547
 	// Reference: domains/eventEditor/src/ui/datetimes/datesList/tableView/useHeaderRowGenerator.tsx:94
548 548
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:98
549
-	__( 'Sold', 'event_espresso' ),
549
+	__('Sold', 'event_espresso'),
550 550
 
551 551
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/ErrorMessage.tsx:18
552
-	__( 'Tickets must always have at least one date assigned to them but one or more of the tickets below does not have any. 
553
-Please correct the assignments for the highlighted cells.', 'event_espresso' ),
552
+	__('Tickets must always have at least one date assigned to them but one or more of the tickets below does not have any. 
553
+Please correct the assignments for the highlighted cells.', 'event_espresso'),
554 554
 
555 555
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/ErrorMessage.tsx:22
556
-	__( 'Event Dates must always have at least one Ticket assigned to them but one or more of the Event Dates below does not have any. 
557
-Please correct the assignments for the highlighted cells.', 'event_espresso' ),
556
+	__('Event Dates must always have at least one Ticket assigned to them but one or more of the Event Dates below does not have any. 
557
+Please correct the assignments for the highlighted cells.', 'event_espresso'),
558 558
 
559 559
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/ErrorMessage.tsx:32
560
-	__( 'Please Update Assignments', 'event_espresso' ),
560
+	__('Please Update Assignments', 'event_espresso'),
561 561
 
562 562
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/ModalContainer.tsx:26
563
-	__( 'There seem to be some dates/tickets which have no tickets/dates assigned. Do you want to fix them now?', 'event_espresso' ),
563
+	__('There seem to be some dates/tickets which have no tickets/dates assigned. Do you want to fix them now?', 'event_espresso'),
564 564
 
565 565
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/ModalContainer.tsx:29
566 566
 	// Reference: packages/tpc/src/hooks/useLockedTicketAction.ts:74
567 567
 	// Reference: packages/ui-components/src/Modal/ModalWithAlert.tsx:21
568
-	__( 'Alert!', 'event_espresso' ),
568
+	__('Alert!', 'event_espresso'),
569 569
 
570 570
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/ModalContainer.tsx:42
571 571
 	/* translators: 1 entity id, 2 entity name */
572
-	__( 'Ticket Assignment Manager for Datetime: %1$s - %2$s', 'event_espresso' ),
572
+	__('Ticket Assignment Manager for Datetime: %1$s - %2$s', 'event_espresso'),
573 573
 
574 574
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/ModalContainer.tsx:49
575 575
 	/* translators: 1 entity id, 2 entity name */
576
-	__( 'Ticket Assignment Manager for Ticket: %1$s - %2$s', 'event_espresso' ),
576
+	__('Ticket Assignment Manager for Ticket: %1$s - %2$s', 'event_espresso'),
577 577
 
578 578
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/TicketAssignmentsManagerModal.tsx:28
579 579
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/table/Table.tsx:13
580
-	__( 'Ticket Assignment Manager', 'event_espresso' ),
580
+	__('Ticket Assignment Manager', 'event_espresso'),
581 581
 
582 582
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/config.ts:10
583
-	__( 'existing relation', 'event_espresso' ),
583
+	__('existing relation', 'event_espresso'),
584 584
 
585 585
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/config.ts:15
586
-	__( 'remove existing relation', 'event_espresso' ),
586
+	__('remove existing relation', 'event_espresso'),
587 587
 
588 588
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/config.ts:20
589
-	__( 'add new relation', 'event_espresso' ),
589
+	__('add new relation', 'event_espresso'),
590 590
 
591 591
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/config.ts:25
592
-	__( 'invalid relation', 'event_espresso' ),
592
+	__('invalid relation', 'event_espresso'),
593 593
 
594 594
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/config.ts:29
595
-	__( 'no relation', 'event_espresso' ),
595
+	__('no relation', 'event_espresso'),
596 596
 
597 597
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/table/BodyCell.tsx:24
598
-	__( 'assign ticket', 'event_espresso' ),
598
+	__('assign ticket', 'event_espresso'),
599 599
 
600 600
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/table/useGetHeaderRows.tsx:15
601
-	__( 'Assignments', 'event_espresso' ),
601
+	__('Assignments', 'event_espresso'),
602 602
 
603 603
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/table/useGetHeaderRows.tsx:16
604
-	__( 'Event Dates are listed below', 'event_espresso' ),
604
+	__('Event Dates are listed below', 'event_espresso'),
605 605
 
606 606
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/table/useGetHeaderRows.tsx:17
607
-	__( 'Tickets are listed along the top', 'event_espresso' ),
607
+	__('Tickets are listed along the top', 'event_espresso'),
608 608
 
609 609
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/table/useGetHeaderRows.tsx:18
610
-	__( 'Click the cell buttons to toggle assigments', 'event_espresso' ),
610
+	__('Click the cell buttons to toggle assigments', 'event_espresso'),
611 611
 
612 612
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/components/useSubmitButtonProps.ts:29
613 613
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/buttons/FooterButtons.tsx:16
@@ -616,990 +616,990 @@  discard block
 block discarded – undo
616 616
 	// Reference: packages/tpc/src/buttons/useSubmitButtonProps.tsx:29
617 617
 	// Reference: packages/ui-components/src/Modal/useSubmitButtonProps.tsx:13
618 618
 	// Reference: packages/ui-components/src/Stepper/buttons/Submit.tsx:7
619
-	__( 'Submit', 'event_espresso' ),
619
+	__('Submit', 'event_espresso'),
620 620
 
621 621
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/filters/controls/DatesByMonthControl.tsx:19
622
-	__( 'All Dates', 'event_espresso' ),
622
+	__('All Dates', 'event_espresso'),
623 623
 
624 624
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/filters/controls/DatesByMonthControl.tsx:26
625
-	__( 'dates by month', 'event_espresso' ),
625
+	__('dates by month', 'event_espresso'),
626 626
 
627 627
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/filters/controls/ShowExpiredTicketsControl.tsx:15
628
-	__( 'show expired tickets', 'event_espresso' ),
628
+	__('show expired tickets', 'event_espresso'),
629 629
 
630 630
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/filters/controls/ShowTrashedDatesControl.tsx:9
631
-	__( 'show trashed dates', 'event_espresso' ),
631
+	__('show trashed dates', 'event_espresso'),
632 632
 
633 633
 	// Reference: domains/eventEditor/src/ui/ticketAssignmentsManager/filters/controls/ShowTrashedTicketsControl.tsx:15
634
-	__( 'show trashed tickets', 'event_espresso' ),
634
+	__('show trashed tickets', 'event_espresso'),
635 635
 
636 636
 	// Reference: domains/eventEditor/src/ui/tickets/TicketRegistrationsLink.tsx:13
637
-	__( 'total registrations.', 'event_espresso' ),
637
+	__('total registrations.', 'event_espresso'),
638 638
 
639 639
 	// Reference: domains/eventEditor/src/ui/tickets/TicketRegistrationsLink.tsx:14
640
-	__( 'view ALL registrations for this ticket.', 'event_espresso' ),
640
+	__('view ALL registrations for this ticket.', 'event_espresso'),
641 641
 
642 642
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/Container.tsx:38
643 643
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actions/Actions.tsx:17
644
-	__( 'Default tickets', 'event_espresso' ),
644
+	__('Default tickets', 'event_espresso'),
645 645
 
646 646
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/FooterButtons.tsx:26
647 647
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/FooterButtons.tsx:33
648
-	__( 'Set ticket prices', 'event_espresso' ),
648
+	__('Set ticket prices', 'event_espresso'),
649 649
 
650 650
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/FooterButtons.tsx:31
651
-	__( 'Skip prices - Save', 'event_espresso' ),
651
+	__('Skip prices - Save', 'event_espresso'),
652 652
 
653 653
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/FooterButtons.tsx:37
654 654
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/FooterButtons.tsx:57
655
-	__( 'Ticket details', 'event_espresso' ),
655
+	__('Ticket details', 'event_espresso'),
656 656
 
657 657
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/FooterButtons.tsx:38
658
-	__( 'Save', 'event_espresso' ),
658
+	__('Save', 'event_espresso'),
659 659
 
660 660
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/Modal.tsx:26
661 661
 	/* translators: %d ticket id */
662
-	__( 'Edit ticket %d', 'event_espresso' ),
662
+	__('Edit ticket %d', 'event_espresso'),
663 663
 
664 664
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/Modal.tsx:29
665 665
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/Modal.tsx:36
666
-	__( 'New Ticket Details', 'event_espresso' ),
666
+	__('New Ticket Details', 'event_espresso'),
667 667
 
668 668
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/TicketFormSteps.tsx:10
669 669
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/TicketFormSteps.tsx:10
670
-	__( 'primary information about the ticket', 'event_espresso' ),
670
+	__('primary information about the ticket', 'event_espresso'),
671 671
 
672 672
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/TicketFormSteps.tsx:10
673 673
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/TicketFormSteps.tsx:10
674
-	__( 'Ticket Details', 'event_espresso' ),
674
+	__('Ticket Details', 'event_espresso'),
675 675
 
676 676
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/TicketFormSteps.tsx:12
677 677
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/TicketFormSteps.tsx:12
678
-	__( 'apply ticket price modifiers and taxes', 'event_espresso' ),
678
+	__('apply ticket price modifiers and taxes', 'event_espresso'),
679 679
 
680 680
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/TicketFormSteps.tsx:14
681 681
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/TicketFormSteps.tsx:14
682
-	__( 'Price Calculator', 'event_espresso' ),
682
+	__('Price Calculator', 'event_espresso'),
683 683
 
684 684
 	// Reference: domains/eventEditor/src/ui/tickets/defaultTickets/multiStep/TicketFormSteps.tsx:16
685 685
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/TicketFormSteps.tsx:16
686
-	__( 'Assign Dates', 'event_espresso' ),
686
+	__('Assign Dates', 'event_espresso'),
687 687
 
688 688
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/FooterButtons.tsx:39
689
-	__( 'Skip prices - assign dates', 'event_espresso' ),
689
+	__('Skip prices - assign dates', 'event_espresso'),
690 690
 
691 691
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/FooterButtons.tsx:50
692
-	__( 'Save and assign dates', 'event_espresso' ),
692
+	__('Save and assign dates', 'event_espresso'),
693 693
 
694 694
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/multiStep/Modal.tsx:33
695 695
 	/* translators: %s ticket id */
696
-	__( 'Edit ticket %s', 'event_espresso' ),
696
+	__('Edit ticket %s', 'event_espresso'),
697 697
 
698 698
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:121
699 699
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:112
700
-	__( 'Quantity For Sale', 'event_espresso' ),
700
+	__('Quantity For Sale', 'event_espresso'),
701 701
 
702 702
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:127
703
-	__( 'The maximum number of this ticket available for sale.', 'event_espresso' ),
703
+	__('The maximum number of this ticket available for sale.', 'event_espresso'),
704 704
 
705 705
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:129
706
-	__( 'Set to 0 to stop sales, or leave blank for no limit.', 'event_espresso' ),
706
+	__('Set to 0 to stop sales, or leave blank for no limit.', 'event_espresso'),
707 707
 
708 708
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:134
709 709
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:121
710
-	__( 'Number of Uses', 'event_espresso' ),
710
+	__('Number of Uses', 'event_espresso'),
711 711
 
712 712
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:140
713
-	__( 'Controls the total number of times this ticket can be used, regardless of the number of dates it is assigned to.', 'event_espresso' ),
713
+	__('Controls the total number of times this ticket can be used, regardless of the number of dates it is assigned to.', 'event_espresso'),
714 714
 
715 715
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:144
716
-	__( 'Example: A ticket might have access to 4 different dates, but setting this field to 2 would mean that the ticket could only be used twice. Leave blank for no limit.', 'event_espresso' ),
716
+	__('Example: A ticket might have access to 4 different dates, but setting this field to 2 would mean that the ticket could only be used twice. Leave blank for no limit.', 'event_espresso'),
717 717
 
718 718
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:151
719 719
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:129
720
-	__( 'Minimum Quantity', 'event_espresso' ),
720
+	__('Minimum Quantity', 'event_espresso'),
721 721
 
722 722
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:156
723
-	__( 'The minimum quantity that can be selected for this ticket. Use this to create ticket bundles or graduated pricing.', 'event_espresso' ),
723
+	__('The minimum quantity that can be selected for this ticket. Use this to create ticket bundles or graduated pricing.', 'event_espresso'),
724 724
 
725 725
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:160
726
-	__( 'Leave blank for no minimum.', 'event_espresso' ),
726
+	__('Leave blank for no minimum.', 'event_espresso'),
727 727
 
728 728
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:165
729 729
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:137
730
-	__( 'Maximum Quantity', 'event_espresso' ),
730
+	__('Maximum Quantity', 'event_espresso'),
731 731
 
732 732
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:171
733
-	__( 'The maximum quantity that can be selected for this ticket. Use this to create ticket bundles or graduated pricing.', 'event_espresso' ),
733
+	__('The maximum quantity that can be selected for this ticket. Use this to create ticket bundles or graduated pricing.', 'event_espresso'),
734 734
 
735 735
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:175
736
-	__( 'Leave blank for no maximum.', 'event_espresso' ),
736
+	__('Leave blank for no maximum.', 'event_espresso'),
737 737
 
738 738
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:180
739 739
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/useBulkEditFormConfig.ts:146
740
-	__( 'Required Ticket', 'event_espresso' ),
740
+	__('Required Ticket', 'event_espresso'),
741 741
 
742 742
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:182
743
-	__( 'If enabled, the ticket must be selected and will appear first in frontend ticket lists.', 'event_espresso' ),
743
+	__('If enabled, the ticket must be selected and will appear first in frontend ticket lists.', 'event_espresso'),
744 744
 
745 745
 	// Reference: domains/eventEditor/src/ui/tickets/ticketForm/useTicketFormConfig.ts:97
746
-	__( 'Ticket Sales', 'event_espresso' ),
746
+	__('Ticket Sales', 'event_espresso'),
747 747
 
748 748
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/TicketsList.tsx:35
749
-	__( 'Available Tickets', 'event_espresso' ),
749
+	__('Available Tickets', 'event_espresso'),
750 750
 
751 751
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/TicketsList.tsx:38
752
-	__( 'loading tickets…', 'event_espresso' ),
752
+	__('loading tickets…', 'event_espresso'),
753 753
 
754 754
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/AssignDatesButton.tsx:26
755
-	__( 'Number of related dates', 'event_espresso' ),
755
+	__('Number of related dates', 'event_espresso'),
756 756
 
757 757
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/AssignDatesButton.tsx:27
758
-	__( 'There are no event dates assigned to this ticket. Please click the calendar icon to update the assignments.', 'event_espresso' ),
758
+	__('There are no event dates assigned to this ticket. Please click the calendar icon to update the assignments.', 'event_espresso'),
759 759
 
760 760
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/AssignDatesButton.tsx:37
761
-	__( 'assign dates', 'event_espresso' ),
761
+	__('assign dates', 'event_espresso'),
762 762
 
763 763
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/DeleteTicket.tsx:18
764
-	__( 'Permanently delete Ticket?', 'event_espresso' ),
764
+	__('Permanently delete Ticket?', 'event_espresso'),
765 765
 
766 766
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/DeleteTicket.tsx:18
767
-	__( 'Move Ticket to Trash?', 'event_espresso' ),
767
+	__('Move Ticket to Trash?', 'event_espresso'),
768 768
 
769 769
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/DeleteTicket.tsx:21
770
-	__( 'Are you sure you want to permanently delete this ticket? This action is permanent and can not be undone.', 'event_espresso' ),
770
+	__('Are you sure you want to permanently delete this ticket? This action is permanent and can not be undone.', 'event_espresso'),
771 771
 
772 772
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/DeleteTicket.tsx:22
773
-	__( 'Are you sure you want to move this ticket to the trash? You can "untrash" this ticket later if you need to.', 'event_espresso' ),
773
+	__('Are you sure you want to move this ticket to the trash? You can "untrash" this ticket later if you need to.', 'event_espresso'),
774 774
 
775 775
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/DeleteTicket.tsx:44
776 776
 	// Reference: packages/ee-components/src/SimpleTicketCard/actions/Trash.tsx:6
777
-	__( 'trash ticket', 'event_espresso' ),
777
+	__('trash ticket', 'event_espresso'),
778 778
 
779 779
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/TicketMainMenu.tsx:13
780
-	__( 'ticket main menu', 'event_espresso' ),
780
+	__('ticket main menu', 'event_espresso'),
781 781
 
782 782
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/TicketMainMenu.tsx:31
783 783
 	// Reference: packages/ee-components/src/SimpleTicketCard/actions/Edit.tsx:14
784
-	__( 'edit ticket', 'event_espresso' ),
784
+	__('edit ticket', 'event_espresso'),
785 785
 
786 786
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/actionsMenu/dropdown/TicketMainMenu.tsx:32
787
-	__( 'copy ticket', 'event_espresso' ),
787
+	__('copy ticket', 'event_espresso'),
788 788
 
789 789
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/actions/Actions.tsx:43
790
-	__( 'edit ticket details', 'event_espresso' ),
790
+	__('edit ticket details', 'event_espresso'),
791 791
 
792 792
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/actions/Actions.tsx:47
793
-	__( 'delete tickets', 'event_espresso' ),
793
+	__('delete tickets', 'event_espresso'),
794 794
 
795 795
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/actions/Actions.tsx:47
796
-	__( 'trash tickets', 'event_espresso' ),
796
+	__('trash tickets', 'event_espresso'),
797 797
 
798 798
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/actions/Actions.tsx:51
799
-	__( 'edit ticket prices', 'event_espresso' ),
799
+	__('edit ticket prices', 'event_espresso'),
800 800
 
801 801
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/delete/Delete.tsx:14
802
-	__( 'Are you sure you want to permanently delete these tickets? This action can NOT be undone!', 'event_espresso' ),
802
+	__('Are you sure you want to permanently delete these tickets? This action can NOT be undone!', 'event_espresso'),
803 803
 
804 804
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/delete/Delete.tsx:15
805
-	__( 'Are you sure you want to trash these tickets?', 'event_espresso' ),
805
+	__('Are you sure you want to trash these tickets?', 'event_espresso'),
806 806
 
807 807
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/delete/Delete.tsx:16
808
-	__( 'Delete tickets permanently', 'event_espresso' ),
808
+	__('Delete tickets permanently', 'event_espresso'),
809 809
 
810 810
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/delete/Delete.tsx:16
811
-	__( 'Trash tickets', 'event_espresso' ),
811
+	__('Trash tickets', 'event_espresso'),
812 812
 
813 813
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/EditDetails.tsx:21
814
-	__( 'Bulk edit ticket details', 'event_espresso' ),
814
+	__('Bulk edit ticket details', 'event_espresso'),
815 815
 
816 816
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/details/EditDetails.tsx:22
817
-	__( 'any changes will be applied to ALL of the selected tickets.', 'event_espresso' ),
817
+	__('any changes will be applied to ALL of the selected tickets.', 'event_espresso'),
818 818
 
819 819
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/EditPrices.tsx:19
820
-	__( 'Bulk edit ticket prices', 'event_espresso' ),
820
+	__('Bulk edit ticket prices', 'event_espresso'),
821 821
 
822 822
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/buttons/EditModeButtons.tsx:20
823
-	__( 'Edit all prices together', 'event_espresso' ),
823
+	__('Edit all prices together', 'event_espresso'),
824 824
 
825 825
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/buttons/EditModeButtons.tsx:21
826
-	__( 'Edit all the selected ticket prices dynamically', 'event_espresso' ),
826
+	__('Edit all the selected ticket prices dynamically', 'event_espresso'),
827 827
 
828 828
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/buttons/EditModeButtons.tsx:25
829
-	__( 'Edit prices individually', 'event_espresso' ),
829
+	__('Edit prices individually', 'event_espresso'),
830 830
 
831 831
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/buttons/EditModeButtons.tsx:26
832
-	__( 'Edit prices for each ticket individually', 'event_espresso' ),
832
+	__('Edit prices for each ticket individually', 'event_espresso'),
833 833
 
834 834
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/buttons/FooterButtons.tsx:14
835 835
 	// Reference: packages/ee-components/src/bulkEdit/details/Submit.tsx:34
836 836
 	// Reference: packages/form/src/ResetButton.tsx:18
837 837
 	// Reference: packages/tpc/src/buttons/useResetButtonProps.tsx:12
838
-	__( 'Reset', 'event_espresso' ),
838
+	__('Reset', 'event_espresso'),
839 839
 
840 840
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/buttons/FooterButtons.tsx:15
841 841
 	// Reference: packages/tpc/src/hooks/useLockedTicketAction.ts:76
842 842
 	// Reference: packages/ui-components/src/Modal/useCancelButtonProps.tsx:10
843
-	__( 'Cancel', 'event_espresso' ),
843
+	__('Cancel', 'event_espresso'),
844 844
 
845 845
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/bulkEdit/prices/editSeparately/TPCInstance.tsx:26
846 846
 	/* translators: %s ticket name */
847
-	__( 'Edit prices for Ticket: %s', 'event_espresso' ),
847
+	__('Edit prices for Ticket: %s', 'event_espresso'),
848 848
 
849 849
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/TicketCardSidebar.tsx:37
850
-	__( 'Edit Ticket Sale Dates', 'event_espresso' ),
850
+	__('Edit Ticket Sale Dates', 'event_espresso'),
851 851
 
852 852
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/TicketCardSidebar.tsx:41
853
-	__( 'edit ticket sales start and end dates', 'event_espresso' ),
853
+	__('edit ticket sales start and end dates', 'event_espresso'),
854 854
 
855 855
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/TicketDetailsPanel.tsx:28
856
-	__( 'quantity', 'event_espresso' ),
856
+	__('quantity', 'event_espresso'),
857 857
 
858 858
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/cardView/TicketQuantity.tsx:27
859
-	__( 'edit quantity of tickets available…', 'event_espresso' ),
859
+	__('edit quantity of tickets available…', 'event_espresso'),
860 860
 
861 861
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:10
862
-	__( 'Move Ticket to Trash', 'event_espresso' ),
862
+	__('Move Ticket to Trash', 'event_espresso'),
863 863
 
864 864
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:15
865 865
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:52
866
-	__( 'On Sale', 'event_espresso' ),
866
+	__('On Sale', 'event_espresso'),
867 867
 
868 868
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:17
869
-	__( 'Pending', 'event_espresso' ),
869
+	__('Pending', 'event_espresso'),
870 870
 
871 871
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:7
872
-	__( 'Edit Ticket Details', 'event_espresso' ),
872
+	__('Edit Ticket Details', 'event_espresso'),
873 873
 
874 874
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:8
875
-	__( 'Manage Date Assignments', 'event_espresso' ),
875
+	__('Manage Date Assignments', 'event_espresso'),
876 876
 
877 877
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/config.ts:9
878 878
 	// Reference: packages/tpc/src/components/table/Table.tsx:44
879
-	__( 'Ticket Price Calculator', 'event_espresso' ),
879
+	__('Ticket Price Calculator', 'event_espresso'),
880 880
 
881 881
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/editable/EditablePrice.tsx:37
882
-	__( 'edit ticket total…', 'event_espresso' ),
882
+	__('edit ticket total…', 'event_espresso'),
883 883
 
884 884
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/editable/EditablePrice.tsx:51
885
-	__( 'set price…', 'event_espresso' ),
885
+	__('set price…', 'event_espresso'),
886 886
 
887 887
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/IsChainedButton.tsx:23
888
-	__( 'tickets list is linked to dates list and is showing tickets for above dates only', 'event_espresso' ),
888
+	__('tickets list is linked to dates list and is showing tickets for above dates only', 'event_espresso'),
889 889
 
890 890
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/IsChainedButton.tsx:24
891
-	__( 'tickets list is unlinked and is showing tickets for all event dates', 'event_espresso' ),
891
+	__('tickets list is unlinked and is showing tickets for all event dates', 'event_espresso'),
892 892
 
893 893
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:10
894
-	__( 'ticket sales start and end dates', 'event_espresso' ),
894
+	__('ticket sales start and end dates', 'event_espresso'),
895 895
 
896 896
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:15
897
-	__( 'tickets with 90% or more sold', 'event_espresso' ),
897
+	__('tickets with 90% or more sold', 'event_espresso'),
898 898
 
899 899
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:16
900
-	__( 'tickets with 75% or more sold', 'event_espresso' ),
900
+	__('tickets with 75% or more sold', 'event_espresso'),
901 901
 
902 902
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:17
903
-	__( 'tickets with 50% or more sold', 'event_espresso' ),
903
+	__('tickets with 50% or more sold', 'event_espresso'),
904 904
 
905 905
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:19
906
-	__( 'tickets with less than 50% sold', 'event_espresso' ),
906
+	__('tickets with less than 50% sold', 'event_espresso'),
907 907
 
908 908
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:28
909
-	__( 'all tickets for all dates', 'event_espresso' ),
909
+	__('all tickets for all dates', 'event_espresso'),
910 910
 
911 911
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:29
912
-	__( 'all on sale and sale pending', 'event_espresso' ),
912
+	__('all on sale and sale pending', 'event_espresso'),
913 913
 
914 914
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:30
915
-	__( 'on sale tickets only', 'event_espresso' ),
915
+	__('on sale tickets only', 'event_espresso'),
916 916
 
917 917
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:31
918
-	__( 'sale pending tickets only', 'event_espresso' ),
918
+	__('sale pending tickets only', 'event_espresso'),
919 919
 
920 920
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:32
921
-	__( 'next on sale or sale pending only', 'event_espresso' ),
921
+	__('next on sale or sale pending only', 'event_espresso'),
922 922
 
923 923
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:33
924
-	__( 'sold out tickets only', 'event_espresso' ),
924
+	__('sold out tickets only', 'event_espresso'),
925 925
 
926 926
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:34
927
-	__( 'expired tickets only', 'event_espresso' ),
927
+	__('expired tickets only', 'event_espresso'),
928 928
 
929 929
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:35
930
-	__( 'trashed tickets only', 'event_espresso' ),
930
+	__('trashed tickets only', 'event_espresso'),
931 931
 
932 932
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:40
933
-	__( 'all tickets for above dates', 'event_espresso' ),
933
+	__('all tickets for above dates', 'event_espresso'),
934 934
 
935 935
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:44
936
-	__( 'ticket sale date', 'event_espresso' ),
936
+	__('ticket sale date', 'event_espresso'),
937 937
 
938 938
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:45
939
-	__( 'ticket name', 'event_espresso' ),
939
+	__('ticket name', 'event_espresso'),
940 940
 
941 941
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:46
942
-	__( 'ticket ID', 'event_espresso' ),
942
+	__('ticket ID', 'event_espresso'),
943 943
 
944 944
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:52
945
-	__( 'link', 'event_espresso' ),
945
+	__('link', 'event_espresso'),
946 946
 
947 947
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:8
948
-	__( 'ticket sales start date only', 'event_espresso' ),
948
+	__('ticket sales start date only', 'event_espresso'),
949 949
 
950 950
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/filterBar/controls/options.ts:9
951
-	__( 'ticket sales end date only', 'event_espresso' ),
951
+	__('ticket sales end date only', 'event_espresso'),
952 952
 
953 953
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/newTicketOptions/AddSingleTicket.tsx:18
954
-	__( 'Add New Ticket', 'event_espresso' ),
954
+	__('Add New Ticket', 'event_espresso'),
955 955
 
956 956
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/newTicketOptions/AddSingleTicket.tsx:32
957
-	__( 'Add a single ticket and assign the dates to it', 'event_espresso' ),
957
+	__('Add a single ticket and assign the dates to it', 'event_espresso'),
958 958
 
959 959
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/newTicketOptions/AddSingleTicket.tsx:34
960
-	__( 'Single Ticket', 'event_espresso' ),
960
+	__('Single Ticket', 'event_espresso'),
961 961
 
962 962
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/TableView.tsx:39
963
-	__( 'Tickets', 'event_espresso' ),
963
+	__('Tickets', 'event_espresso'),
964 964
 
965 965
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:110
966
-	__( 'Registrations', 'event_espresso' ),
966
+	__('Registrations', 'event_espresso'),
967 967
 
968 968
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:51
969
-	__( 'Goes on Sale', 'event_espresso' ),
969
+	__('Goes on Sale', 'event_espresso'),
970 970
 
971 971
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:65
972
-	__( 'Sale Ends', 'event_espresso' ),
972
+	__('Sale Ends', 'event_espresso'),
973 973
 
974 974
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:66
975
-	__( 'Ends', 'event_espresso' ),
975
+	__('Ends', 'event_espresso'),
976 976
 
977 977
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:78
978
-	__( 'Price', 'event_espresso' ),
978
+	__('Price', 'event_espresso'),
979 979
 
980 980
 	// Reference: domains/eventEditor/src/ui/tickets/ticketsList/tableView/useHeaderRowGenerator.tsx:88
981
-	__( 'Quantity', 'event_espresso' ),
981
+	__('Quantity', 'event_espresso'),
982 982
 
983 983
 	// Reference: domains/wpPluginsPage/src/exitSurvey/Popup.tsx:29
984
-	__( 'Do you have a moment to share why you are deactivating Event Espresso?', 'event_espresso' ),
984
+	__('Do you have a moment to share why you are deactivating Event Espresso?', 'event_espresso'),
985 985
 
986 986
 	// Reference: domains/wpPluginsPage/src/exitSurvey/Popup.tsx:40
987
-	__( 'Skip', 'event_espresso' ),
987
+	__('Skip', 'event_espresso'),
988 988
 
989 989
 	// Reference: domains/wpPluginsPage/src/exitSurvey/Popup.tsx:42
990
-	__( 'Sure I\'ll help', 'event_espresso' ),
990
+	__('Sure I\'ll help', 'event_espresso'),
991 991
 
992 992
 	// Reference: packages/adapters/src/Pagination/Pagination.tsx:23
993
-	__( 'pagination', 'event_espresso' ),
993
+	__('pagination', 'event_espresso'),
994 994
 
995 995
 	// Reference: packages/constants/src/datetime.ts:10
996
-	__( 'Postponed', 'event_espresso' ),
996
+	__('Postponed', 'event_espresso'),
997 997
 
998 998
 	// Reference: packages/constants/src/datetime.ts:11
999
-	__( 'SoldOut', 'event_espresso' ),
999
+	__('SoldOut', 'event_espresso'),
1000 1000
 
1001 1001
 	// Reference: packages/constants/src/datetime.ts:7
1002 1002
 	// Reference: packages/predicates/src/registration/statusOptions.ts:10
1003
-	__( 'Cancelled', 'event_espresso' ),
1003
+	__('Cancelled', 'event_espresso'),
1004 1004
 
1005 1005
 	// Reference: packages/constants/src/datetime.ts:9
1006
-	__( 'Inactive', 'event_espresso' ),
1006
+	__('Inactive', 'event_espresso'),
1007 1007
 
1008 1008
 	// Reference: packages/dates/src/components/DateRangePicker/DateRangePickerLegend.tsx:13
1009
-	__( 'day in range', 'event_espresso' ),
1009
+	__('day in range', 'event_espresso'),
1010 1010
 
1011 1011
 	// Reference: packages/dates/src/components/DateRangePicker/DateRangePickerLegend.tsx:17
1012 1012
 	// Reference: packages/dates/src/components/DateRangePicker/index.tsx:79
1013
-	__( 'end date', 'event_espresso' ),
1013
+	__('end date', 'event_espresso'),
1014 1014
 
1015 1015
 	// Reference: packages/dates/src/components/DateTimePicker.tsx:13
1016 1016
 	// Reference: packages/dates/src/components/TimePicker.tsx:13
1017
-	__( 'time', 'event_espresso' ),
1017
+	__('time', 'event_espresso'),
1018 1018
 
1019 1019
 	// Reference: packages/dates/src/constants.ts:5
1020
-	__( 'End Date & Time must be set later than the Start Date & Time', 'event_espresso' ),
1020
+	__('End Date & Time must be set later than the Start Date & Time', 'event_espresso'),
1021 1021
 
1022 1022
 	// Reference: packages/dates/src/constants.ts:7
1023
-	__( 'Start Date & Time must be set before the End Date & Time', 'event_espresso' ),
1023
+	__('Start Date & Time must be set before the End Date & Time', 'event_espresso'),
1024 1024
 
1025 1025
 	// Reference: packages/dates/src/utils/misc.ts:15
1026
-	__( 'month(s)', 'event_espresso' ),
1026
+	__('month(s)', 'event_espresso'),
1027 1027
 
1028 1028
 	// Reference: packages/dates/src/utils/misc.ts:16
1029
-	__( 'week(s)', 'event_espresso' ),
1029
+	__('week(s)', 'event_espresso'),
1030 1030
 
1031 1031
 	// Reference: packages/dates/src/utils/misc.ts:17
1032
-	__( 'day(s)', 'event_espresso' ),
1032
+	__('day(s)', 'event_espresso'),
1033 1033
 
1034 1034
 	// Reference: packages/dates/src/utils/misc.ts:18
1035
-	__( 'hour(s)', 'event_espresso' ),
1035
+	__('hour(s)', 'event_espresso'),
1036 1036
 
1037 1037
 	// Reference: packages/dates/src/utils/misc.ts:19
1038
-	__( 'minute(s)', 'event_espresso' ),
1038
+	__('minute(s)', 'event_espresso'),
1039 1039
 
1040 1040
 	// Reference: packages/edtr-services/src/apollo/initialization/useCacheRehydration.ts:109
1041
-	__( 'datetimes initialized', 'event_espresso' ),
1041
+	__('datetimes initialized', 'event_espresso'),
1042 1042
 
1043 1043
 	// Reference: packages/edtr-services/src/apollo/initialization/useCacheRehydration.ts:119
1044
-	__( 'tickets initialized', 'event_espresso' ),
1044
+	__('tickets initialized', 'event_espresso'),
1045 1045
 
1046 1046
 	// Reference: packages/edtr-services/src/apollo/initialization/useCacheRehydration.ts:129
1047
-	__( 'prices initialized', 'event_espresso' ),
1047
+	__('prices initialized', 'event_espresso'),
1048 1048
 
1049 1049
 	// Reference: packages/edtr-services/src/apollo/initialization/useCacheRehydration.ts:99
1050
-	__( 'price types initialized', 'event_espresso' ),
1050
+	__('price types initialized', 'event_espresso'),
1051 1051
 
1052 1052
 	// Reference: packages/edtr-services/src/apollo/mutations/useReorderEntities.ts:73
1053
-	__( 'reordering has been applied', 'event_espresso' ),
1053
+	__('reordering has been applied', 'event_espresso'),
1054 1054
 
1055 1055
 	// Reference: packages/edtr-services/src/utils/dateAndTime.ts:38
1056 1056
 	// Reference: packages/ui-components/src/EditDateRangeButton/EditDateRangeButton.tsx:39
1057
-	__( 'End date has been adjusted', 'event_espresso' ),
1057
+	__('End date has been adjusted', 'event_espresso'),
1058 1058
 
1059 1059
 	// Reference: packages/edtr-services/src/utils/dateAndTime.ts:59
1060
-	__( 'Required', 'event_espresso' ),
1060
+	__('Required', 'event_espresso'),
1061 1061
 
1062 1062
 	// Reference: packages/edtr-services/src/utils/dateAndTime.ts:64
1063
-	__( 'Start Date is required', 'event_espresso' ),
1063
+	__('Start Date is required', 'event_espresso'),
1064 1064
 
1065 1065
 	// Reference: packages/edtr-services/src/utils/dateAndTime.ts:68
1066
-	__( 'End Date is required', 'event_espresso' ),
1066
+	__('End Date is required', 'event_espresso'),
1067 1067
 
1068 1068
 	// Reference: packages/ee-components/src/EntityList/EntityList.tsx:31
1069
-	__( 'no results found', 'event_espresso' ),
1069
+	__('no results found', 'event_espresso'),
1070 1070
 
1071 1071
 	// Reference: packages/ee-components/src/EntityList/EntityList.tsx:32
1072
-	__( 'try changing filter settings', 'event_espresso' ),
1072
+	__('try changing filter settings', 'event_espresso'),
1073 1073
 
1074 1074
 	// Reference: packages/ee-components/src/SimpleTicketCard/SimpleTicketCard.tsx:25
1075 1075
 	// Reference: packages/ui-components/src/CalendarDateSwitcher/CalendarDateSwitcher.tsx:34
1076
-	__( 'starts', 'event_espresso' ),
1076
+	__('starts', 'event_espresso'),
1077 1077
 
1078 1078
 	// Reference: packages/ee-components/src/SimpleTicketCard/SimpleTicketCard.tsx:32
1079 1079
 	// Reference: packages/ui-components/src/CalendarDateSwitcher/CalendarDateSwitcher.tsx:47
1080
-	__( 'ends', 'event_espresso' ),
1080
+	__('ends', 'event_espresso'),
1081 1081
 
1082 1082
 	// Reference: packages/ee-components/src/bulkEdit/ActionCheckbox.tsx:38
1083 1083
 	/* translators: %d entity id */
1084
-	__( 'select entity with id %d', 'event_espresso' ),
1084
+	__('select entity with id %d', 'event_espresso'),
1085 1085
 
1086 1086
 	// Reference: packages/ee-components/src/bulkEdit/ActionCheckbox.tsx:41
1087
-	__( 'select all entities', 'event_espresso' ),
1087
+	__('select all entities', 'event_espresso'),
1088 1088
 
1089 1089
 	// Reference: packages/ee-components/src/bulkEdit/details/BulkEditDetails.tsx:20
1090
-	__( 'Note: ', 'event_espresso' ),
1090
+	__('Note: ', 'event_espresso'),
1091 1091
 
1092 1092
 	// Reference: packages/ee-components/src/bulkEdit/details/BulkEditDetails.tsx:20
1093
-	__( 'any changes will be applied to ALL of the selected entities.', 'event_espresso' ),
1093
+	__('any changes will be applied to ALL of the selected entities.', 'event_espresso'),
1094 1094
 
1095 1095
 	// Reference: packages/ee-components/src/bulkEdit/details/BulkEditDetails.tsx:26
1096
-	__( 'Bulk edit details', 'event_espresso' ),
1096
+	__('Bulk edit details', 'event_espresso'),
1097 1097
 
1098 1098
 	// Reference: packages/ee-components/src/bulkEdit/details/Submit.tsx:17
1099
-	__( 'Are you sure you want to bulk update the details?', 'event_espresso' ),
1099
+	__('Are you sure you want to bulk update the details?', 'event_espresso'),
1100 1100
 
1101 1101
 	// Reference: packages/ee-components/src/bulkEdit/details/Submit.tsx:18
1102
-	__( 'Bulk update details', 'event_espresso' ),
1102
+	__('Bulk update details', 'event_espresso'),
1103 1103
 
1104 1104
 	// Reference: packages/ee-components/src/filterBar/SortByControl/index.tsx:26
1105
-	__( 'reorder dates', 'event_espresso' ),
1105
+	__('reorder dates', 'event_espresso'),
1106 1106
 
1107 1107
 	// Reference: packages/ee-components/src/filterBar/SortByControl/index.tsx:26
1108
-	__( 'reorder tickets', 'event_espresso' ),
1108
+	__('reorder tickets', 'event_espresso'),
1109 1109
 
1110 1110
 	// Reference: packages/form/src/renderers/RepeatableRenderer.tsx:36
1111 1111
 	/* translators: %d the entry number */
1112
-	__( 'Entry %d', 'event_espresso' ),
1112
+	__('Entry %d', 'event_espresso'),
1113 1113
 
1114 1114
 	// Reference: packages/form/src/renderers/RepeatableRenderer.tsx:52
1115 1115
 	// Reference: packages/ui-components/src/SimpleEntityList/EntityTemplate.tsx:27
1116
-	__( 'Add', 'event_espresso' ),
1116
+	__('Add', 'event_espresso'),
1117 1117
 
1118 1118
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:11
1119 1119
 	// Reference: packages/helpers/src/tickets/getStatusTextLabel.ts:17
1120
-	__( 'sold out', 'event_espresso' ),
1120
+	__('sold out', 'event_espresso'),
1121 1121
 
1122 1122
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:14
1123 1123
 	// Reference: packages/helpers/src/tickets/getStatusTextLabel.ts:14
1124
-	__( 'expired', 'event_espresso' ),
1124
+	__('expired', 'event_espresso'),
1125 1125
 
1126 1126
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:17
1127
-	__( 'upcoming', 'event_espresso' ),
1127
+	__('upcoming', 'event_espresso'),
1128 1128
 
1129 1129
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:20
1130
-	__( 'active', 'event_espresso' ),
1130
+	__('active', 'event_espresso'),
1131 1131
 
1132 1132
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:23
1133 1133
 	// Reference: packages/helpers/src/tickets/getStatusTextLabel.ts:11
1134
-	__( 'trashed', 'event_espresso' ),
1134
+	__('trashed', 'event_espresso'),
1135 1135
 
1136 1136
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:26
1137
-	__( 'cancelled', 'event_espresso' ),
1137
+	__('cancelled', 'event_espresso'),
1138 1138
 
1139 1139
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:29
1140
-	__( 'postponed', 'event_espresso' ),
1140
+	__('postponed', 'event_espresso'),
1141 1141
 
1142 1142
 	// Reference: packages/helpers/src/datetimes/getStatusTextLabel.ts:33
1143
-	__( 'inactive', 'event_espresso' ),
1143
+	__('inactive', 'event_espresso'),
1144 1144
 
1145 1145
 	// Reference: packages/helpers/src/tickets/getStatusTextLabel.ts:20
1146
-	__( 'pending', 'event_espresso' ),
1146
+	__('pending', 'event_espresso'),
1147 1147
 
1148 1148
 	// Reference: packages/helpers/src/tickets/getStatusTextLabel.ts:23
1149
-	__( 'on sale', 'event_espresso' ),
1149
+	__('on sale', 'event_espresso'),
1150 1150
 
1151 1151
 	// Reference: packages/predicates/src/registration/statusOptions.ts:14
1152
-	__( 'Declined', 'event_espresso' ),
1152
+	__('Declined', 'event_espresso'),
1153 1153
 
1154 1154
 	// Reference: packages/predicates/src/registration/statusOptions.ts:18
1155
-	__( 'Incomplete', 'event_espresso' ),
1155
+	__('Incomplete', 'event_espresso'),
1156 1156
 
1157 1157
 	// Reference: packages/predicates/src/registration/statusOptions.ts:22
1158
-	__( 'Not Approved', 'event_espresso' ),
1158
+	__('Not Approved', 'event_espresso'),
1159 1159
 
1160 1160
 	// Reference: packages/predicates/src/registration/statusOptions.ts:26
1161
-	__( 'Pending Payment', 'event_espresso' ),
1161
+	__('Pending Payment', 'event_espresso'),
1162 1162
 
1163 1163
 	// Reference: packages/predicates/src/registration/statusOptions.ts:30
1164
-	__( 'Wait List', 'event_espresso' ),
1164
+	__('Wait List', 'event_espresso'),
1165 1165
 
1166 1166
 	// Reference: packages/predicates/src/registration/statusOptions.ts:6
1167
-	__( 'Approved', 'event_espresso' ),
1167
+	__('Approved', 'event_espresso'),
1168 1168
 
1169 1169
 	// Reference: packages/rich-text-editor/src/components/AdvancedTextEditor/toolbarButtons/WPMedia.tsx:10
1170 1170
 	// Reference: packages/rich-text-editor/src/rte-old/components/toolbarButtons/WPMedia.tsx:12
1171
-	__( 'Select', 'event_espresso' ),
1171
+	__('Select', 'event_espresso'),
1172 1172
 
1173 1173
 	// Reference: packages/rich-text-editor/src/components/AdvancedTextEditor/toolbarButtons/WPMedia.tsx:8
1174 1174
 	// Reference: packages/rich-text-editor/src/rte-old/components/toolbarButtons/WPMedia.tsx:10
1175
-	__( 'Select media', 'event_espresso' ),
1175
+	__('Select media', 'event_espresso'),
1176 1176
 
1177 1177
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/RichTextEditor.tsx:81
1178
-	__( 'Write something…', 'event_espresso' ),
1178
+	__('Write something…', 'event_espresso'),
1179 1179
 
1180 1180
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/Toolbar.tsx:20
1181
-	__( 'RTE Toolbar', 'event_espresso' ),
1181
+	__('RTE Toolbar', 'event_espresso'),
1182 1182
 
1183 1183
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:11
1184
-	__( 'Normal', 'event_espresso' ),
1184
+	__('Normal', 'event_espresso'),
1185 1185
 
1186 1186
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:12
1187
-	__( 'H1', 'event_espresso' ),
1187
+	__('H1', 'event_espresso'),
1188 1188
 
1189 1189
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:13
1190
-	__( 'H2', 'event_espresso' ),
1190
+	__('H2', 'event_espresso'),
1191 1191
 
1192 1192
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:14
1193
-	__( 'H3', 'event_espresso' ),
1193
+	__('H3', 'event_espresso'),
1194 1194
 
1195 1195
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:15
1196
-	__( 'H4', 'event_espresso' ),
1196
+	__('H4', 'event_espresso'),
1197 1197
 
1198 1198
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:16
1199
-	__( 'H5', 'event_espresso' ),
1199
+	__('H5', 'event_espresso'),
1200 1200
 
1201 1201
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:17
1202
-	__( 'H6', 'event_espresso' ),
1202
+	__('H6', 'event_espresso'),
1203 1203
 
1204 1204
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:18
1205
-	__( 'Block quote', 'event_espresso' ),
1205
+	__('Block quote', 'event_espresso'),
1206 1206
 
1207 1207
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/blockType/Component.tsx:19
1208
-	__( 'Code', 'event_espresso' ),
1208
+	__('Code', 'event_espresso'),
1209 1209
 
1210 1210
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/colorPicker/Component.tsx:34
1211
-	__( 'Set color', 'event_espresso' ),
1211
+	__('Set color', 'event_espresso'),
1212 1212
 
1213 1213
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/colorPicker/Component.tsx:40
1214
-	__( 'Text color', 'event_espresso' ),
1214
+	__('Text color', 'event_espresso'),
1215 1215
 
1216 1216
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/colorPicker/Component.tsx:42
1217
-	__( 'Background color', 'event_espresso' ),
1217
+	__('Background color', 'event_espresso'),
1218 1218
 
1219 1219
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/image/Component.tsx:33
1220
-	__( 'Add image', 'event_espresso' ),
1220
+	__('Add image', 'event_espresso'),
1221 1221
 
1222 1222
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/image/Component.tsx:42
1223
-	__( 'Image URL', 'event_espresso' ),
1223
+	__('Image URL', 'event_espresso'),
1224 1224
 
1225 1225
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/image/Component.tsx:46
1226
-	__( 'Alt text', 'event_espresso' ),
1226
+	__('Alt text', 'event_espresso'),
1227 1227
 
1228 1228
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/image/Component.tsx:47
1229
-	__( 'Width', 'event_espresso' ),
1229
+	__('Width', 'event_espresso'),
1230 1230
 
1231 1231
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/image/Component.tsx:51
1232
-	__( 'Height', 'event_espresso' ),
1232
+	__('Height', 'event_espresso'),
1233 1233
 
1234 1234
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/link/Component.tsx:48
1235
-	__( 'Edit link', 'event_espresso' ),
1235
+	__('Edit link', 'event_espresso'),
1236 1236
 
1237 1237
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/link/Component.tsx:54
1238
-	__( 'URL title', 'event_espresso' ),
1238
+	__('URL title', 'event_espresso'),
1239 1239
 
1240 1240
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/list/Component.tsx:11
1241
-	__( 'Unordered list', 'event_espresso' ),
1241
+	__('Unordered list', 'event_espresso'),
1242 1242
 
1243 1243
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/list/Component.tsx:12
1244
-	__( 'Ordered list', 'event_espresso' ),
1244
+	__('Ordered list', 'event_espresso'),
1245 1245
 
1246 1246
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/list/Component.tsx:13
1247 1247
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/textAlign/Component.tsx:13
1248
-	__( 'Indent', 'event_espresso' ),
1248
+	__('Indent', 'event_espresso'),
1249 1249
 
1250 1250
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/list/Component.tsx:14
1251 1251
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/textAlign/Component.tsx:14
1252
-	__( 'Outdent', 'event_espresso' ),
1252
+	__('Outdent', 'event_espresso'),
1253 1253
 
1254 1254
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/textAlign/Component.tsx:11
1255
-	__( 'Unordered textalign', 'event_espresso' ),
1255
+	__('Unordered textalign', 'event_espresso'),
1256 1256
 
1257 1257
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/Toolbar/controls/textAlign/Component.tsx:12
1258
-	__( 'Ordered textalign', 'event_espresso' ),
1258
+	__('Ordered textalign', 'event_espresso'),
1259 1259
 
1260 1260
 	// Reference: packages/rich-text-editor/src/components/RichTextEditor/render/Image/Toolbar.tsx:30
1261
-	__( 'Image toolbar', 'event_espresso' ),
1261
+	__('Image toolbar', 'event_espresso'),
1262 1262
 
1263 1263
 	// Reference: packages/rich-text-editor/src/components/WithEditMode/WithEditMode.tsx:59
1264 1264
 	// Reference: packages/rich-text-editor/src/rte-old/components/RTEWithEditMode/RTEWithEditMode.tsx:33
1265
-	__( 'Visual editor', 'event_espresso' ),
1265
+	__('Visual editor', 'event_espresso'),
1266 1266
 
1267 1267
 	// Reference: packages/rich-text-editor/src/components/WithEditMode/WithEditMode.tsx:60
1268 1268
 	// Reference: packages/rich-text-editor/src/rte-old/components/RTEWithEditMode/RTEWithEditMode.tsx:34
1269
-	__( 'HTML editor', 'event_espresso' ),
1269
+	__('HTML editor', 'event_espresso'),
1270 1270
 
1271 1271
 	// Reference: packages/rich-text-editor/src/rte-old/components/toolbarButtons/WPMedia.tsx:68
1272
-	__( 'Add Media', 'event_espresso' ),
1272
+	__('Add Media', 'event_espresso'),
1273 1273
 
1274 1274
 	// Reference: packages/tpc/src/buttons/AddPriceModifierButton.tsx:14
1275
-	__( 'add new price modifier after this row', 'event_espresso' ),
1275
+	__('add new price modifier after this row', 'event_espresso'),
1276 1276
 
1277 1277
 	// Reference: packages/tpc/src/buttons/DeleteAllPricesButton.tsx:14
1278
-	__( 'Delete all prices', 'event_espresso' ),
1278
+	__('Delete all prices', 'event_espresso'),
1279 1279
 
1280 1280
 	// Reference: packages/tpc/src/buttons/DeleteAllPricesButton.tsx:27
1281
-	__( 'Are you sure you want to delete all of this ticket\'s prices and make it free? This action is permanent and can not be undone.', 'event_espresso' ),
1281
+	__('Are you sure you want to delete all of this ticket\'s prices and make it free? This action is permanent and can not be undone.', 'event_espresso'),
1282 1282
 
1283 1283
 	// Reference: packages/tpc/src/buttons/DeleteAllPricesButton.tsx:31
1284
-	__( 'Delete all prices?', 'event_espresso' ),
1284
+	__('Delete all prices?', 'event_espresso'),
1285 1285
 
1286 1286
 	// Reference: packages/tpc/src/buttons/DeletePriceModifierButton.tsx:12
1287
-	__( 'delete price modifier', 'event_espresso' ),
1287
+	__('delete price modifier', 'event_espresso'),
1288 1288
 
1289 1289
 	// Reference: packages/tpc/src/buttons/ReverseCalculateButton.tsx:14
1290
-	__( 'Ticket base price is being reverse calculated from bottom to top starting with the ticket total. Entering a new ticket total will reverse calculate the ticket base price after applying all price modifiers in reverse. Click to turn off reverse calculations', 'event_espresso' ),
1290
+	__('Ticket base price is being reverse calculated from bottom to top starting with the ticket total. Entering a new ticket total will reverse calculate the ticket base price after applying all price modifiers in reverse. Click to turn off reverse calculations', 'event_espresso'),
1291 1291
 
1292 1292
 	// Reference: packages/tpc/src/buttons/ReverseCalculateButton.tsx:17
1293
-	__( 'Ticket total is being calculated normally from top to bottom starting from the base price. Entering a new ticket base price will recalculate the ticket total after applying all price modifiers. Click to turn on reverse calculations', 'event_espresso' ),
1293
+	__('Ticket total is being calculated normally from top to bottom starting from the base price. Entering a new ticket base price will recalculate the ticket total after applying all price modifiers. Click to turn on reverse calculations', 'event_espresso'),
1294 1294
 
1295 1295
 	// Reference: packages/tpc/src/buttons/TicketPriceCalculatorButton.tsx:28
1296
-	__( 'ticket price calculator', 'event_espresso' ),
1296
+	__('ticket price calculator', 'event_espresso'),
1297 1297
 
1298 1298
 	// Reference: packages/tpc/src/buttons/taxes/AddDefaultTaxesButton.tsx:9
1299
-	__( 'Add default taxes', 'event_espresso' ),
1299
+	__('Add default taxes', 'event_espresso'),
1300 1300
 
1301 1301
 	// Reference: packages/tpc/src/buttons/taxes/RemoveTaxesButton.tsx:10
1302
-	__( 'Are you sure you want to remove all of this ticket\'s taxes?', 'event_espresso' ),
1302
+	__('Are you sure you want to remove all of this ticket\'s taxes?', 'event_espresso'),
1303 1303
 
1304 1304
 	// Reference: packages/tpc/src/buttons/taxes/RemoveTaxesButton.tsx:14
1305
-	__( 'Remove all taxes?', 'event_espresso' ),
1305
+	__('Remove all taxes?', 'event_espresso'),
1306 1306
 
1307 1307
 	// Reference: packages/tpc/src/buttons/taxes/RemoveTaxesButton.tsx:7
1308
-	__( 'Remove taxes', 'event_espresso' ),
1308
+	__('Remove taxes', 'event_espresso'),
1309 1309
 
1310 1310
 	// Reference: packages/tpc/src/components/DefaultPricesInfo.tsx:29
1311
-	__( 'Modify default prices.', 'event_espresso' ),
1311
+	__('Modify default prices.', 'event_espresso'),
1312 1312
 
1313 1313
 	// Reference: packages/tpc/src/components/DefaultTaxesInfo.tsx:29
1314
-	__( 'New default taxes are available. Click the - Add default taxes - button to add them now.', 'event_espresso' ),
1314
+	__('New default taxes are available. Click the - Add default taxes - button to add them now.', 'event_espresso'),
1315 1315
 
1316 1316
 	// Reference: packages/tpc/src/components/LockedTicketsBanner.tsx:12
1317
-	__( 'Editing of prices is disabled', 'event_espresso' ),
1317
+	__('Editing of prices is disabled', 'event_espresso'),
1318 1318
 
1319 1319
 	// Reference: packages/tpc/src/components/NoPricesBanner/AddDefaultPricesButton.tsx:9
1320
-	__( 'Add default prices', 'event_espresso' ),
1320
+	__('Add default prices', 'event_espresso'),
1321 1321
 
1322 1322
 	// Reference: packages/tpc/src/components/NoPricesBanner/index.tsx:13
1323
-	__( 'This Ticket is Currently Free', 'event_espresso' ),
1323
+	__('This Ticket is Currently Free', 'event_espresso'),
1324 1324
 
1325 1325
 	// Reference: packages/tpc/src/components/NoPricesBanner/index.tsx:21
1326 1326
 	/* translators: %s default prices */
1327
-	__( 'Click the button below to load your %s into the calculator.', 'event_espresso' ),
1327
+	__('Click the button below to load your %s into the calculator.', 'event_espresso'),
1328 1328
 
1329 1329
 	// Reference: packages/tpc/src/components/NoPricesBanner/index.tsx:22
1330
-	__( 'default prices', 'event_espresso' ),
1330
+	__('default prices', 'event_espresso'),
1331 1331
 
1332 1332
 	// Reference: packages/tpc/src/components/NoPricesBanner/index.tsx:29
1333
-	__( 'Additional ticket price modifiers can be added or removed.', 'event_espresso' ),
1333
+	__('Additional ticket price modifiers can be added or removed.', 'event_espresso'),
1334 1334
 
1335 1335
 	// Reference: packages/tpc/src/components/NoPricesBanner/index.tsx:32
1336
-	__( 'Click the save button below to assign which dates this ticket will be available for purchase on.', 'event_espresso' ),
1336
+	__('Click the save button below to assign which dates this ticket will be available for purchase on.', 'event_espresso'),
1337 1337
 
1338 1338
 	// Reference: packages/tpc/src/components/TicketPriceCalculatorModal.tsx:32
1339 1339
 	/* translators: %s ticket name */
1340
-	__( 'Price Calculator for Ticket: %s', 'event_espresso' ),
1340
+	__('Price Calculator for Ticket: %s', 'event_espresso'),
1341 1341
 
1342 1342
 	// Reference: packages/tpc/src/components/table/useFooterRowGenerator.tsx:42
1343
-	__( 'Total', 'event_espresso' ),
1343
+	__('Total', 'event_espresso'),
1344 1344
 
1345 1345
 	// Reference: packages/tpc/src/components/table/useFooterRowGenerator.tsx:51
1346
-	__( 'ticket total', 'event_espresso' ),
1346
+	__('ticket total', 'event_espresso'),
1347 1347
 
1348 1348
 	// Reference: packages/tpc/src/components/table/useHeaderRowGenerator.ts:29
1349
-	__( 'Price Type', 'event_espresso' ),
1349
+	__('Price Type', 'event_espresso'),
1350 1350
 
1351 1351
 	// Reference: packages/tpc/src/components/table/useHeaderRowGenerator.ts:35
1352
-	__( 'Label', 'event_espresso' ),
1352
+	__('Label', 'event_espresso'),
1353 1353
 
1354 1354
 	// Reference: packages/tpc/src/components/table/useHeaderRowGenerator.ts:47
1355
-	__( 'Amount', 'event_espresso' ),
1355
+	__('Amount', 'event_espresso'),
1356 1356
 
1357 1357
 	// Reference: packages/tpc/src/hooks/useLockedTicketAction.ts:22
1358
-	__( 'Copy ticket', 'event_espresso' ),
1358
+	__('Copy ticket', 'event_espresso'),
1359 1359
 
1360 1360
 	// Reference: packages/tpc/src/hooks/useLockedTicketAction.ts:26
1361
-	__( 'Copy and archive this ticket', 'event_espresso' ),
1361
+	__('Copy and archive this ticket', 'event_espresso'),
1362 1362
 
1363 1363
 	// Reference: packages/tpc/src/hooks/useLockedTicketAction.ts:29
1364
-	__( 'OK', 'event_espresso' ),
1364
+	__('OK', 'event_espresso'),
1365 1365
 
1366 1366
 	// Reference: packages/tpc/src/inputs/PriceAmountInput.tsx:30
1367
-	__( 'amount', 'event_espresso' ),
1367
+	__('amount', 'event_espresso'),
1368 1368
 
1369 1369
 	// Reference: packages/tpc/src/inputs/PriceAmountInput.tsx:41
1370
-	__( 'amount…', 'event_espresso' ),
1370
+	__('amount…', 'event_espresso'),
1371 1371
 
1372 1372
 	// Reference: packages/tpc/src/inputs/PriceDescriptionInput.tsx:14
1373
-	__( 'description…', 'event_espresso' ),
1373
+	__('description…', 'event_espresso'),
1374 1374
 
1375 1375
 	// Reference: packages/tpc/src/inputs/PriceDescriptionInput.tsx:9
1376
-	__( 'price description', 'event_espresso' ),
1376
+	__('price description', 'event_espresso'),
1377 1377
 
1378 1378
 	// Reference: packages/tpc/src/inputs/PriceIdInput.tsx:7
1379
-	__( 'price id', 'event_espresso' ),
1379
+	__('price id', 'event_espresso'),
1380 1380
 
1381 1381
 	// Reference: packages/tpc/src/inputs/PriceNameInput.tsx:13
1382
-	__( 'label…', 'event_espresso' ),
1382
+	__('label…', 'event_espresso'),
1383 1383
 
1384 1384
 	// Reference: packages/tpc/src/inputs/PriceNameInput.tsx:8
1385
-	__( 'price name', 'event_espresso' ),
1385
+	__('price name', 'event_espresso'),
1386 1386
 
1387 1387
 	// Reference: packages/tpc/src/inputs/PriceTypeInput.tsx:19
1388
-	__( 'price type', 'event_espresso' ),
1388
+	__('price type', 'event_espresso'),
1389 1389
 
1390 1390
 	// Reference: packages/tpc/src/utils/constants.ts:13
1391
-	__( 'Ticket price modifications are blocked for Tickets that have already been sold to registrants, because doing so would negatively affect internal accounting for the event. If you still need to modify ticket prices, then create a copy of those tickets, edit the prices for the new tickets, and then trash the old tickets.', 'event_espresso' ),
1391
+	__('Ticket price modifications are blocked for Tickets that have already been sold to registrants, because doing so would negatively affect internal accounting for the event. If you still need to modify ticket prices, then create a copy of those tickets, edit the prices for the new tickets, and then trash the old tickets.', 'event_espresso'),
1392 1392
 
1393 1393
 	// Reference: packages/ui-components/src/ActiveFilters/ActiveFilters.tsx:8
1394
-	__( 'active filters:', 'event_espresso' ),
1394
+	__('active filters:', 'event_espresso'),
1395 1395
 
1396 1396
 	// Reference: packages/ui-components/src/ActiveFilters/FilterTag.tsx:10
1397 1397
 	/* translators: %s filter name */
1398
-	__( 'remove filter - %s', 'event_espresso' ),
1398
+	__('remove filter - %s', 'event_espresso'),
1399 1399
 
1400 1400
 	// Reference: packages/ui-components/src/CalendarDateRange/CalendarDateRange.tsx:37
1401
-	__( 'to', 'event_espresso' ),
1401
+	__('to', 'event_espresso'),
1402 1402
 
1403 1403
 	// Reference: packages/ui-components/src/CalendarPageDate/CalendarPageDate.tsx:54
1404
-	__( 'TO', 'event_espresso' ),
1404
+	__('TO', 'event_espresso'),
1405 1405
 
1406 1406
 	// Reference: packages/ui-components/src/ColorPicker/ColorPicker.tsx:60
1407
-	__( 'Custom color', 'event_espresso' ),
1407
+	__('Custom color', 'event_espresso'),
1408 1408
 
1409 1409
 	// Reference: packages/ui-components/src/ColorPicker/Swatch.tsx:23
1410 1410
 	/* translators: color name */
1411
-	__( 'Color: %s', 'event_espresso' ),
1411
+	__('Color: %s', 'event_espresso'),
1412 1412
 
1413 1413
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:13
1414
-	__( 'Cyan bluish gray', 'event_espresso' ),
1414
+	__('Cyan bluish gray', 'event_espresso'),
1415 1415
 
1416 1416
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:17
1417
-	__( 'White', 'event_espresso' ),
1417
+	__('White', 'event_espresso'),
1418 1418
 
1419 1419
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:21
1420
-	__( 'Pale pink', 'event_espresso' ),
1420
+	__('Pale pink', 'event_espresso'),
1421 1421
 
1422 1422
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:25
1423
-	__( 'Vivid red', 'event_espresso' ),
1423
+	__('Vivid red', 'event_espresso'),
1424 1424
 
1425 1425
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:29
1426
-	__( 'Luminous vivid orange', 'event_espresso' ),
1426
+	__('Luminous vivid orange', 'event_espresso'),
1427 1427
 
1428 1428
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:33
1429
-	__( 'Luminous vivid amber', 'event_espresso' ),
1429
+	__('Luminous vivid amber', 'event_espresso'),
1430 1430
 
1431 1431
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:37
1432
-	__( 'Light green cyan', 'event_espresso' ),
1432
+	__('Light green cyan', 'event_espresso'),
1433 1433
 
1434 1434
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:41
1435
-	__( 'Vivid green cyan', 'event_espresso' ),
1435
+	__('Vivid green cyan', 'event_espresso'),
1436 1436
 
1437 1437
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:45
1438
-	__( 'Pale cyan blue', 'event_espresso' ),
1438
+	__('Pale cyan blue', 'event_espresso'),
1439 1439
 
1440 1440
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:49
1441
-	__( 'Vivid cyan blue', 'event_espresso' ),
1441
+	__('Vivid cyan blue', 'event_espresso'),
1442 1442
 
1443 1443
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:53
1444
-	__( 'Vivid purple', 'event_espresso' ),
1444
+	__('Vivid purple', 'event_espresso'),
1445 1445
 
1446 1446
 	// Reference: packages/ui-components/src/ColorPicker/constants.ts:9
1447
-	__( 'Black', 'event_espresso' ),
1447
+	__('Black', 'event_espresso'),
1448 1448
 
1449 1449
 	// Reference: packages/ui-components/src/Confirm/ConfirmClose.tsx:7
1450 1450
 	// Reference: packages/ui-components/src/Modal/ModalWithAlert.tsx:22
1451
-	__( 'Are you sure you want to close this?', 'event_espresso' ),
1451
+	__('Are you sure you want to close this?', 'event_espresso'),
1452 1452
 
1453 1453
 	// Reference: packages/ui-components/src/Confirm/ConfirmDelete.tsx:7
1454
-	__( 'Are you sure you want to delete this?', 'event_espresso' ),
1454
+	__('Are you sure you want to delete this?', 'event_espresso'),
1455 1455
 
1456 1456
 	// Reference: packages/ui-components/src/Confirm/useConfirmWithButton.tsx:10
1457
-	__( 'Please confirm this action.', 'event_espresso' ),
1457
+	__('Please confirm this action.', 'event_espresso'),
1458 1458
 
1459 1459
 	// Reference: packages/ui-components/src/Confirm/useConfirmationDialog.tsx:32
1460
-	__( 'No', 'event_espresso' ),
1460
+	__('No', 'event_espresso'),
1461 1461
 
1462 1462
 	// Reference: packages/ui-components/src/Confirm/useConfirmationDialog.tsx:33
1463
-	__( 'Yes', 'event_espresso' ),
1463
+	__('Yes', 'event_espresso'),
1464 1464
 
1465 1465
 	// Reference: packages/ui-components/src/CurrencyDisplay/CurrencyDisplay.tsx:34
1466
-	__( 'free', 'event_espresso' ),
1466
+	__('free', 'event_espresso'),
1467 1467
 
1468 1468
 	// Reference: packages/ui-components/src/DateTimeRangePicker/DateTimeRangePicker.tsx:117
1469 1469
 	// Reference: packages/ui-components/src/Popover/PopoverForm/PopoverForm.tsx:43
1470
-	__( 'save', 'event_espresso' ),
1470
+	__('save', 'event_espresso'),
1471 1471
 
1472 1472
 	// Reference: packages/ui-components/src/DebugInfo/DebugInfo.tsx:36
1473
-	__( 'Hide Debug Info', 'event_espresso' ),
1473
+	__('Hide Debug Info', 'event_espresso'),
1474 1474
 
1475 1475
 	// Reference: packages/ui-components/src/DebugInfo/DebugInfo.tsx:36
1476
-	__( 'Show Debug Info', 'event_espresso' ),
1476
+	__('Show Debug Info', 'event_espresso'),
1477 1477
 
1478 1478
 	// Reference: packages/ui-components/src/EditDateRangeButton/EditDateRangeButton.tsx:49
1479
-	__( 'Edit Start and End Dates and Times', 'event_espresso' ),
1479
+	__('Edit Start and End Dates and Times', 'event_espresso'),
1480 1480
 
1481 1481
 	// Reference: packages/ui-components/src/EntityActionsMenu/entityMenuItems/Copy.tsx:8
1482
-	__( 'copy', 'event_espresso' ),
1482
+	__('copy', 'event_espresso'),
1483 1483
 
1484 1484
 	// Reference: packages/ui-components/src/EntityActionsMenu/entityMenuItems/Edit.tsx:8
1485
-	__( 'edit', 'event_espresso' ),
1485
+	__('edit', 'event_espresso'),
1486 1486
 
1487 1487
 	// Reference: packages/ui-components/src/EntityActionsMenu/entityMenuItems/Trash.tsx:8
1488
-	__( 'trash', 'event_espresso' ),
1488
+	__('trash', 'event_espresso'),
1489 1489
 
1490 1490
 	// Reference: packages/ui-components/src/EntityActionsMenu/entityMenuItems/Untrash.tsx:8
1491
-	__( 'untrash', 'event_espresso' ),
1491
+	__('untrash', 'event_espresso'),
1492 1492
 
1493 1493
 	// Reference: packages/ui-components/src/EntityDetailsPanel/EntityDetailsPanelSold.tsx:37
1494
-	__( 'view approved registrations for this date.', 'event_espresso' ),
1494
+	__('view approved registrations for this date.', 'event_espresso'),
1495 1495
 
1496 1496
 	// Reference: packages/ui-components/src/EntityDetailsPanel/EntityDetailsPanelSold.tsx:38
1497
-	__( 'view approved registrations for this ticket.', 'event_espresso' ),
1497
+	__('view approved registrations for this ticket.', 'event_espresso'),
1498 1498
 
1499 1499
 	// Reference: packages/ui-components/src/EntityList/filterBar/buttons/CardViewFilterButton.tsx:21
1500
-	__( 'card view', 'event_espresso' ),
1500
+	__('card view', 'event_espresso'),
1501 1501
 
1502 1502
 	// Reference: packages/ui-components/src/EntityList/filterBar/buttons/TableViewFilterButton.tsx:20
1503
-	__( 'table view', 'event_espresso' ),
1503
+	__('table view', 'event_espresso'),
1504 1504
 
1505 1505
 	// Reference: packages/ui-components/src/EntityList/filterBar/buttons/ToggleBulkActionsButton.tsx:8
1506
-	__( 'hide bulk actions', 'event_espresso' ),
1506
+	__('hide bulk actions', 'event_espresso'),
1507 1507
 
1508 1508
 	// Reference: packages/ui-components/src/EntityList/filterBar/buttons/ToggleBulkActionsButton.tsx:8
1509
-	__( 'show bulk actions', 'event_espresso' ),
1509
+	__('show bulk actions', 'event_espresso'),
1510 1510
 
1511 1511
 	// Reference: packages/ui-components/src/EntityList/filterBar/buttons/ToggleFiltersButton.tsx:9
1512
-	__( 'hide filters', 'event_espresso' ),
1512
+	__('hide filters', 'event_espresso'),
1513 1513
 
1514 1514
 	// Reference: packages/ui-components/src/EntityList/filterBar/buttons/ToggleFiltersButton.tsx:9
1515
-	__( 'show filters', 'event_espresso' ),
1515
+	__('show filters', 'event_espresso'),
1516 1516
 
1517 1517
 	// Reference: packages/ui-components/src/Legend/ToggleLegendButton.tsx:26
1518
-	__( 'hide legend', 'event_espresso' ),
1518
+	__('hide legend', 'event_espresso'),
1519 1519
 
1520 1520
 	// Reference: packages/ui-components/src/Legend/ToggleLegendButton.tsx:26
1521
-	__( 'show legend', 'event_espresso' ),
1521
+	__('show legend', 'event_espresso'),
1522 1522
 
1523 1523
 	// Reference: packages/ui-components/src/LoadingNotice/LoadingNotice.tsx:11
1524
-	__( 'loading…', 'event_espresso' ),
1524
+	__('loading…', 'event_espresso'),
1525 1525
 
1526 1526
 	// Reference: packages/ui-components/src/Modal/Modal.tsx:58
1527
-	__( 'close modal', 'event_espresso' ),
1527
+	__('close modal', 'event_espresso'),
1528 1528
 
1529 1529
 	// Reference: packages/ui-components/src/Pagination/ItemRender.tsx:10
1530
-	__( 'jump to previous', 'event_espresso' ),
1530
+	__('jump to previous', 'event_espresso'),
1531 1531
 
1532 1532
 	// Reference: packages/ui-components/src/Pagination/ItemRender.tsx:11
1533
-	__( 'jump to next', 'event_espresso' ),
1533
+	__('jump to next', 'event_espresso'),
1534 1534
 
1535 1535
 	// Reference: packages/ui-components/src/Pagination/ItemRender.tsx:12
1536
-	__( 'page', 'event_espresso' ),
1536
+	__('page', 'event_espresso'),
1537 1537
 
1538 1538
 	// Reference: packages/ui-components/src/Pagination/ItemRender.tsx:8
1539
-	__( 'previous', 'event_espresso' ),
1539
+	__('previous', 'event_espresso'),
1540 1540
 
1541 1541
 	// Reference: packages/ui-components/src/Pagination/ItemRender.tsx:9
1542
-	__( 'next', 'event_espresso' ),
1542
+	__('next', 'event_espresso'),
1543 1543
 
1544 1544
 	// Reference: packages/ui-components/src/Pagination/PerPage.tsx:37
1545
-	__( 'items per page', 'event_espresso' ),
1545
+	__('items per page', 'event_espresso'),
1546 1546
 
1547 1547
 	// Reference: packages/ui-components/src/Pagination/constants.ts:10
1548 1548
 	/* translators: %s is per page value */
1549
-	__( '%s / page', 'event_espresso' ),
1549
+	__('%s / page', 'event_espresso'),
1550 1550
 
1551 1551
 	// Reference: packages/ui-components/src/Pagination/constants.ts:13
1552
-	__( 'Next Page', 'event_espresso' ),
1552
+	__('Next Page', 'event_espresso'),
1553 1553
 
1554 1554
 	// Reference: packages/ui-components/src/Pagination/constants.ts:14
1555
-	__( 'Previous Page', 'event_espresso' ),
1555
+	__('Previous Page', 'event_espresso'),
1556 1556
 
1557 1557
 	// Reference: packages/ui-components/src/PercentSign/index.tsx:10
1558
-	__( '%', 'event_espresso' ),
1558
+	__('%', 'event_espresso'),
1559 1559
 
1560 1560
 	// Reference: packages/ui-components/src/SimpleEntityList/EntityOptionsRow/index.tsx:23
1561
-	__( 'Select an existing one to use as a template.', 'event_espresso' ),
1561
+	__('Select an existing one to use as a template.', 'event_espresso'),
1562 1562
 
1563 1563
 	// Reference: packages/ui-components/src/SimpleEntityList/EntityOptionsRow/index.tsx:27
1564
-	__( 'or', 'event_espresso' ),
1564
+	__('or', 'event_espresso'),
1565 1565
 
1566 1566
 	// Reference: packages/ui-components/src/SimpleEntityList/EntityOptionsRow/index.tsx:30
1567
-	__( 'Add new and insert details manually', 'event_espresso' ),
1567
+	__('Add new and insert details manually', 'event_espresso'),
1568 1568
 
1569 1569
 	// Reference: packages/ui-components/src/SimpleEntityList/EntityOptionsRow/index.tsx:34
1570
-	__( 'Add New', 'event_espresso' ),
1570
+	__('Add New', 'event_espresso'),
1571 1571
 
1572 1572
 	// Reference: packages/ui-components/src/Stepper/buttons/Next.tsx:8
1573
-	__( 'Next', 'event_espresso' ),
1573
+	__('Next', 'event_espresso'),
1574 1574
 
1575 1575
 	// Reference: packages/ui-components/src/Stepper/buttons/Previous.tsx:8
1576
-	__( 'Previous', 'event_espresso' ),
1576
+	__('Previous', 'event_espresso'),
1577 1577
 
1578 1578
 	// Reference: packages/ui-components/src/Steps/Steps.tsx:31
1579
-	__( 'Steps', 'event_espresso' ),
1579
+	__('Steps', 'event_espresso'),
1580 1580
 
1581 1581
 	// Reference: packages/ui-components/src/TabbableText/index.tsx:19
1582
-	__( 'Click to edit…', 'event_espresso' ),
1582
+	__('Click to edit…', 'event_espresso'),
1583 1583
 
1584 1584
 	// Reference: packages/ui-components/src/TimezoneTimeInfo/Content.tsx:14
1585
-	__( 'The Website\'s Time Zone', 'event_espresso' ),
1585
+	__('The Website\'s Time Zone', 'event_espresso'),
1586 1586
 
1587 1587
 	// Reference: packages/ui-components/src/TimezoneTimeInfo/Content.tsx:19
1588
-	__( 'UTC (Greenwich Mean Time)', 'event_espresso' ),
1588
+	__('UTC (Greenwich Mean Time)', 'event_espresso'),
1589 1589
 
1590 1590
 	// Reference: packages/ui-components/src/TimezoneTimeInfo/Content.tsx:9
1591
-	__( 'Your Local Time Zone', 'event_espresso' ),
1591
+	__('Your Local Time Zone', 'event_espresso'),
1592 1592
 
1593 1593
 	// Reference: packages/ui-components/src/TimezoneTimeInfo/TimezoneTimeInfo.tsx:27
1594
-	__( 'click for timezone information', 'event_espresso' ),
1594
+	__('click for timezone information', 'event_espresso'),
1595 1595
 
1596 1596
 	// Reference: packages/ui-components/src/TimezoneTimeInfo/TimezoneTimeInfo.tsx:32
1597
-	__( 'This Date Converted To:', 'event_espresso' ),
1597
+	__('This Date Converted To:', 'event_espresso'),
1598 1598
 
1599 1599
 	// Reference: packages/ui-components/src/bulkEdit/BulkActions.tsx:51
1600
-	__( 'select all', 'event_espresso' ),
1600
+	__('select all', 'event_espresso'),
1601 1601
 
1602 1602
 	// Reference: packages/ui-components/src/bulkEdit/BulkActions.tsx:54
1603
-	__( 'apply', 'event_espresso' )
1603
+	__('apply', 'event_espresso')
1604 1604
 );
1605 1605
 /* THIS IS THE END OF THE GENERATED FILE */
Please login to merge, or discard this patch.