Browse Source

added tracking content type;

main
Paul Pound 2 weeks ago
parent
commit
e7017e1d80
  1. 115
      config/install/core.entity_form_display.node.ill_request_tracking.default.yml
  2. 92
      config/install/core.entity_view_display.node.ill_request_tracking.default.yml
  3. 21
      config/install/field.field.node.ill_request_tracking.field_ill_date_processed.yml
  4. 21
      config/install/field.field.node.ill_request_tracking.field_ill_date_returned.yml
  5. 21
      config/install/field.field.node.ill_request_tracking.field_ill_due_date.yml
  6. 30
      config/install/field.field.node.ill_request_tracking.field_ill_last_modified_by.yml
  7. 31
      config/install/field.field.node.ill_request_tracking.field_ill_request_reference.yml
  8. 21
      config/install/field.field.node.ill_request_tracking.field_ill_staff_notes.yml
  9. 21
      config/install/field.field.node.ill_request_tracking.field_ill_tracking_number.yml
  10. 22
      config/install/field.field.node.ill_request_tracking.field_ill_tracking_status.yml
  11. 22
      config/install/field.storage.node.field_ill_date_processed.yml
  12. 22
      config/install/field.storage.node.field_ill_date_returned.yml
  13. 22
      config/install/field.storage.node.field_ill_due_date.yml
  14. 22
      config/install/field.storage.node.field_ill_last_modified_by.yml
  15. 21
      config/install/field.storage.node.field_ill_request_reference.yml
  16. 21
      config/install/field.storage.node.field_ill_staff_notes.yml
  17. 23
      config/install/field.storage.node.field_ill_tracking_number.yml
  18. 30
      config/install/field.storage.node.field_ill_tracking_status.yml
  19. 13
      config/install/node.type.ill_request_tracking.yml
  20. 794
      config/install/views.view.ill_request_tracking.yml
  21. 1
      ill_corporate_forms.info.yml
  22. 2
      ill_corporate_forms.install
  23. 55
      ill_corporate_forms.module

115
config/install/core.entity_form_display.node.ill_request_tracking.default.yml

@ -0,0 +1,115 @@
langcode: en
status: true
dependencies:
config:
- field.field.node.ill_request_tracking.field_ill_date_processed
- field.field.node.ill_request_tracking.field_ill_date_returned
- field.field.node.ill_request_tracking.field_ill_due_date
- field.field.node.ill_request_tracking.field_ill_last_modified_by
- field.field.node.ill_request_tracking.field_ill_request_reference
- field.field.node.ill_request_tracking.field_ill_staff_notes
- field.field.node.ill_request_tracking.field_ill_tracking_number
- field.field.node.ill_request_tracking.field_ill_tracking_status
- node.type.ill_request_tracking
module:
- datetime
- options
- text
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.default
targetEntityType: node
bundle: ill_request_tracking
mode: default
content:
field_ill_request_reference:
type: entity_reference_autocomplete
weight: 1
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: {}
field_ill_tracking_status:
type: options_select
weight: 2
region: content
settings: {}
third_party_settings: {}
field_ill_date_processed:
type: datetime_default
weight: 3
region: content
settings: {}
third_party_settings: {}
field_ill_due_date:
type: datetime_default
weight: 4
region: content
settings: {}
third_party_settings: {}
field_ill_date_returned:
type: datetime_default
weight: 5
region: content
settings: {}
third_party_settings: {}
field_ill_tracking_number:
type: string_textfield
weight: 6
region: content
settings:
size: 60
placeholder: ''
third_party_settings: {}
field_ill_staff_notes:
type: text_textarea
weight: 7
region: content
settings:
rows: 5
placeholder: ''
third_party_settings: {}
created:
type: datetime_timestamp
weight: 10
region: content
settings: {}
third_party_settings: {}
uid:
type: entity_reference_autocomplete
weight: 11
region: content
settings:
match_operator: CONTAINS
match_limit: 10
size: 60
placeholder: ''
third_party_settings: {}
promote:
type: boolean_checkbox
settings:
display_label: true
weight: 12
region: content
third_party_settings: {}
sticky:
type: boolean_checkbox
settings:
display_label: true
weight: 13
region: content
third_party_settings: {}
status:
type: boolean_checkbox
settings:
display_label: true
weight: 14
region: content
third_party_settings: {}
hidden:
field_ill_last_modified_by: true
title: true

92
config/install/core.entity_view_display.node.ill_request_tracking.default.yml

@ -0,0 +1,92 @@
langcode: en
status: true
dependencies:
config:
- field.field.node.ill_request_tracking.field_ill_date_processed
- field.field.node.ill_request_tracking.field_ill_date_returned
- field.field.node.ill_request_tracking.field_ill_due_date
- field.field.node.ill_request_tracking.field_ill_last_modified_by
- field.field.node.ill_request_tracking.field_ill_request_reference
- field.field.node.ill_request_tracking.field_ill_staff_notes
- field.field.node.ill_request_tracking.field_ill_tracking_number
- field.field.node.ill_request_tracking.field_ill_tracking_status
- node.type.ill_request_tracking
module:
- datetime
- options
- text
- user
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.default
targetEntityType: node
bundle: ill_request_tracking
mode: default
content:
field_ill_request_reference:
type: entity_reference_label
weight: 1
region: content
label: above
settings:
link: true
third_party_settings: {}
field_ill_tracking_status:
type: list_default
weight: 2
region: content
label: above
settings: {}
third_party_settings: {}
field_ill_date_processed:
type: datetime_default
weight: 3
region: content
label: above
settings:
timezone_override: ''
format_type: medium
third_party_settings: {}
field_ill_due_date:
type: datetime_default
weight: 4
region: content
label: above
settings:
timezone_override: ''
format_type: medium
third_party_settings: {}
field_ill_date_returned:
type: datetime_default
weight: 5
region: content
label: above
settings:
timezone_override: ''
format_type: medium
third_party_settings: {}
field_ill_tracking_number:
type: string
weight: 6
region: content
label: above
settings: {}
third_party_settings: {}
field_ill_staff_notes:
type: text_default
weight: 7
region: content
label: above
settings: {}
third_party_settings: {}
field_ill_last_modified_by:
type: entity_reference_label
weight: 8
region: content
label: above
settings:
link: true
third_party_settings: {}
hidden:
links: true

21
config/install/field.field.node.ill_request_tracking.field_ill_date_processed.yml

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_date_processed
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_date_processed
field_name: field_ill_date_processed
entity_type: node
bundle: ill_request_tracking
label: 'Date Processed'
description: ''
required: false
translatable: false
default_value: {}
default_value_callback: ''
settings: {}
field_type: datetime

21
config/install/field.field.node.ill_request_tracking.field_ill_date_returned.yml

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_date_returned
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_date_returned
field_name: field_ill_date_returned
entity_type: node
bundle: ill_request_tracking
label: 'Date Returned'
description: ''
required: false
translatable: false
default_value: {}
default_value_callback: ''
settings: {}
field_type: datetime

21
config/install/field.field.node.ill_request_tracking.field_ill_due_date.yml

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_due_date
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_due_date
field_name: field_ill_due_date
entity_type: node
bundle: ill_request_tracking
label: 'Due Date'
description: ''
required: false
translatable: false
default_value: {}
default_value_callback: ''
settings: {}
field_type: datetime

30
config/install/field.field.node.ill_request_tracking.field_ill_last_modified_by.yml

@ -0,0 +1,30 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_last_modified_by
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_last_modified_by
field_name: field_ill_last_modified_by
entity_type: node
bundle: ill_request_tracking
label: 'Last Modified By'
description: 'Automatically set to the current user on save.'
required: false
translatable: false
default_value: {}
default_value_callback: ''
settings:
handler: 'default:user'
handler_settings:
include_anonymous: false
filter:
type: _none
target_bundles: null
sort:
field: _none
auto_create: false
field_type: entity_reference

31
config/install/field.field.node.ill_request_tracking.field_ill_request_reference.yml

@ -0,0 +1,31 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_request_reference
- node.type.ill_institution_request
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_request_reference
field_name: field_ill_request_reference
entity_type: node
bundle: ill_request_tracking
label: 'ILL Request'
description: 'Select the ILL request this tracking record is for.'
required: true
translatable: false
default_value: {}
default_value_callback: ''
settings:
handler: 'default:node'
handler_settings:
target_bundles:
ill_institution_request: ill_institution_request
sort:
field: title
direction: ASC
auto_create: false
auto_create_bundle: ''
field_type: entity_reference

21
config/install/field.field.node.ill_request_tracking.field_ill_staff_notes.yml

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_staff_notes
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_staff_notes
field_name: field_ill_staff_notes
entity_type: node
bundle: ill_request_tracking
label: 'Staff Notes'
description: ''
required: false
translatable: false
default_value: {}
default_value_callback: ''
settings: {}
field_type: text_long

21
config/install/field.field.node.ill_request_tracking.field_ill_tracking_number.yml

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_tracking_number
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_tracking_number
field_name: field_ill_tracking_number
entity_type: node
bundle: ill_request_tracking
label: 'Tracking/Reference Number'
description: ''
required: false
translatable: false
default_value: {}
default_value_callback: ''
settings: {}
field_type: string

22
config/install/field.field.node.ill_request_tracking.field_ill_tracking_status.yml

@ -0,0 +1,22 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_tracking_status
- node.type.ill_request_tracking
enforced:
module:
- ill_corporate_forms
id: node.ill_request_tracking.field_ill_tracking_status
field_name: field_ill_tracking_status
entity_type: node
bundle: ill_request_tracking
label: Status
description: ''
required: true
translatable: false
default_value:
- value: received
default_value_callback: ''
settings: {}
field_type: list_string

22
config/install/field.storage.node.field_ill_date_processed.yml

@ -0,0 +1,22 @@
langcode: en
status: true
dependencies:
module:
- datetime
- node
enforced:
module:
- ill_corporate_forms
id: node.field_ill_date_processed
field_name: field_ill_date_processed
entity_type: node
type: datetime
settings:
datetime_type: date
module: datetime
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

22
config/install/field.storage.node.field_ill_date_returned.yml

@ -0,0 +1,22 @@
langcode: en
status: true
dependencies:
module:
- datetime
- node
enforced:
module:
- ill_corporate_forms
id: node.field_ill_date_returned
field_name: field_ill_date_returned
entity_type: node
type: datetime
settings:
datetime_type: date
module: datetime
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

22
config/install/field.storage.node.field_ill_due_date.yml

@ -0,0 +1,22 @@
langcode: en
status: true
dependencies:
module:
- datetime
- node
enforced:
module:
- ill_corporate_forms
id: node.field_ill_due_date
field_name: field_ill_due_date
entity_type: node
type: datetime
settings:
datetime_type: date
module: datetime
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

22
config/install/field.storage.node.field_ill_last_modified_by.yml

@ -0,0 +1,22 @@
langcode: en
status: true
dependencies:
module:
- node
- user
enforced:
module:
- ill_corporate_forms
id: node.field_ill_last_modified_by
field_name: field_ill_last_modified_by
entity_type: node
type: entity_reference
settings:
target_type: user
module: core
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

21
config/install/field.storage.node.field_ill_request_reference.yml

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
module:
- node
enforced:
module:
- ill_corporate_forms
id: node.field_ill_request_reference
field_name: field_ill_request_reference
entity_type: node
type: entity_reference
settings:
target_type: node
module: core
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

21
config/install/field.storage.node.field_ill_staff_notes.yml

@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
module:
- node
- text
enforced:
module:
- ill_corporate_forms
id: node.field_ill_staff_notes
field_name: field_ill_staff_notes
entity_type: node
type: text_long
settings: {}
module: text
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

23
config/install/field.storage.node.field_ill_tracking_number.yml

@ -0,0 +1,23 @@
langcode: en
status: true
dependencies:
module:
- node
enforced:
module:
- ill_corporate_forms
id: node.field_ill_tracking_number
field_name: field_ill_tracking_number
entity_type: node
type: string
settings:
max_length: 255
is_ascii: false
case_sensitive: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

30
config/install/field.storage.node.field_ill_tracking_status.yml

@ -0,0 +1,30 @@
langcode: en
status: true
dependencies:
module:
- node
- options
enforced:
module:
- ill_corporate_forms
id: node.field_ill_tracking_status
field_name: field_ill_tracking_status
entity_type: node
type: list_string
settings:
allowed_values:
- value: received
label: Received
- value: in_progress
label: 'In Progress'
- value: sent
label: Sent
- value: completed
label: Completed
module: options
locked: false
cardinality: 1
translatable: true
indexes: {}
persist_with_no_fields: false
custom_storage: false

13
config/install/node.type.ill_request_tracking.yml

@ -0,0 +1,13 @@
langcode: en
status: true
dependencies:
enforced:
module:
- ill_corporate_forms
name: ILL Request Tracking
type: ill_request_tracking
description: 'Tracks the fulfillment state of an interlibrary loan request.'
help: ''
new_revision: true
preview_mode: 1
display_submitted: true

794
config/install/views.view.ill_request_tracking.yml

@ -0,0 +1,794 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_ill_date_processed
- field.storage.node.field_ill_date_returned
- field.storage.node.field_ill_due_date
- field.storage.node.field_ill_last_modified_by
- field.storage.node.field_ill_request_reference
- field.storage.node.field_ill_tracking_number
- field.storage.node.field_ill_tracking_status
- node.type.ill_request_tracking
module:
- datetime
- node
- options
- user
enforced:
module:
- ill_corporate_forms
id: ill_request_tracking
label: 'ILL Request Tracking'
module: views
description: 'Tracks the fulfillment state of ILL requests.'
tag: ''
base_table: node_field_data
base_field: nid
display:
default:
id: default
display_title: Default
display_plugin: default
position: 0
display_options:
title: 'ILL Request Tracking'
fields:
field_ill_request_reference:
id: field_ill_request_reference
table: node__field_ill_request_reference
field: field_ill_request_reference
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: 'ILL Request'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: entity_reference_label
settings:
link: true
group_column: target_id
group_columns: {}
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_ill_tracking_status:
id: field_ill_tracking_status
table: node__field_ill_tracking_status
field: field_ill_tracking_status
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: Status
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: list_default
settings: {}
group_column: value
group_columns: {}
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_ill_date_processed:
id: field_ill_date_processed
table: node__field_ill_date_processed
field: field_ill_date_processed
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: 'Date Processed'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: datetime_default
settings:
timezone_override: ''
format_type: medium
group_column: value
group_columns: {}
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_ill_due_date:
id: field_ill_due_date
table: node__field_ill_due_date
field: field_ill_due_date
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: 'Due Date'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: datetime_default
settings:
timezone_override: ''
format_type: medium
group_column: value
group_columns: {}
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_ill_date_returned:
id: field_ill_date_returned
table: node__field_ill_date_returned
field: field_ill_date_returned
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: 'Date Returned'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: datetime_default
settings:
timezone_override: ''
format_type: medium
group_column: value
group_columns: {}
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_ill_tracking_number:
id: field_ill_tracking_number
table: node__field_ill_tracking_number
field: field_ill_tracking_number
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: 'Tracking Number'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: {}
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_ill_last_modified_by:
id: field_ill_last_modified_by
table: node__field_ill_last_modified_by
field: field_ill_last_modified_by
relationship: none
group_type: group
admin_label: ''
plugin_id: field
label: 'Last Modified By'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: entity_reference_label
settings:
link: true
group_column: target_id
group_columns: {}
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
view_node:
id: view_node
table: node
field: view_node
relationship: none
group_type: group
admin_label: ''
entity_type: node
plugin_id: node_link
label: Operations
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
text: View
pager:
type: full
options:
offset: 0
items_per_page: 25
total_pages: null
id: 0
tags:
next: 'Next ›'
previous: '‹ Previous'
first: '« First'
last: 'Last »'
expose:
items_per_page: false
items_per_page_label: 'Items per page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
quantity: 9
exposed_form:
type: basic
options:
submit_button: Filter
reset_button: true
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
access:
type: perm
options:
perm: 'access content'
cache:
type: tag
options: {}
empty: {}
sorts:
created:
id: created
table: node_field_data
field: created
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: created
plugin_id: date
order: DESC
expose:
label: ''
field_identifier: ''
exposed: false
arguments: {}
filters:
type:
id: type
table: node_field_data
field: type
relationship: none
group_type: group
admin_label: ''
entity_type: node
entity_field: type
plugin_id: bundle
value:
ill_request_tracking: ill_request_tracking
operator: in
group: 1
exposed: false
expose:
operator_id: ''
label: ''
description: ''
use_operator: false
operator: ''
operator_limit_selection: false
operator_list: {}
identifier: ''
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
reduce: false
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: {}
group_items: {}
field_ill_tracking_status_value:
id: field_ill_tracking_status_value
table: node__field_ill_tracking_status
field: field_ill_tracking_status_value
relationship: none
group_type: group
admin_label: ''
plugin_id: list_field
operator: or
value: {}
group: 1
exposed: true
expose:
operator_id: field_ill_tracking_status_value_op
label: Status
description: ''
use_operator: false
operator: field_ill_tracking_status_value_op
operator_limit_selection: false
operator_list: {}
identifier: field_ill_tracking_status_value
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
reduce: false
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: {}
group_items: {}
filter_groups:
operator: AND
groups:
1: AND
style:
type: table
options:
grouping: {}
row_class: ''
default_row_class: true
columns:
field_ill_request_reference: field_ill_request_reference
field_ill_tracking_status: field_ill_tracking_status
field_ill_date_processed: field_ill_date_processed
field_ill_due_date: field_ill_due_date
field_ill_date_returned: field_ill_date_returned
field_ill_tracking_number: field_ill_tracking_number
field_ill_last_modified_by: field_ill_last_modified_by
view_node: view_node
default: '-1'
info:
field_ill_request_reference:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_ill_tracking_status:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_ill_date_processed:
sortable: true
default_sort_order: desc
align: ''
separator: ''
empty_column: false
responsive: ''
field_ill_due_date:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_ill_date_returned:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_ill_tracking_number:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_ill_last_modified_by:
sortable: true
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
view_node:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
override: true
sticky: false
summary: ''
empty_table: true
caption: ''
description: ''
row:
type: fields
options: {}
query:
type: views_query
options:
query_comment: ''
disable_sql_rewrite: false
distinct: false
replica: false
query_tags: {}
relationships: {}
header: {}
footer: {}
display_extenders: {}
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- 'user.node_grants:view'
- user.permissions
tags: {}
page_1:
id: page_1
display_title: Page
display_plugin: page
position: 1
display_options:
display_extenders: {}
path: ill/tracking
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- 'user.node_grants:view'
- user.permissions
tags: {}

1
ill_corporate_forms.info.yml

@ -9,3 +9,4 @@ dependencies:
- drupal:text - drupal:text
- drupal:options - drupal:options
- drupal:views - drupal:views
- drupal:datetime

2
ill_corporate_forms.install

@ -16,7 +16,7 @@ function ill_corporate_forms_uninstall(): void {
$entity_type_manager = \Drupal::entityTypeManager(); $entity_type_manager = \Drupal::entityTypeManager();
$node_storage = $entity_type_manager->getStorage('node'); $node_storage = $entity_type_manager->getStorage('node');
foreach (['ill_institution_request', 'ill_institution'] as $bundle) { foreach (['ill_request_tracking', 'ill_institution_request', 'ill_institution'] as $bundle) {
$nids = $node_storage->getQuery() $nids = $node_storage->getQuery()
->accessCheck(FALSE) ->accessCheck(FALSE)
->condition('type', $bundle) ->condition('type', $bundle)

55
ill_corporate_forms.module

@ -49,6 +49,20 @@ function ill_corporate_forms_form_node_ill_institution_edit_form_alter(array &$f
$form['#validate'][] = '_ill_corporate_forms_validate_institution_phone'; $form['#validate'][] = '_ill_corporate_forms_validate_institution_phone';
} }
/**
* Implements hook_form_FORM_ID_alter() for the ill_request_tracking node form.
*/
function ill_corporate_forms_form_node_ill_request_tracking_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void {
$form['title']['#access'] = FALSE;
}
/**
* Implements hook_form_FORM_ID_alter() for the ill_request_tracking edit form.
*/
function ill_corporate_forms_form_node_ill_request_tracking_edit_form_alter(array &$form, FormStateInterface $form_state, string $form_id): void {
$form['title']['#access'] = FALSE;
}
/** /**
* Adds #states for item-type conditional fields on the request form. * Adds #states for item-type conditional fields on the request form.
* *
@ -123,10 +137,20 @@ function _ill_corporate_forms_add_item_type_states(array &$form): void {
* Sets the request title to the Borrowing Library name before saving. * Sets the request title to the Borrowing Library name before saving.
*/ */
function ill_corporate_forms_node_presave(\Drupal\node\NodeInterface $node): void { function ill_corporate_forms_node_presave(\Drupal\node\NodeInterface $node): void {
if ($node->bundle() !== 'ill_institution_request') { if ($node->bundle() === 'ill_institution_request') {
return; _ill_corporate_forms_presave_request($node);
}
elseif ($node->bundle() === 'ill_request_tracking') {
_ill_corporate_forms_presave_tracking($node);
} }
}
/**
* Presave logic for ill_institution_request nodes.
*
* Sets the title to the Borrowing Library name.
*/
function _ill_corporate_forms_presave_request(\Drupal\node\NodeInterface $node): void {
$partner_nid = $node->get('field_ill_partner_organization')->target_id; $partner_nid = $node->get('field_ill_partner_organization')->target_id;
if ($partner_nid) { if ($partner_nid) {
$partner_node = \Drupal::entityTypeManager()->getStorage('node')->load($partner_nid); $partner_node = \Drupal::entityTypeManager()->getStorage('node')->load($partner_nid);
@ -140,6 +164,33 @@ function ill_corporate_forms_node_presave(\Drupal\node\NodeInterface $node): voi
$node->setTitle('ILL Request'); $node->setTitle('ILL Request');
} }
/**
* Presave logic for ill_request_tracking nodes.
*
* Auto-generates the title from the referenced request and sets
* the last_modified_by field to the current user.
*/
function _ill_corporate_forms_presave_tracking(\Drupal\node\NodeInterface $node): void {
// Auto-generate title from the referenced request.
$request_nid = $node->get('field_ill_request_reference')->target_id;
if ($request_nid) {
$request_node = \Drupal::entityTypeManager()->getStorage('node')->load($request_nid);
if ($request_node) {
$node->setTitle('Tracking: ' . $request_node->getTitle());
}
else {
$node->setTitle('Tracking: Request #' . $request_nid);
}
}
else {
$node->setTitle('ILL Request Tracking');
}
// Set last modified by to the current user.
$current_user_id = \Drupal::currentUser()->id();
$node->set('field_ill_last_modified_by', $current_user_id);
}
/** /**
* Validates that the entered institution code matches the Borrowing Library's library code. * Validates that the entered institution code matches the Borrowing Library's library code.
*/ */

Loading…
Cancel
Save