Compare commits

...

47 Commits
0.4.2 ... 1.9.3

Author SHA1 Message Date
9af1d58de8 removed "details", see `https://drupal.stackexchange.com/questions/294312/why-has-this-details-accordion-appeared-in-this-view 2020-06-08 20:43:51 +01:00
6d93242fa9 v1.9.2 2020-06-08 14:22:04 +01:00
c9a843a35f (Re-)Added update hook to make contact details revisionable 2020-06-08 14:21:16 +01:00
c46bbc6ffd v1.9 2020-06-05 19:34:44 +01:00
5d1844304a templating for activities 2020-06-05 19:26:59 +01:00
be45fd2d42 sorting by date-and-time in activities view
Also removed date format thing from hook_update_n as not needed
2020-06-05 18:41:46 +01:00
18a0846348 Added name and status changes view
and did some other things, can't remember what
2020-06-05 18:36:14 +01:00
18e32335f5 In progress of adding revision views & making entity displays nicer 2020-05-13 15:41:59 +01:00
b83f0b44b4 v1.7 - Removed seconds from date and time field
Also altered activities view to show this field instead of created date.
2020-03-01 09:45:10 +00:00
7f88d409f0 1.6.5 more git mixup 2020-02-24 17:17:53 +00:00
8841fd4d25 v1.6.4 - more git mixup 2020-02-24 17:09:57 +00:00
87241c1f87 v1.6.3 due to git mixup 2020-02-24 16:59:43 +00:00
2a1607c6d9 Merge branch 'master' of github.com:hoegrammer/opencase 2020-02-24 16:27:37 +00:00
d8fd12a7b9 v1.6.2 2020-02-24 16:27:18 +00:00
e4a04a254d v1.6.1 2020-02-24 16:26:04 +00:00
88b5ce3d2e Merge branch 'master' of github.com:hoegrammer/opencase 2020-02-24 13:01:15 +00:00
ae3976c7b8 Improved new activity date & time field, also...
* Removed dependency of opencase_search on opencase so opencase_search doesn't get uninstalled when refreshing opencase for UI changes
* Changed no-results wording on case views (both displays: all cases & cases for a person)
2020-02-24 12:54:39 +00:00
f47ded38fa v1.7 - adding datetime field with correct datepicker type & default datetime 2020-02-24 10:57:06 +00:00
c63cae6b71 Added callback to default to current date
But it isn't displaying, possibly because of having the wrong kind of widget
2020-02-23 17:36:48 +00:00
a7a96ab03c v1.6 Added activity date time field 2020-02-22 15:31:10 +00:00
a6db6615df No longer trimming activity text in views 2020-01-23 10:04:50 +00:00
1c3370a784 different header text for case view 2019-11-27 10:04:10 +00:00
59f4987371 Uninstall code for some config items that were being left in 2019-11-11 11:14:57 +00:00
c1e24593fa limiting involved parties facet to non-clients. 2019-07-15 20:34:32 +01:00
c98f028045 Removed ajax from views
Although it is beautiful, it stops the export from being filtered.
2019-07-15 19:51:57 +01:00
873f751795 Added config files for reporting on cases
And moved indexes to optional config so as not to have to keep
rebuilding them
2019-07-15 18:36:53 +01:00
6b9ff3a5e7 typo 2019-06-09 15:26:29 +01:00
b24ba377d2 removed dependency no longer required 2019-06-09 14:27:59 +01:00
33168ecb62 Added new module, Opencase Default Reporting 2019-06-09 14:00:23 +01:00
3eacbc952f Moved some configs from here into new module, Opencase Default Reporting 2019-06-09 13:58:39 +01:00
47ea8493ce added a permission to delete people 2019-04-29 16:44:34 +01:00
eb6cfb89dd removed old commented-out permissions
that had been superseded by the dynamic permissions
2018-12-19 09:13:20 +00:00
94e2635ee1 Hopefully fixed OSIC level reporting bug. Config to delete:
- Volunteer reporting index.

Not sure how, I fixed it, just re-created everything
2018-12-18 15:32:53 +00:00
fa7516b03a Menus other than "support" not available when logged out. 2018-12-15 14:21:38 +00:00
bfa4f27cf7 Items per pages on views. Manual changes needed
- delete volunteer report view
2018-12-15 14:07:15 +00:00
36aff5564e menu link text, Just needs a cache clear 2018-12-15 14:02:53 +00:00
e0260256fa Actor -> Person. Need to update entities 2018-12-15 14:00:26 +00:00
fd47bee26a Added "sex" field. Optionally change config:
- Add to form and view display for client (optional)
2018-12-15 13:53:35 +00:00
150cc6cfd1 Data export. Config changed (some from previous commits):
- view - cases
- view - reporting_clients
- view - reporting_volunteers
- block - nationalities
2018-12-15 13:41:13 +00:00
44c948d22a Added instructions for adding new case to cases view 2018-12-15 13:25:22 +00:00
99733415c8 Facet block config 2018-12-15 13:16:37 +00:00
5e127358b2 Added some css and a list of nationalities for the dropdown 2018-12-15 11:34:59 +00:00
9a937e2d46 Changed minimum count to 0 on all facets
which means the checkboxes don't disappear when there are none of that kind in the search results.
Also changed how name is displayed in reporting view
2018-12-14 19:02:20 +00:00
e45cbb6a76 Changed permission for admin menu
because on demo, site-admin can configure entities but not manage users
2018-12-14 18:52:35 +00:00
ca04c3e259 Replaced text-box "nationality" field with drop-down "nationalities" 2018-12-14 18:51:45 +00:00
658ba667b1 updated readme for 0.4.2 2018-11-11 20:19:17 +00:00
309a31e012 tidied up menu code, made parent not open on click 2018-11-11 19:58:32 +00:00
84 changed files with 4421 additions and 720 deletions

View File

@ -1,33 +1,36 @@
# OpenCase
A simple, case-management-focused CRM for small altruistic organisations.
## Current Status
**24 July 2018** A demo site, with basic functionality is available at demo.opencase.org.uk. If you are interested, raise an issue and I will get the login to you somehow.
A simple case-management system for small altruistic organisations.
## The Plan
OpenCase will be available as:
* A Drupal module, on drupal.org
* A Drupal install profile / distribution
* A hosted service
### Features
#### Existing
* Completely configurable person types, case types and activity types
* Search
* Basic Reporting
* Basic user roles (caseworker, volunteer co-ordinator, site admin etc) with access control
#### Coming soon
* Better reporting (currently only reports on defaults fields and not user-added ones)
* Allocation of tasks, overview of tasks and their stage of completion
* Appointments and notifications
## Current Status
**11 Nov 2018**
### User Base
OpenCase is being used by a couple of organisations, early adopters on the hosted platform.
### Availability as Free Software
If you want to install OpenCase for yourself, please get in touch via Issues. It is changing rapidly and the install process is currently undocumented but I am more than happy to guide you through.
### Try it out
A demo site, with basic functionality is available at demo.opencase.org.uk. If you are interested, raise an issue and I will get the login to you somehow.
## Find out more
* More details, including user stories for future development, can be found in the [OpenCase Gitbook](https://hoegrammer.gitbooks.io/zen-crm/content/)
* Raise an issue to contact the developer.
## Differences between current version (v0.2.6, July 2018) and previous version ##
**Access control**: Previously everyone could see all cases. Now, users can see cases that they are involved in. By creating case you automatically become involve in it (although you can later be removed or remove yourself). Caseworkers can see all clients and volunteer co-ordinators can see all volunteers. Site admins and overseers can see everything.
**Editing types**: As a site admin you can now add, remove and configure types of actor, types of case and types of activity and you can configure fields on these and add your own fields.s
**Relations between types**: For each type of case, you can specify what types of actors (people) can be involved in it, e.g. for a volunteer recruitment case it would be volunteers and/or staff; for a legal advice case maybe clients, volunteers and solicitors. You can also specify what activities belong on what kinds of cases.
## Not done yet ##
* Reporting
* Donations
* Anything to do with emails/bounces
* Any specific guidelines or features relating to the GDPR

View File

@ -0,0 +1,5 @@
ciac_grouped_views:
version: 1.x
css:
layout:
css/grouped_views.css: {}

View File

@ -29,8 +29,8 @@ settings:
slide: vertical
supposition: 1
hoverintent: 1
touch: '0'
touchbh: '2'
touch: '1'
touchbh: '1'
touchbp: '768'
touchua: '0'
touchual: ''

View File

@ -4,6 +4,7 @@ dependencies:
config:
- user.role.authenticated
module:
- datetime
- opencase_entities
- user
id: activities
@ -13,7 +14,6 @@ description: ''
tag: ''
base_table: oc_activity_field_data
base_field: id
core: 8.x
display:
default:
display_plugin: default
@ -50,7 +50,7 @@ display:
pager:
type: mini
options:
items_per_page: 10
items_per_page: 50
offset: 0
id: 0
total_pages: null
@ -70,6 +70,72 @@ display:
row:
type: fields
fields:
activity_date_time:
id: activity_date_time
table: oc_activity_field_data
field: activity_date_time
relationship: none
group_type: group
admin_label: ''
label: 'Date and time'
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_custom
settings:
timezone_override: ''
date_format: 'd/m/Y - H:i'
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
entity_type: oc_activity
entity_field: activity_date_time
plugin_id: field
name:
id: name
table: oc_activity_field_data
@ -233,7 +299,7 @@ display:
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: true
trim: false
preserve_tags: ''
html: false
element_type: ''
@ -264,73 +330,6 @@ display:
entity_type: oc_activity
entity_field: description
plugin_id: field
created:
id: created
table: oc_activity_field_data
field: created
relationship: none
group_type: group
admin_label: ''
label: Created
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: timestamp
settings:
date_format: short
custom_date_format: ''
timezone: ''
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
entity_type: oc_activity
entity_field: created
plugin_id: field
view_oc_activity:
id: view_oc_activity
table: oc_activity
@ -385,7 +384,21 @@ display:
entity_type: oc_activity
plugin_id: entity_link
filters: { }
sorts: { }
sorts:
activity_date_time:
id: activity_date_time
table: oc_activity_field_data
field: activity_date_time
relationship: none
group_type: group
admin_label: ''
order: DESC
exposed: false
expose:
label: ''
entity_type: oc_activity
entity_field: activity_date_time
plugin_id: standard
title: 'Activity List'
header: { }
footer: { }

View File

@ -50,7 +50,7 @@ display:
pager:
type: mini
options:
items_per_page: 20
items_per_page: 50
offset: 0
id: 0
total_pages: null
@ -447,7 +447,7 @@ display:
empty_zero: false
hide_alter_empty: false
plugin_id: custom
filters:
filters: null
sorts:
created:
id: created
@ -569,7 +569,7 @@ display:
filter_groups: false
empty: false
path: opencase/all-cases
filters:
filters: null
filter_groups:
operator: AND
groups:
@ -584,14 +584,13 @@ display:
admin_label: ''
empty: true
tokenize: false
content: "<h1>No cases found</h1>\n<p>You do not have access to any existing cases.</p>\n<p>To <b>add a new case</b>, first search for the person you want to add a case to. If they are not on the system yet you can add them using the <b>Add People.</b> menu.</p>\n"
content: "<h1>No cases found</h1>\n<p>You do not have access to any existing cases.</p>\n<p>To <b>add a new case</b>, first search for the person you want to add a case to. If they are not on the system yet you can add them using the <b>Add actors</b> menu in the left sidebar.</p>\n"
plugin_id: text_custom
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.roles
tags: { }

View File

@ -0,0 +1,852 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
- user
id: contact_details_changes
label: 'Contact Details History'
module: views
description: ''
tag: ''
base_table: oc_actor_field_revision
base_field: vid
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'view published client entities'
cache:
type: tag
options: { }
query:
type: views_query
options:
disable_sql_rewrite: false
distinct: false
replica: false
query_comment: ''
query_tags: { }
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: none
options:
offset: 0
style:
type: table
options:
grouping:
1:
field: view_oc_actor
rendered: true
rendered_strip: false
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
first_name: first_name
middle_names: middle_names
last_name: last_name
id: id
revision_created: revision_created
view_oc_actor: view_oc_actor
info:
first_name:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
middle_names:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
last_name:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
id:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
revision_created:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
view_oc_actor:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: '-1'
empty_table: false
row:
type: fields
options:
inline: { }
separator: ''
hide_empty: false
default_field_elements: true
fields:
revision_created:
id: revision_created
table: oc_actor_revision
field: revision_created
relationship: none
group_type: min
admin_label: ''
label: Date
exclude: false
alter:
alter_text: true
text: '{{ revision_created | date(''d/m/Y'') }}'
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
set_precision: false
precision: 0
decimal: .
separator: ''
format_plural: 0
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ''
click_sort_column: value
type: timestamp
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
field_api_classes: false
entity_type: oc_actor
entity_field: revision_created
plugin_id: field
first_name:
id: first_name
table: oc_actor_field_revision
field: first_name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
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
entity_type: oc_actor
entity_field: first_name
plugin_id: field
middle_names:
id: middle_names
table: oc_actor_field_revision
field: middle_names
relationship: none
group_type: group
admin_label: ''
label: 'Middle Names'
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
entity_type: oc_actor
entity_field: middle_names
plugin_id: field
last_name:
id: last_name
table: oc_actor_field_revision
field: last_name
relationship: none
group_type: group
admin_label: ''
label: 'Last Name'
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
entity_type: oc_actor
entity_field: last_name
plugin_id: field
email:
id: email
table: oc_actor_field_revision
field: email
relationship: none
group_type: group
admin_label: ''
label: 'Email Address'
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
entity_type: oc_actor
entity_field: email
plugin_id: field
phone:
id: phone
table: oc_actor_field_revision
field: phone
relationship: none
group_type: group
admin_label: ''
label: 'Main Phone 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
entity_type: oc_actor
entity_field: phone
plugin_id: field
phone2:
id: phone2
table: oc_actor_field_revision
field: phone2
relationship: none
group_type: group
admin_label: ''
label: 'Alternative Phone 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
entity_type: oc_actor
entity_field: phone2
plugin_id: field
postal_address:
id: postal_address
table: oc_actor_field_revision
field: postal_address
relationship: none
group_type: group
admin_label: ''
label: 'Postal Address'
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: basic_string
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
entity_type: oc_actor
entity_field: postal_address
plugin_id: field
post_code:
id: post_code
table: oc_actor_field_revision
field: post_code
relationship: none
group_type: group
admin_label: ''
label: 'Post Code'
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
entity_type: oc_actor
entity_field: post_code
plugin_id: field
view_oc_actor:
id: view_oc_actor
table: oc_actor_field_revision
field: view_oc_actor
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: true
alter:
alter_text: true
text: "&#9664;\tBack to current record"
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: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
text: 'See "rewrite results" (had to do it that way because contains HTML).'
output_url_as_text: false
absolute: false
entity_type: oc_actor
plugin_id: entity_link
filters: { }
sorts:
revision_created:
id: revision_created
table: oc_actor_revision
field: revision_created
relationship: none
group_type: min
admin_label: ''
order: DESC
exposed: false
expose:
label: ''
granularity: second
entity_type: oc_actor
entity_field: revision_created
plugin_id: date
header: { }
footer: { }
empty: { }
relationships: { }
arguments:
id:
id: id
table: oc_actor_field_revision
field: id
relationship: none
group_type: group
admin_label: ''
default_action: 'not found'
exception:
value: all
title_enable: false
title: All
title_enable: false
title: ''
default_argument_type: fixed
default_argument_options:
argument: ''
default_argument_skip_url: false
summary_options:
base_path: ''
count: true
items_per_page: 25
override: false
summary:
sort_order: asc
number_of_records: 0
format: default_summary
specify_validation: false
validate:
type: none
fail: 'not found'
validate_options: { }
break_phrase: false
not: false
entity_type: oc_actor
entity_field: id
plugin_id: numeric
display_extenders: { }
group_by: true
title: 'Contact Details History'
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- user.permissions
tags: { }
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
path: opencase/oc_actor/%/contact_details_history
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- user.permissions
tags: { }

View File

@ -29,3 +29,59 @@ body {
#block-exposedformactor-searchpage-1 .form-text {
width: 200px;
}
/* Make drop-down nav menu opaque */
.block-superfish .menu ul {
background: white;
color: darkgray;
}
.block-superfish .menu ul li {
border-bottom: 1px dotted darkgray;
}
.block-superfish .menu ul li a:hover {
color: black;
}
/* In views, display label at top of field. Ths is because full descriptions are displayed in the activity view so having the label in the middle means it disappears down the page. */
td.views-field {
vertical-align: top;
}
/* Entity displays */
.oc_entity .left {
display: inline-block;
width: 45%;
padding: 1em;
}
.oc_entity .right {
display: inline-block;
width: 45%;
padding: 1em;
float: right;
}
.oc_entity .field {
margin-top: 1em;
}
/* Make entity reference field labels match normal field labels */
.field--type-entity-reference .field__label {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 1em !important;
font-weight: bold !important;
}
/* Styling for grouped views */
table.views-table.views-view-table caption {
text-align: left;
margin-bottom: 1em;
margin-top: 2em;
font-weight: bold;
}
/* remove "details" accordion, see https://drupal.stackexchange.com/questions/294312/why-has-this-details-accordion-appeared-in-this-view */
.views-table details {
display: none;
}

View File

@ -0,0 +1,28 @@
langcode: en
status: true
dependencies:
config:
- facets.facet.involved_parties
module:
- facets
- system
theme:
- bartik
id: involvedparties
theme: bartik
region: sidebar_second
weight: 0
provider: null
plugin: 'facet_block:involved_parties'
settings:
id: 'facet_block:involved_parties'
label: 'Involved Parties'
provider: facets
label_display: visible
block_id: involvedparties
visibility:
request_path:
id: request_path
pages: /opencase/reporting/cases
negate: false
context_mapping: { }

View File

@ -2,27 +2,27 @@ langcode: en
status: true
dependencies:
config:
- facets.facet.nationality
- facets.facet.nationalities
module:
- facets
- system
theme:
- bartik
id: facet_nationality
id: nationalities
theme: bartik
region: sidebar_second
weight: 0
provider: null
plugin: 'facet_block:nationality'
plugin: 'facet_block:nationalities'
settings:
id: 'facet_block:nationality'
label: 'Nationality'
id: 'facet_block:nationalities'
label: Nationalities
provider: facets
label_display: visible
block_id: facet_nationality
block_id: nationalities
visibility:
request_path:
id: request_path
pages: '/opencase/reporting/clients'
pages: /opencase/reporting/clients
negate: false
context_mapping: { }

View File

@ -23,6 +23,6 @@ settings:
visibility:
request_path:
id: request_path
pages: '/opencase/reporting/*'
pages: /opencase/reporting/volunteers
negate: false
context_mapping: { }

View File

@ -0,0 +1,29 @@
langcode: en
status: true
dependencies:
config:
- facets.facet.outcome
module:
- facets
- system
theme:
- bartik
id: outcome
theme: bartik
region: sidebar_second
weight: 0
provider: null
plugin: 'facet_block:outcome'
settings:
id: 'facet_block:outcome'
label: Outcome
provider: facets
label_display: visible
block_id: outcome
visibility:
request_path:
id: request_path
pages: /opencase/reporting/cases
negate: false
context_mapping: { }

View File

@ -10,7 +10,7 @@ id: asylum_status
name: 'Asylum status'
url_alias: asylum_status
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_asylum_status
facet_source_id: 'search_api:views_page__reporting_clients__page_1'

View File

@ -10,7 +10,7 @@ id: asylum_status_export
name: 'Asylum status'
url_alias: asylum_status
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_asylum_status
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'

View File

@ -10,7 +10,7 @@ id: created
name: Created
url_alias: created
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: created
facet_source_id: 'search_api:views_page__reporting_clients__page_1'

View File

@ -9,7 +9,7 @@ id: created_export
name: 'Created - Export'
url_alias: created
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: created
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'

View File

@ -10,7 +10,7 @@ id: disability
name: 'Disability'
url_alias: disability
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_disability
facet_source_id: 'search_api:views_page__reporting_clients__page_1'

View File

@ -10,7 +10,7 @@ id: disability_export
name: 'Disability'
url_alias: disability
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_disability
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'

View File

@ -10,7 +10,7 @@ id: gender_identified_with
name: 'Gender Identity'
url_alias: gender_identified_with
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_gender_identified_with
facet_source_id: 'search_api:views_page__reporting_clients__page_1'

View File

@ -10,7 +10,7 @@ id: gender_identified_with_export
name: 'Gender Identity'
url_alias: gender_identified_with
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_gender_identified_with
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'

View File

@ -0,0 +1,62 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_cases
- views.view.reporting_cases
module:
- search_api
id: involved_parties
name: 'Involved Parties'
url_alias: involved_parties
weight: 0
min_count: 0
show_only_one_result: false
field_identifier: actors_involved
facet_source_id: 'search_api:views_page__reporting_cases__page_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
show_reset_link: false
reset_text: 'Show all'
hide_reset_when_no_selection: false
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
exclude_specified_items:
processor_id: exclude_specified_items
weights:
build: 50
settings:
exclude: client
regex: true
translate_entity:
processor_id: translate_entity
weights:
build: 5
settings: { }
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,55 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_cases
- views.view.reporting_cases
module:
- search_api
id: involved_parties_export
name: 'Involved Parties (Export)'
url_alias: involved_parties
weight: 0
min_count: 0
show_only_one_result: false
field_identifier: actors_involved
facet_source_id: 'search_api:views_data_export__reporting_cases__data_export_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
show_reset_link: false
reset_text: 'Show all'
hide_reset_when_no_selection: false
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
translate_entity:
processor_id: translate_entity
weights:
build: 5
settings: { }
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -10,7 +10,7 @@ id: languages
name: 'Languages'
url_alias: languages
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_languages_spoken
facet_source_id: 'search_api:views_page__reporting_clients__page_1'

View File

@ -10,7 +10,7 @@ id: languages_export
name: 'Languages'
url_alias: languages
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_languages_spoken
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'

View File

@ -6,13 +6,13 @@ dependencies:
- views.view.reporting_clients
module:
- search_api
id: nationality
name: 'Nationality'
url_alias: nationality
id: nationalities
name: Nationalities
url_alias: nationalities
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_nationality
field_identifier: field_nationalities
facet_source_id: 'search_api:views_page__reporting_clients__page_1'
widget:
type: checkbox

View File

@ -3,19 +3,18 @@ status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: nationality_export
name: 'Nationality'
url_alias: nationality
- views_data_export
id: nationalities_export
name: Nationalities-export
url_alias: nationalities_export
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_nationality
field_identifier: field_nationalities
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget:
type: checkbox
type: links
config:
show_numbers: false
soft_limit: 0
@ -30,6 +29,18 @@ hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
active_widget_order:
processor_id: active_widget_order
weights:
sort: 20
settings:
sort: DESC
count_widget_order:
processor_id: count_widget_order
weights:
sort: 30
settings:
sort: DESC
display_value_widget_order:
processor_id: display_value_widget_order
weights:

View File

@ -10,7 +10,7 @@ id: osic_level
name: 'OSIC level'
url_alias: osic_level
weight: 0
min_count: 1
min_count: 0
show_only_one_result: false
field_identifier: field_osic_level
facet_source_id: 'search_api:views_page__reporting_volunteers__page_1'

View File

@ -3,11 +3,10 @@ status: true
dependencies:
config:
- search_api.index.opencase_reporting_volunteers
- views.view.reporting_volunteers
module:
- search_api
- views_data_export
id: osic_level_export
name: 'OSIC level (Export)'
name: 'OSIC level Export'
url_alias: osic_level
weight: 0
min_count: 1
@ -15,7 +14,7 @@ show_only_one_result: false
field_identifier: field_osic_level
facet_source_id: 'search_api:views_data_export__reporting_volunteers__data_export_1'
widget:
type: checkbox
type: links
config:
show_numbers: false
soft_limit: 0
@ -30,6 +29,18 @@ hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
active_widget_order:
processor_id: active_widget_order
weights:
sort: 20
settings:
sort: DESC
count_widget_order:
processor_id: count_widget_order
weights:
sort: 30
settings:
sort: DESC
display_value_widget_order:
processor_id: display_value_widget_order
weights:

View File

@ -0,0 +1,52 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_cases
- views.view.reporting_cases
module:
- search_api
id: outcome
name: Outcome
url_alias: outcome
weight: 0
min_count: 0
show_only_one_result: false
field_identifier: field_outcome
facet_source_id: 'search_api:views_page__reporting_cases__page_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
show_reset_link: false
reset_text: 'Show all'
hide_reset_when_no_selection: false
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: false
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: text
text_format: plain_text
text: ''
show_title: false

View File

@ -0,0 +1,52 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_cases
- views.view.reporting_cases
module:
- search_api
id: outcome_export
name: Outcome (Export)
url_alias: outcome
weight: 0
min_count: 0
show_only_one_result: false
field_identifier: field_outcome
facet_source_id: 'search_api:views_data_export__reporting_cases__data_export_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
show_reset_link: false
reset_text: 'Show all'
hide_reset_when_no_selection: false
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: false
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: text
text_format: plain_text
text: ''
show_title: false

View File

@ -6,7 +6,7 @@ dependencies:
- field.storage.oc_actor.field_disability
- field.storage.oc_actor.field_gender_identified_with
- field.storage.oc_actor.field_languages_spoken
- field.storage.oc_actor.field_nationality
- field.storage.oc_actor.field_nationalities
- search_api.server.opencase_reporting_server
module:
- opencase_entities
@ -56,14 +56,38 @@ field_settings:
dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
field_nationality:
field_nationalities:
label: Nationality
datasource_id: 'entity:oc_actor'
property_path: field_nationality
property_path: field_nationalities
type: string
dependencies:
config:
- field.storage.oc_actor.field_nationality
- field.storage.oc_actor.field_nationalities
first_name:
label: 'First Name'
datasource_id: 'entity:oc_actor'
property_path: first_name
type: string
dependencies:
module:
- opencase_entities
last_name:
label: 'Last Name'
datasource_id: 'entity:oc_actor'
property_path: last_name
type: string
dependencies:
module:
- opencase_entities
post_code:
label: 'Post Code'
datasource_id: 'entity:oc_actor'
property_path: post_code
type: string
dependencies:
module:
- opencase_entities
datasource_settings:
'entity:oc_actor':
bundles:

View File

@ -1,25 +1,26 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
- field.storage.oc_actor.field_osic_level
- search_api.server.opencase_reporting_server
module:
- opencase_entities
- search_api
config:
- field.storage.oc_actor.field_osic_level
- search_api.server.opencase_reporting_server
id: opencase_reporting_volunteers
name: 'OpenCase Reporting: Volunteers'
description: ''
read_only: false
field_settings:
created:
label: Created
field_languages_spoken:
label: 'Languages spoken'
datasource_id: 'entity:oc_actor'
property_path: created
type: date
property_path: field_languages_spoken
type: string
dependencies:
module:
- opencase_entities
config:
- field.storage.oc_actor.field_languages_spoken
field_osic_level:
label: 'OSIC level'
datasource_id: 'entity:oc_actor'
@ -28,6 +29,14 @@ field_settings:
dependencies:
config:
- field.storage.oc_actor.field_osic_level
name:
label: Name
datasource_id: 'entity:oc_actor'
property_path: name
type: string
dependencies:
module:
- opencase_entities
datasource_settings:
'entity:oc_actor':
bundles:

View File

@ -0,0 +1,728 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_asylum_status
- field.storage.oc_actor.field_marital_
module:
- opencase_entities
- options
- user
id: name_and_status_changes
label: 'Name and Status Changes'
module: views
description: ''
tag: ''
base_table: oc_actor_field_revision
base_field: vid
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'view published case entities'
cache:
type: tag
options: { }
query:
type: views_query
options:
disable_sql_rewrite: false
distinct: false
replica: false
query_comment: ''
query_tags: { }
exposed_form:
type: basic
options:
submit_button: Go
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: false
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: none
options:
offset: 0
style:
type: table
options:
grouping:
-
field: view_oc_actor
rendered: true
rendered_strip: false
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
first_name: first_name
middle_names: middle_names
last_name: last_name
field_asylum_status-revision_id: field_asylum_status-revision_id
field_marital_-revision_id: field_marital_-revision_id
view_oc_actor: view_oc_actor
revision_created: revision_created
info:
first_name:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
middle_names:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
last_name:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_asylum_status-revision_id:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_marital_-revision_id:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
view_oc_actor:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
revision_created:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: '-1'
empty_table: false
row:
type: fields
options:
inline: { }
separator: ''
hide_empty: false
default_field_elements: true
fields:
revision_created:
id: revision_created
table: oc_actor_revision
field: revision_created
relationship: none
group_type: min
admin_label: ''
label: 'Date changed'
exclude: false
alter:
alter_text: true
text: '{{ revision_created | date(''d/m/Y'') }}'
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
set_precision: false
precision: 0
decimal: .
separator: ''
format_plural: 0
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ''
click_sort_column: value
type: timestamp
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
field_api_classes: false
entity_type: oc_actor
entity_field: revision_created
plugin_id: field
first_name:
id: first_name
table: oc_actor_field_revision
field: first_name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
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
entity_type: oc_actor
entity_field: first_name
plugin_id: field
middle_names:
id: middle_names
table: oc_actor_field_revision
field: middle_names
relationship: none
group_type: group
admin_label: ''
label: 'Middle Names'
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
entity_type: oc_actor
entity_field: middle_names
plugin_id: field
last_name:
id: last_name
table: oc_actor_field_revision
field: last_name
relationship: none
group_type: group
admin_label: ''
label: 'Last Name'
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
entity_type: oc_actor
entity_field: last_name
plugin_id: field
field_asylum_status-revision_id:
id: field_asylum_status-revision_id
table: oc_actor_revision__field_asylum_status
field: field_asylum_status-revision_id
relationship: none
group_type: group
admin_label: ''
label: 'Asylum 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
plugin_id: field
field_marital_-revision_id:
id: field_marital_-revision_id
table: oc_actor_revision__field_marital_
field: field_marital_-revision_id
relationship: none
group_type: group
admin_label: ''
label: 'Marital 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
plugin_id: field
view_oc_actor:
id: view_oc_actor
table: oc_actor_field_revision
field: view_oc_actor
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: true
alter:
alter_text: true
text: 'View current record for this person &#9660;'
make_link: true
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: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
text: 'See "rewrite results" (had to do it that way because contains HTML).'
output_url_as_text: false
absolute: false
entity_type: oc_actor
plugin_id: entity_link
filters:
first_name:
id: first_name
table: oc_actor_field_revision
field: first_name
relationship: none
group_type: group
admin_label: ''
operator: starts
value: ''
group: 1
exposed: true
expose:
operator_id: first_name_op
label: 'First Name'
description: ''
use_operator: false
operator: first_name_op
operator_limit_selection: false
operator_list: { }
identifier: first_name
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
overseer: '0'
caseworker: '0'
volunteer_co_ord: '0'
opencase_admin: '0'
placeholder: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
entity_type: oc_actor
entity_field: first_name
plugin_id: string
last_name:
id: last_name
table: oc_actor_field_revision
field: last_name
relationship: none
group_type: group
admin_label: ''
operator: starts
value: ''
group: 1
exposed: true
expose:
operator_id: last_name_op
label: 'Last Name'
description: ''
use_operator: false
operator: last_name_op
operator_limit_selection: false
operator_list: { }
identifier: last_name
required: false
remember: false
multiple: false
remember_roles:
authenticated: authenticated
anonymous: '0'
administrator: '0'
overseer: '0'
caseworker: '0'
volunteer_co_ord: '0'
opencase_admin: '0'
placeholder: ''
is_grouped: false
group_info:
label: ''
description: ''
identifier: ''
optional: true
widget: select
multiple: false
remember: false
default_group: All
default_group_multiple: { }
group_items: { }
entity_type: oc_actor
entity_field: last_name
plugin_id: string
sorts:
revision_created:
id: revision_created
table: oc_actor_revision
field: revision_created
relationship: none
group_type: min
admin_label: ''
order: ASC
exposed: false
expose:
label: ''
granularity: second
entity_type: oc_actor
entity_field: revision_created
plugin_id: date
header: { }
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
group_by: true
use_ajax: true
title: 'Name, Asylum and Marital Status Report'
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_asylum_status'
- 'config:field.storage.oc_actor.field_marital_'
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
path: opencase/reporting/name_and_status_changes
display_extenders:
library_in_views_display_extender: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_asylum_status'
- 'config:field.storage.oc_actor.field_marital_'

View File

@ -2,11 +2,8 @@ langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
- field.storage.oc_actor.field_osic_level
- search_api.index.opencase_reporting_volunteers
content:
- 'block_content:basic:944ff38d-5931-4439-91d5-f53b5ad7aac7'
- field.storage.oc_case.field_outcome
- search_api.index.opencase_reporting_cases
module:
- csv_serialization
- options
@ -15,12 +12,12 @@ dependencies:
- serialization
- user
- views_data_export
id: reporting_volunteers
label: 'Reporting: Volunteers'
id: reporting_cases
label: 'Reporting: Cases'
module: views
description: ''
tag: ''
base_table: search_api_index_opencase_reporting_volunteers
base_table: search_api_index_opencase_reporting_cases
base_field: search_api_id
core: 8.x
display:
@ -35,13 +32,14 @@ display:
options:
perm: 'use opencase'
cache:
type: tag
type: none
options: { }
query:
type: views_query
options:
bypass_access: false
skip_access: false
preserve_facet_query_args: false
exposed_form:
type: basic
options:
@ -55,7 +53,7 @@ display:
pager:
type: mini
options:
items_per_page: 10
items_per_page: 20
offset: 0
id: 0
total_pages: null
@ -72,17 +70,58 @@ display:
next:
style:
type: table
options:
grouping: { }
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
name: name
type: type
actors_involved: actors_involved
field_outcome: field_outcome
info:
name:
align: ''
separator: ''
empty_column: false
responsive: ''
type:
align: ''
separator: ''
empty_column: false
responsive: ''
actors_involved:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_outcome:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: '-1'
empty_table: false
row:
type: fields
fields:
first_name:
id: first_name
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor
field: first_name
name:
id: name
table: search_api_datasource_opencase_reporting_cases_entity_oc_case
field: name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
label: ''
exclude: false
alter:
alter_text: false
@ -126,7 +165,7 @@ display:
click_sort_column: value
type: string
settings:
link_to_entity: false
link_to_entity: true
group_column: value
group_columns: { }
group_rows: true
@ -144,87 +183,16 @@ display:
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: oc_actor
entity_type: oc_case
plugin_id: search_api_field
last_name:
id: last_name
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor
field: last_name
type:
id: type
table: search_api_datasource_opencase_reporting_cases_entity_oc_case
field: type
relationship: none
group_type: group
admin_label: ''
label: 'Last Name'
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_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field
created:
id: created
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor
field: created
relationship: none
group_type: group
admin_label: ''
label: 'Created Date'
label: ''
exclude: false
alter:
alter_text: false
@ -265,13 +233,11 @@ display:
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: timestamp
click_sort_column: target_id
type: entity_reference_label
settings:
date_format: medium
custom_date_format: ''
timezone: ''
group_column: value
link: false
group_column: target_id
group_columns: { }
group_rows: true
delta_limit: 0
@ -282,96 +248,28 @@ display:
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api_date
fallback_handler: search_api_entity
fallback_options:
date_format: fallback
custom_date_format: ''
timezone: ''
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: oc_actor
display_methods:
oc_case_type:
display_method: label
entity_type: oc_case
plugin_id: search_api_field
field_osic_level:
id: field_osic_level
table: search_api_index_opencase_reporting_volunteers
field: field_osic_level
relationship: none
group_type: group
admin_label: ''
label: 'OSIC Level'
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_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
actors_involved:
table: search_api_index_opencase_reporting_cases
field: actors_involved
id: actors_involved
entity_type: null
entity_field: null
plugin_id: search_api_field
field_languages_spoken:
id: field_languages_spoken
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor
field: field_languages_spoken
relationship: none
group_type: group
admin_label: ''
label: Languages
label: ''
exclude: false
alter:
alter_text: false
@ -412,6 +310,75 @@ display:
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: entity_reference_label
settings: { }
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_rendering: true
fallback_handler: search_api_entity
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
display_methods: { }
field_outcome:
id: field_outcome
table: search_api_index_opencase_reporting_cases
field: field_outcome
relationship: none
group_type: group
admin_label: ''
label: ''
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: false
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: { }
@ -432,31 +399,16 @@ display:
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field
filters: { }
sorts: { }
title: 'Volunteer Report'
header:
entity_block_content:
id: entity_block_content
table: views
field: entity_block_content
relationship: none
group_type: group
admin_label: ''
empty: false
tokenize: true
target: 944ff38d-5931-4439-91d5-f53b5ad7aac7
view_mode: default
bypass_access: false
plugin_id: entity
title: 'Reporting: Cases'
header: { }
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
use_ajax: true
cache_metadata:
max-age: -1
contexts:
@ -465,8 +417,7 @@ display:
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'
- 'config:field.storage.oc_case.field_outcome'
data_export_1:
display_plugin: data_export
id: data_export_1
@ -474,8 +425,11 @@ display:
position: 2
display_options:
display_extenders: { }
path: opencase/reporting/volunteers
path: opencase/reporting/cases
filename: '[view:title].csv'
displays:
page_1: page_1
default: '0'
style:
type: data_export
options:
@ -508,8 +462,7 @@ display:
- request_format
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'
- 'config:field.storage.oc_case.field_outcome'
page_1:
display_plugin: page
id: page_1
@ -517,7 +470,7 @@ display:
position: 1
display_options:
display_extenders: { }
path: opencase/reporting/volunteers
path: opencase/reporting/cases
cache_metadata:
max-age: -1
contexts:
@ -526,5 +479,4 @@ display:
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'
- 'config:field.storage.oc_case.field_outcome'

View File

@ -6,11 +6,10 @@ dependencies:
- field.storage.oc_actor.field_disability
- field.storage.oc_actor.field_gender_identified_with
- field.storage.oc_actor.field_languages_spoken
- field.storage.oc_actor.field_nationality
- field.storage.oc_actor.field_nationalities
- search_api.index.opencase_reporting_clients
content:
- 'block_content:basic:944ff38d-5931-4439-91d5-f53b5ad7aac7'
module:
- csv_serialization
- options
- rest
- search_api
@ -57,10 +56,13 @@ display:
pager:
type: mini
options:
items_per_page: 10
items_per_page: 50
offset: 0
id: 0
total_pages: null
tags:
previous:
next:
expose:
items_per_page: false
items_per_page_label: 'Items per page'
@ -69,22 +71,19 @@ display:
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
tags:
previous:
next:
style:
type: table
row:
type: fields
fields:
first_name:
id: first_name
name:
id: name
table: search_api_datasource_opencase_reporting_clients_entity_oc_actor
field: first_name
field: name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
label: Name
exclude: false
alter:
alter_text: false
@ -128,78 +127,7 @@ display:
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_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field
last_name:
id: last_name
table: search_api_datasource_opencase_reporting_clients_entity_oc_actor
field: last_name
relationship: none
group_type: group
admin_label: ''
label: 'Last Name'
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
link_to_entity: true
group_column: value
group_columns: { }
group_rows: true
@ -429,14 +357,14 @@ display:
multi_type: separator
multi_separator: ', '
plugin_id: search_api_field
field_languages_spoken:
id: field_languages_spoken
table: search_api_index_opencase_reporting_clients
field: field_languages_spoken
field_nationalities:
id: field_nationalities
table: search_api_datasource_opencase_reporting_clients_entity_oc_actor
field: field_nationalities
relationship: none
group_type: group
admin_label: ''
label: Languages
label: Nationality
exclude: false
alter:
alter_text: false
@ -497,15 +425,16 @@ display:
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field
field_nationality:
id: field_nationality
field_languages_spoken:
id: field_languages_spoken
table: search_api_index_opencase_reporting_clients
field: field_nationality
field: field_languages_spoken
relationship: none
group_type: group
admin_label: ''
label: Nationality
label: Languages
exclude: false
alter:
alter_text: false
@ -547,9 +476,8 @@ display:
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
type: list_default
settings: { }
group_column: value
group_columns: { }
group_rows: true
@ -661,7 +589,6 @@ display:
relationships: { }
arguments: { }
display_extenders: { }
use_ajax: true
cache_metadata:
max-age: -1
contexts:
@ -674,7 +601,7 @@ display:
- 'config:field.storage.oc_actor.field_disability'
- 'config:field.storage.oc_actor.field_gender_identified_with'
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_nationality'
- 'config:field.storage.oc_actor.field_nationalities'
data_export_1:
display_plugin: data_export
id: data_export_1
@ -684,6 +611,37 @@ display:
display_extenders: { }
path: opencase/reporting/clients
filename: '[view:title].csv'
cache:
type: none
defaults:
cache: false
displays:
page_1: page_1
default: '0'
style:
type: data_export
options:
formats:
csv: csv
csv_settings:
delimiter: ','
enclosure: '"'
escape_char: \
strip_tags: true
trim: true
encoding: utf8
xls_settings:
xls_format: Excel2007
metadata:
creator: ''
last_modified_by: ''
title: ''
description: ''
subject: ''
keywords: ''
category: ''
manager: ''
company: ''
cache_metadata:
max-age: -1
contexts:
@ -696,7 +654,7 @@ display:
- 'config:field.storage.oc_actor.field_disability'
- 'config:field.storage.oc_actor.field_gender_identified_with'
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_nationality'
- 'config:field.storage.oc_actor.field_nationalities'
page_1:
display_plugin: page
id: page_1
@ -721,4 +679,4 @@ display:
- 'config:field.storage.oc_actor.field_disability'
- 'config:field.storage.oc_actor.field_gender_identified_with'
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_nationality'
- 'config:field.storage.oc_actor.field_nationalities'

View File

@ -0,0 +1,395 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
- field.storage.oc_actor.field_osic_level
- search_api.index.opencase_reporting_volunteers
module:
- csv_serialization
- options
- rest
- search_api
- serialization
- user
- views_data_export
id: reporting_volunteers
label: 'Reporting: Volunteers'
module: views
description: ''
tag: ''
base_table: search_api_index_opencase_reporting_volunteers
base_field: search_api_id
core: 8.x
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'use opencase'
cache:
type: tag
options: { }
query:
type: views_query
options:
bypass_access: false
skip_access: false
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
options:
items_per_page: 50
offset: 0
id: 0
total_pages: null
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
tags:
previous:
next:
style:
type: table
options:
grouping: { }
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
field_languages_spoken: field_languages_spoken
info:
field_languages_spoken:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: '-1'
empty_table: false
row:
type: fields
fields:
name:
id: name
table: search_api_index_opencase_reporting_volunteers
field: name
relationship: none
group_type: group
admin_label: ''
label: Name
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: true
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_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
plugin_id: search_api_field
field_languages_spoken_1:
id: field_languages_spoken_1
table: search_api_index_opencase_reporting_volunteers
field: field_languages_spoken
relationship: none
group_type: group
admin_label: ''
label: 'Languages spoken'
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_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
plugin_id: search_api_field
field_osic_level:
id: field_osic_level
table: search_api_index_opencase_reporting_volunteers
field: field_osic_level
relationship: none
group_type: group
admin_label: ''
label: 'OSIC level'
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_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
plugin_id: search_api_field
filters: { }
sorts: { }
title: 'Volunteer Report'
header: { }
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'
data_export_1:
display_plugin: data_export
id: data_export_1
display_title: 'Data export'
position: 2
display_options:
display_extenders: { }
path: opencase/reporting/volunteers
filename: '[view:title].csv'
cache:
type: none
defaults:
cache: false
displays:
page_1: page_1
default: '0'
style:
type: data_export
options:
formats:
csv: csv
csv_settings:
delimiter: ','
enclosure: '"'
escape_char: \
strip_tags: true
trim: true
encoding: utf8
xls_settings:
xls_format: Excel2007
metadata:
creator: ''
last_modified_by: ''
title: ''
description: ''
subject: ''
keywords: ''
category: ''
manager: ''
company: ''
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- request_format
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders: { }
path: opencase/reporting/volunteers
cache:
type: none
defaults:
cache: false
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'

View File

@ -0,0 +1,8 @@
name: 'Opencase example reporting'
type: module
description: 'Reporting on the types of people, cases etc that the Opencase Defaults module provides'
core: 8.x
package: 'OpenCase'
dependencies:
- opencase_defaults
- opencase_reporting

View File

@ -0,0 +1,7 @@
opencase_default_reporting.report_on_status_changes:
title: 'Status Changes'
description: "Report on changes to people's name, asylum or marital status"
parent: opencase_reporting.reporting_menu
url: internal:/opencase/reporting/name_and_status_changes
weight: 2

View File

@ -0,0 +1,43 @@
<?php
function opencase_default_reporting_uninstall() {
$configs = [
'search_api.index.opencase_reporting_cases',
'search_api.index.opencase_reporting_clients',
'search_api.index.opencase_reporting_volunteers',
'block.block.facet_asylum_status',
'block.block.facet_created',
'block.block.facet_disability',
'block.block.facet_gender_identified_with',
'block.block.facet_languages',
'block.block.nationalities',
'block.block.osiclevel',
'block.block.outcome',
'block.block.involvedparties',
'views.view.reporting_clients',
'views.view.reporting_volunteers',
'views.view.reporting_cases',
'views.view.name_and_status_changes',
'facets.facet.asylum_status_export',
'facets.facet.disability',
'facets.facet.nationalities_export',
'facets.facet.asylum_status',
'facets.facet.gender_identified_with_export',
'facets.facet.nationalities',
'facets.facet.created_export',
'facets.facet.gender_identified_with',
'facets.facet.osic_level_export',
'facets.facet.created',
'facets.facet.languages_export',
'facets.facet.osic_level',
'facets.facet.disability_export',
'facets.facet.languages',
'facets.facet.outcome',
'facets.facet.outcome_export',
'facets.facet.involved_parties',
'facets.facet.involved_parties_export',
];
foreach($configs as $config) {
Drupal::configFactory()->getEditable($config)->delete();
}
}

View File

@ -0,0 +1,633 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_asylum_status
- field.storage.oc_actor.field_marital_
module:
- opencase_entities
- options
- user
id: name_and_status_changes
label: 'Name and Status Changes'
module: views
description: ''
tag: ''
base_table: oc_actor_field_revision
base_field: vid
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'view published case entities'
cache:
type: tag
options: { }
query:
type: views_query
options:
disable_sql_rewrite: false
distinct: false
replica: false
query_comment: ''
query_tags: { }
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: none
options:
offset: 0
style:
type: table
options:
grouping:
-
field: view_oc_actor
rendered: true
rendered_strip: false
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
first_name: first_name
middle_names: middle_names
last_name: last_name
field_asylum_status-revision_id: field_asylum_status-revision_id
field_marital_-revision_id: field_marital_-revision_id
view_oc_actor: view_oc_actor
revision_created: revision_created
info:
first_name:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
middle_names:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
last_name:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_asylum_status-revision_id:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
field_marital_-revision_id:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
view_oc_actor:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
revision_created:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
default: '-1'
empty_table: false
row:
type: fields
options:
inline: { }
separator: ''
hide_empty: false
default_field_elements: true
fields:
revision_created:
id: revision_created
table: oc_actor_revision
field: revision_created
relationship: none
group_type: min
admin_label: ''
label: 'Date changed'
exclude: false
alter:
alter_text: true
text: '{{ revision_created | date(''d/m/Y'') }}'
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
set_precision: false
precision: 0
decimal: .
separator: ''
format_plural: 0
format_plural_string: !!binary MQNAY291bnQ=
prefix: ''
suffix: ''
click_sort_column: value
type: timestamp
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
field_api_classes: false
entity_type: oc_actor
entity_field: revision_created
plugin_id: field
first_name:
id: first_name
table: oc_actor_field_revision
field: first_name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
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
entity_type: oc_actor
entity_field: first_name
plugin_id: field
middle_names:
id: middle_names
table: oc_actor_field_revision
field: middle_names
relationship: none
group_type: group
admin_label: ''
label: 'Middle Names'
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
entity_type: oc_actor
entity_field: middle_names
plugin_id: field
last_name:
id: last_name
table: oc_actor_field_revision
field: last_name
relationship: none
group_type: group
admin_label: ''
label: 'Last Name'
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
entity_type: oc_actor
entity_field: last_name
plugin_id: field
field_asylum_status-revision_id:
id: field_asylum_status-revision_id
table: oc_actor_revision__field_asylum_status
field: field_asylum_status-revision_id
relationship: none
group_type: group
admin_label: ''
label: 'Asylum 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
plugin_id: field
field_marital_-revision_id:
id: field_marital_-revision_id
table: oc_actor_revision__field_marital_
field: field_marital_-revision_id
relationship: none
group_type: group
admin_label: ''
label: 'Marital 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
plugin_id: field
view_oc_actor:
id: view_oc_actor
table: oc_actor_field_revision
field: view_oc_actor
relationship: none
group_type: group
admin_label: ''
label: ''
exclude: true
alter:
alter_text: true
text: 'View the current record for this person &#9660;'
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: false
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
text: ''
output_url_as_text: false
absolute: false
entity_type: oc_actor
plugin_id: entity_link
filters: { }
sorts:
revision_created:
id: revision_created
table: oc_actor_revision
field: revision_created
relationship: none
group_type: min
admin_label: ''
order: DESC
exposed: false
expose:
label: ''
granularity: second
entity_type: oc_actor
entity_field: revision_created
plugin_id: date
header: { }
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
group_by: true
title: 'Name, Asylum and Marital Status Report'
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_asylum_status'
- 'config:field.storage.oc_actor.field_marital_'
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders:
library_in_views_display_extender:
attach_library:
attach_library: opencase/opencase-grouped-views
path: opencase/reporting/name_and_status_changes
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_asylum_status'
- 'config:field.storage.oc_actor.field_marital_'

View File

@ -13,8 +13,9 @@ dependencies:
- field.field.oc_actor.client.field_income
- field.field.oc_actor.client.field_languages_spoken
- field.field.oc_actor.client.field_marital_
- field.field.oc_actor.client.field_nationality
- field.field.oc_actor.client.field_nationalities
- field.field.oc_actor.client.field_referred_by
- field.field.oc_actor.client.field_sex
- opencase_entities.oc_actor_type.client
module:
- datetime
@ -25,7 +26,7 @@ bundle: client
mode: default
content:
field_asylum_status:
weight: 6
weight: 4
settings: { }
third_party_settings: { }
type: options_select
@ -39,27 +40,19 @@ content:
type: string_textfield
region: content
field_confidentiality_form:
weight: 15
weight: 13
settings:
progress_indicator: throbber
third_party_settings: { }
type: file_generic
region: content
field_date_of_birth:
weight: 3
weight: 0
settings: { }
third_party_settings: { }
type: datetime_default
region: content
field_dependants:
weight: 12
settings:
size: 60
placeholder: ''
third_party_settings: { }
type: string_textfield
region: content
field_disability:
weight: 10
settings:
size: 60
@ -67,45 +60,7 @@ content:
third_party_settings: { }
type: string_textfield
region: content
field_ethnic_o:
weight: 7
settings:
size: 60
placeholder: ''
third_party_settings: { }
type: string_textfield
region: content
field_gender_identified_with:
weight: 4
settings: { }
third_party_settings: { }
type: options_select
region: content
field_how_heard:
weight: 13
settings: { }
third_party_settings: { }
type: options_select
region: content
field_income:
weight: 11
settings: { }
third_party_settings: { }
type: options_select
region: content
field_languages_spoken:
weight: 9
settings: { }
third_party_settings: { }
type: options_select
region: content
field_marital_:
weight: 5
settings: { }
third_party_settings: { }
type: options_select
region: content
field_nationality:
field_disability:
weight: 8
settings:
size: 60
@ -113,14 +68,64 @@ content:
third_party_settings: { }
type: string_textfield
region: content
field_referred_by:
weight: 14
field_ethnic_o:
weight: 5
settings:
size: 60
placeholder: ''
third_party_settings: { }
type: string_textfield
region: content
field_gender_identified_with:
weight: 1
settings: { }
third_party_settings: { }
type: options_select
region: content
field_how_heard:
weight: 11
settings: { }
third_party_settings: { }
type: options_select
region: content
field_income:
weight: 9
settings: { }
third_party_settings: { }
type: options_select
region: content
field_languages_spoken:
weight: 7
settings: { }
third_party_settings: { }
type: options_select
region: content
field_marital_:
weight: 3
settings: { }
third_party_settings: { }
type: options_select
region: content
field_nationalities:
type: options_select
weight: 6
region: content
settings: { }
third_party_settings: { }
field_referred_by:
weight: 12
settings:
size: 60
placeholder: ''
third_party_settings: { }
type: string_textfield
region: content
field_sex:
weight: 2
settings: { }
third_party_settings: { }
type: options_select
region: content
name:
type: string_textfield
weight: -4
@ -129,30 +134,6 @@ content:
size: 60
placeholder: ''
third_party_settings: { }
phone:
type: string_textfield
weight: 0
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
phone2:
type: string_textfield
weight: 1
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
postal_address:
type: string_textarea
weight: 2
region: content
settings:
rows: 5
placeholder: ''
third_party_settings: { }
user_id:
type: entity_reference_autocomplete
weight: 5

View File

@ -3,7 +3,7 @@ status: true
dependencies:
config:
- field.field.oc_actor.volunteer.field_languages_spoken
- field.field.oc_actor.volunteer.field_nationality
- field.field.oc_actor.volunteer.field_nationalities
- field.field.oc_actor.volunteer.field_osic_level
- field.field.oc_actor.volunteer.field_skills
- opencase_entities.oc_actor_type.volunteer
@ -18,7 +18,7 @@ content:
third_party_settings: { }
type: options_select
region: content
field_nationality:
field_nationalities:
weight: 0
settings:
size: 60

View File

@ -13,7 +13,7 @@ dependencies:
- field.field.oc_actor.client.field_income
- field.field.oc_actor.client.field_languages_spoken
- field.field.oc_actor.client.field_marital_
- field.field.oc_actor.client.field_nationality
- field.field.oc_actor.client.field_nationalities
- field.field.oc_actor.client.field_referred_by
- opencase_entities.oc_actor_type.client
module:
@ -117,7 +117,7 @@ content:
third_party_settings: { }
type: list_default
region: content
field_nationality:
field_nationalities:
weight: 8
label: above
settings:

View File

@ -3,7 +3,7 @@ status: true
dependencies:
config:
- field.field.oc_actor.volunteer.field_languages_spoken
- field.field.oc_actor.volunteer.field_nationality
- field.field.oc_actor.volunteer.field_nationalities
- field.field.oc_actor.volunteer.field_osic_level
- field.field.oc_actor.volunteer.field_skills
- opencase_entities.oc_actor_type.volunteer
@ -22,7 +22,7 @@ content:
third_party_settings: { }
type: list_default
region: content
field_nationality:
field_nationalities:
weight: 3
label: above
settings:

View File

@ -0,0 +1,20 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_nationalities
- opencase_entities.oc_actor_type.client
module:
- options
id: oc_actor.client.field_nationalities
field_name: field_nationalities
entity_type: oc_actor
bundle: client
label: Nationality
description: 'To select multiple nationalities, hold down <b>Ctrl</b> (or the Mac equivalent) while clicking.'
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: list_string

View File

@ -2,17 +2,19 @@ langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_nationality
- field.storage.oc_actor.field_sex
- opencase_entities.oc_actor_type.client
id: oc_actor.client.field_nationality
field_name: field_nationality
module:
- options
id: oc_actor.client.field_sex
field_name: field_sex
entity_type: oc_actor
bundle: client
label: Nationality
label: Sex
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string
field_type: list_string

View File

@ -0,0 +1,20 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_nationalities
- opencase_entities.oc_actor_type.volunteer
module:
- options
id: oc_actor.volunteer.field_nationalities
field_name: field_nationalities
entity_type: oc_actor
bundle: volunteer
label: Nationality
description: 'To select multiple nationalities, hold down <b>Ctrl</b> (or the Mac equivalent) while clicking.'
required: false
translatable: true
default_value: { }
default_value_callback: ''
settings: { }
field_type: list_string

View File

@ -1,18 +0,0 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_nationality
- opencase_entities.oc_actor_type.volunteer
id: oc_actor.volunteer.field_nationality
field_name: field_nationality
entity_type: oc_actor
bundle: volunteer
label: Nationality
description: ''
required: false
translatable: true
default_value: { }
default_value_callback: ''
settings: { }
field_type: string

View File

@ -0,0 +1,611 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
- options
id: oc_actor.field_nationalities
field_name: field_nationalities
entity_type: oc_actor
type: list_string
settings:
allowed_values:
-
value: Afghan
label: Afghan
-
value: Albanian
label: Albanian
-
value: Algerian
label: Algerian
-
value: American
label: American
-
value: Andorran
label: Andorran
-
value: Angolan
label: Angolan
-
value: Antiguans
label: Antiguans
-
value: Argentinean
label: Argentinean
-
value: Armenian
label: Armenian
-
value: Australian
label: Australian
-
value: Austrian
label: Austrian
-
value: Azerbaijani
label: Azerbaijani
-
value: Bahamian
label: Bahamian
-
value: Bahraini
label: Bahraini
-
value: Bangladeshi
label: Bangladeshi
-
value: Barbadian
label: Barbadian
-
value: Barbudans
label: Barbudans
-
value: Batswana
label: Batswana
-
value: Belarusian
label: Belarusian
-
value: Belgian
label: Belgian
-
value: Belizean
label: Belizean
-
value: Beninese
label: Beninese
-
value: Bhutanese
label: Bhutanese
-
value: Bolivian
label: Bolivian
-
value: Bosnian
label: Bosnian
-
value: Brazilian
label: Brazilian
-
value: British
label: British
-
value: Bruneian
label: Bruneian
-
value: Bulgarian
label: Bulgarian
-
value: Burkinabe
label: Burkinabe
-
value: Burmese
label: Burmese
-
value: Burundian
label: Burundian
-
value: Cambodian
label: Cambodian
-
value: Cameroonian
label: Cameroonian
-
value: Canadian
label: Canadian
-
value: 'Cape Verdean'
label: 'Cape Verdean'
-
value: 'Central African'
label: 'Central African'
-
value: Chadian
label: Chadian
-
value: Chilean
label: Chilean
-
value: Chinese
label: Chinese
-
value: Colombian
label: Colombian
-
value: Comoran
label: Comoran
-
value: Congolese
label: Congolese
-
value: 'Costa Rican'
label: 'Costa Rican'
-
value: Croatian
label: Croatian
-
value: Cuban
label: Cuban
-
value: Cypriot
label: Cypriot
-
value: Czech
label: Czech
-
value: Danish
label: Danish
-
value: Djibouti
label: Djibouti
-
value: Dominican
label: Dominican
-
value: Dutch
label: Dutch
-
value: Dutchman
label: Dutchman
-
value: Dutchwoman
label: Dutchwoman
-
value: 'East Timorese'
label: 'East Timorese'
-
value: Ecuadorean
label: Ecuadorean
-
value: Egyptian
label: Egyptian
-
value: Emirian
label: Emirian
-
value: 'Equatorial Guinean'
label: 'Equatorial Guinean'
-
value: Eritrean
label: Eritrean
-
value: Estonian
label: Estonian
-
value: Ethiopian
label: Ethiopian
-
value: Fijian
label: Fijian
-
value: Filipino
label: Filipino
-
value: Finnish
label: Finnish
-
value: French
label: French
-
value: Gabonese
label: Gabonese
-
value: Gambian
label: Gambian
-
value: Georgian
label: Georgian
-
value: German
label: German
-
value: Ghanaian
label: Ghanaian
-
value: Greek
label: Greek
-
value: Grenadian
label: Grenadian
-
value: Guatemalan
label: Guatemalan
-
value: Guinea-Bissauan
label: Guinea-Bissauan
-
value: Guinean
label: Guinean
-
value: Guyanese
label: Guyanese
-
value: Haitian
label: Haitian
-
value: Herzegovinian
label: Herzegovinian
-
value: Honduran
label: Honduran
-
value: Hungarian
label: Hungarian
-
value: I-Kiribati
label: I-Kiribati
-
value: Icelander
label: Icelander
-
value: Indian
label: Indian
-
value: Indonesian
label: Indonesian
-
value: Iranian
label: Iranian
-
value: Iraqi
label: Iraqi
-
value: Irish
label: Irish
-
value: Israeli
label: Israeli
-
value: Italian
label: Italian
-
value: Ivorian
label: Ivorian
-
value: Jamaican
label: Jamaican
-
value: Japanese
label: Japanese
-
value: Jordanian
label: Jordanian
-
value: Kazakhstani
label: Kazakhstani
-
value: Kenyan
label: Kenyan
-
value: 'Kittian and Nevisian'
label: 'Kittian and Nevisian'
-
value: Kuwaiti
label: Kuwaiti
-
value: Kyrgyz
label: Kyrgyz
-
value: Laotian
label: Laotian
-
value: Latvian
label: Latvian
-
value: Lebanese
label: Lebanese
-
value: Liberian
label: Liberian
-
value: Libyan
label: Libyan
-
value: Liechtensteiner
label: Liechtensteiner
-
value: Lithuanian
label: Lithuanian
-
value: Luxembourger
label: Luxembourger
-
value: Macedonian
label: Macedonian
-
value: Malagasy
label: Malagasy
-
value: Malawian
label: Malawian
-
value: Malaysian
label: Malaysian
-
value: Maldivan
label: Maldivan
-
value: Malian
label: Malian
-
value: Maltese
label: Maltese
-
value: Marshallese
label: Marshallese
-
value: Mauritanian
label: Mauritanian
-
value: Mauritian
label: Mauritian
-
value: Mexican
label: Mexican
-
value: Micronesian
label: Micronesian
-
value: Moldovan
label: Moldovan
-
value: Monacan
label: Monacan
-
value: Mongolian
label: Mongolian
-
value: Moroccan
label: Moroccan
-
value: Mosotho
label: Mosotho
-
value: Motswana
label: Motswana
-
value: Mozambican
label: Mozambican
-
value: Namibian
label: Namibian
-
value: Nauruan
label: Nauruan
-
value: Nepalese
label: Nepalese
-
value: Netherlander
label: Netherlander
-
value: 'New Zealander'
label: 'New Zealander'
-
value: Ni-Vanuatu
label: Ni-Vanuatu
-
value: Nicaraguan
label: Nicaraguan
-
value: Nigerian
label: Nigerian
-
value: Nigerien
label: Nigerien
-
value: 'North Korean'
label: 'North Korean'
-
value: 'Northern Irish'
label: 'Northern Irish'
-
value: Norwegian
label: Norwegian
-
value: Omani
label: Omani
-
value: Pakistani
label: Pakistani
-
value: Palauan
label: Palauan
-
value: Panamanian
label: Panamanian
-
value: 'Papua New Guinean'
label: 'Papua New Guinean'
-
value: Paraguayan
label: Paraguayan
-
value: Peruvian
label: Peruvian
-
value: Polish
label: Polish
-
value: Portuguese
label: Portuguese
-
value: Qatari
label: Qatari
-
value: Romanian
label: Romanian
-
value: Russian
label: Russian
-
value: Rwandan
label: Rwandan
-
value: 'Saint Lucian'
label: 'Saint Lucian'
-
value: Salvadoran
label: Salvadoran
-
value: Samoan
label: Samoan
-
value: 'San Marinese'
label: 'San Marinese'
-
value: 'Sao Tomean'
label: 'Sao Tomean'
-
value: Saudi
label: Saudi
-
value: Scottish
label: Scottish
-
value: Senegalese
label: Senegalese
-
value: Serbian
label: Serbian
-
value: Seychellois
label: Seychellois
-
value: 'Sierra Leonean'
label: 'Sierra Leonean'
-
value: Singaporean
label: Singaporean
-
value: Slovakian
label: Slovakian
-
value: Slovenian
label: Slovenian
-
value: 'Solomon Islander'
label: 'Solomon Islander'
-
value: Somali
label: Somali
-
value: 'South African'
label: 'South African'
-
value: 'South Korean'
label: 'South Korean'
-
value: Spanish
label: Spanish
-
value: 'Sri Lankan'
label: 'Sri Lankan'
-
value: Sudanese
label: Sudanese
-
value: Surinamer
label: Surinamer
-
value: Swazi
label: Swazi
-
value: Swedish
label: Swedish
-
value: Swiss
label: Swiss
-
value: Syrian
label: Syrian
-
value: Taiwanese
label: Taiwanese
-
value: Tajik
label: Tajik
-
value: Tanzanian
label: Tanzanian
-
value: Thai
label: Thai
-
value: Togolese
label: Togolese
-
value: Tongan
label: Tongan
-
value: 'Trinidadian or Tobagonian'
label: 'Trinidadian or Tobagonian'
-
value: Tunisian
label: Tunisian
-
value: Turkish
label: Turkish
-
value: Tuvaluan
label: Tuvaluan
-
value: Ugandan
label: Ugandan
-
value: Ukrainian
label: Ukrainian
-
value: Uruguayan
label: Uruguayan
-
value: Uzbekistani
label: Uzbekistani
-
value: Venezuelan
label: Venezuelan
-
value: Vietnamese
label: Vietnamese
-
value: Welsh
label: Welsh
-
value: Yemenite
label: Yemenite
-
value: Zambian
label: Zambian
-
value: Zimbabwean
label: Zimbabwean
allowed_values_function: ''
module: options
locked: false
cardinality: -1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@ -1,20 +0,0 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
id: oc_actor.field_nationality
field_name: field_nationality
entity_type: oc_actor
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

View File

@ -0,0 +1,26 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
- options
id: oc_actor.field_sex
field_name: field_sex
entity_type: oc_actor
type: list_string
settings:
allowed_values:
-
value: Male
label: Male
-
value: Female
label: Female
allowed_values_function: ''
module: options
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@ -7,5 +7,4 @@ dependencies:
- contact
- field
- opencase_entities
- opencase_reporting
- options

View File

@ -1,12 +1,12 @@
opencase_defaults.report_on_clients:
title: 'Clients'
description: 'Report on clients'
parent: opencase_defaults.reporting_menu
parent: opencase_reporting.reporting_menu
url: internal:/opencase/reporting/clients
weight: 0
opencase_defaults.report_on_volunteers:
title: 'Volunteers'
description: 'Report on volunteers'
parent: opencase_defaults.reporting_menu
parent: opencase_reporting.reporting_menu
url: internal:/opencase/reporting/volunteers
weight: 1

View File

@ -9,24 +9,6 @@ use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\user\Entity\Role;
use Drupal\user\RoleInterface;
/**
* When a new actor type is created, this gives the CRM Admin and Overseer roles permission
* to view, edit and delete them.
*/
#function opencase_defaults_entity_insert(Drupal\Core\Entity\EntityInterface $entity) {
# if (get_class($entity) == 'Drupal\opencase_entities\Entity\OCActorType') {
# $type = $entity->id();
# $roles = Role::loadMultiple(['opencase_admin', 'overseer']);
# foreach ($roles as $role) {
# $role->grantPermission("view published $type entities");
# $role->grantPermission("edit $type entities");
# $role->grantPermission("delete $type entities");
# $role->grantPermission("add new $type entities");
# }
# \Drupal::logger('foo')->notice("<pre>".print_r(user_role_permissions(['overseer']), true) . "</pre>");
# }
#}
/**
* Implements hook_help().
*/
@ -53,3 +35,4 @@ function opencase_defaults_theme() {
],
];
}

View File

@ -22,9 +22,23 @@ use Drupal\Core\Render\Element;
function template_preprocess_oc_activity(array &$variables) {
// Fetch OCActivity Entity Object.
$oc_activity = $variables['elements']['#oc_activity'];
$variables['id'] = $oc_activity->get('id')[0]->get('value')->getValue();
// Helpful $content variable for templates.
foreach (Element::children($variables['elements']) as $key) {
$variables['content'][$key] = $variables['elements'][$key];
}
// Separate the fields into two sections to be displayed in two columns.
// Remove the name (title) field as this is displayed anyway.
$variables['base_fields'] = array();
$variables['other_fields'] = array();
foreach (Element::children($variables['elements']) as $key) {
$variables['content'][$key] = $variables['elements'][$key];
if (in_array($key, ['activity_date_time', 'time_taken', 'description', 'user_id'])) {
$variables['base_fields'][$key] = $variables['elements'][$key];
} else {
$variables['other_fields'][$key] = $variables['elements'][$key];
unset($variables['other_fields']['name']);
}
}
}

View File

@ -20,11 +20,17 @@ use Drupal\Core\Render\Element;
* - attributes: HTML attributes for the containing element.
*/
function template_preprocess_oc_actor(array &$variables) {
// Fetch OCActor Entity Object.
$oc_actor = $variables['elements']['#oc_actor'];
// Helpful $content variable for templates.
// Make the id available to the template and also separate the fields
// into two sections to be displayed in two columns.
$variables['id'] = $variables['elements']['#oc_actor']->get('id')[0]->get('value')->getValue();
$variables['contact_details'] = array();
$variables['fields_other_than_contact_details'] = array();
foreach (Element::children($variables['elements']) as $key) {
$variables['content'][$key] = $variables['elements'][$key];
if (in_array($key, ['email', 'phone', 'phone2', 'postal_address', 'post_code'])) {
$variables['contact_details'][$key] = $variables['elements'][$key];
} else {
$variables['fields_other_than_contact_details'][$key] = $variables['elements'][$key];
}
}
}

View File

@ -20,11 +20,18 @@ use Drupal\Core\Render\Element;
* - attributes: HTML attributes for the containing element.
*/
function template_preprocess_oc_case(array &$variables) {
// Fetch OCCase Entity Object.
$oc_case = $variables['elements']['#oc_case'];
// Helpful $content variable for templates.
// Separate the fields into two sections to be displayed in two columns.
// Remove the name (title) field as this is displayed anyway.
$variables['id'] = $variables['elements']['#oc_case']->get('id')[0]->get('value')->getValue();
$variables['base_fields'] = array();
$variables['other_fields'] = array();
foreach (Element::children($variables['elements']) as $key) {
$variables['content'][$key] = $variables['elements'][$key];
if (in_array($key, ['created', 'changed', 'files', 'actors_involved', 'status', 'user_id'])) {
$variables['base_fields'][$key] = $variables['elements'][$key];
} else {
$variables['other_fields'][$key] = $variables['elements'][$key];
unset($variables['other_fields']['name']);
}
}
}

View File

@ -0,0 +1,49 @@
<?php
use \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchemaConverter;
function opencase_entities_update_80192(&$sandbox) {
$schema_converter = new SqlContentEntityStorageSchemaConverter(
'oc_actor',
\Drupal::entityTypeManager(),
\Drupal::entityDefinitionUpdateManager(),
\Drupal::service('entity.last_installed_schema.repository'),
\Drupal::keyValue('entity.storage_schema.sql'),
\Drupal::database()
);
$contact_details_fields = ['email', 'phone', 'phone2', 'postal_address', 'post_code'];
$schema_converter->convertToRevisionable($sandbox, $contact_details_fields);
}
function opencase_entities_update_8016() {
$update_manager = \Drupal::entityDefinitionUpdateManager();
$definition = $update_manager->getFieldStorageDefinition('activity_date_time', 'oc_activity');
$update_manager->updateFieldStorageDefinition($definition);
}
/**
* Add 'activity_date_time' field to 'oc_activity' entities.
*/
function opencase_entities_update_8003() {
$storage_definition = \Drupal\Core\Field\BaseFieldDefinition::create('datetime')
->setLabel(t('Date and time'))
->setRevisionable(TRUE)
->setDefaultValueCallback('\Drupal\opencase_entities\Entity\OCActivity::currentDateTime')
->setDisplayOptions('view', [
'type' => 'datetime_default',
'settings' => [
'format_type' => 'medium',
],
'label' => 'above',
'weight' => -3,
])
->setDisplayOptions('form', [
'type' => 'datetime_default',
'weight' => -3,
]);
\Drupal::entityDefinitionUpdateManager()
->installFieldStorageDefinition('activity_date_time', 'oc_activity', 'oc_activity', $storage_definition);
}

View File

@ -1,6 +1,9 @@
permission_callbacks:
- Drupal\opencase_entities\OpenCaseEntityPermissions::permissions
view edit delete all actor entities:
title: 'View/Edit/Delete all types of people'
description: ''
administer opencase entity bundles:
title: 'Administer OpenCase Actor/Case/Activity Types'
@ -11,58 +14,6 @@ administer actor entities:
description: 'Allow to access the administration form to configure Actor entities.'
restrict access: true
#add client entities:
# title: 'Create new Client entities'
#
#delete client entities:
# title: 'Delete Client entities'
#
#edit client entities:
# title: 'Edit Client entities'
#
#view published client entities:
# title: 'View published Client entities'
#
#view unpublished client entities:
# title: 'View unpublished Client entities'
#
#view all client revisions:
# title: 'View all Client revisions'
#
#revert all client revisions:
# title: 'Revert all Client revisions'
# description: 'Role requires permission <em>view Client revisions</em> and <em>edit rights</em> for client entities in question or <em>administer client entities</em>.'
#
#delete all client revisions:
# title: 'Delete all Client revisions'
# description: 'Role requires permission to <em>view Client revisions</em> and <em>delete rights</em> for client entities in question or <em>administer client entities</em>.'
#
#add volunteer entities:
# title: 'Create new Volunteer entities'
#
#delete volunteer entities:
# title: 'Delete Volunteer entities'
#
#edit volunteer entities:
# title: 'Edit Volunteer entities'
#
#view published volunteer entities:
# title: 'View published Volunteer entities'
#
#view unpublished volunteer entities:
# title: 'View unpublished Volunteer entities'
#
#view all volunteer revisions:
# title: 'View all Volunteer revisions'
#
#revert all volunteer revisions:
# title: 'Revert all Volunteer revisions'
# description: 'Role requires permission <em>view Volunteer revisions</em> and <em>edit rights</em> for volunteer entities in question or <em>administer volunteer entities</em>.'
#
#delete all volunteer revisions:
# title: 'Delete all Volunteer revisions'
# description: 'Role requires permission to <em>view Volunteer revisions</em> and <em>delete rights</em> for volunteer entities in question or <em>administer volunteer entities</em>.'
add case entities:
title: 'Create new Case entities'

View File

@ -9,6 +9,8 @@ use Drupal\Core\Entity\RevisionableInterface;
use Drupal\Core\Entity\EntityChangedTrait;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\user\UserInterface;
use Drupal\datetime\Plugin\Field\FieldType\DateTimeItem;
use Drupal\Core\Datetime\DrupalDateTime;
/**
* Defines the Activity entity.
@ -81,6 +83,11 @@ class OCActivity extends RevisionableContentEntityBase implements OCActivityInte
return array(\Drupal::request()->query->get('case_id'));
}
public static function currentDateTime() {
$current_time = DrupalDateTime::createFromTimestamp(time());
$formatted = $current_time->format(DateTimeItem::DATETIME_STORAGE_FORMAT);
return $formatted;
}
/**
* {@inheritdoc}
*/
@ -210,6 +217,24 @@ class OCActivity extends RevisionableContentEntityBase implements OCActivityInte
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
$fields = parent::baseFieldDefinitions($entity_type);
$fields['activity_date_time'] = BaseFieldDefinition::create('datetime')
->setLabel(t('Date and time'))
->setRevisionable(TRUE)
->setRequired(TRUE)
->setDefaultValueCallback('\Drupal\opencase_entities\Entity\OCActivity::currentDateTime')
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'datetime_default',
'settings' => [
'format_type' => 'medium',
],
'weight' => -3,
])
->setDisplayOptions('form', [
'type' => 'datetime_default',
'weight' => -3,
]);
// not currently in use. Will set view and form settings when ready
$fields['status'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Publishing status'))

View File

@ -247,11 +247,6 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0,
])
->setDefaultValue('')
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -9,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -9,
@ -267,11 +262,6 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0,
])
->setDefaultValue('')
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -8,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -8,
@ -287,11 +277,6 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'text_processing' => 0,
])
->setDefaultValue('')
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -7,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -7,
@ -313,6 +298,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
// so it is not exposed to user configuration.
$fields['email'] = BaseFieldDefinition::create('string')
->setLabel(t('Email Address'))
->setRevisionable(TRUE)
->setSettings(array(
'default_value' => '',
'max_length' => 30,
@ -329,6 +315,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
));
$fields['phone'] = BaseFieldDefinition::create('string')
->setLabel(t('Main Phone Number'))
->setRevisionable(TRUE)
->setSettings(array(
'default_value' => '',
'max_length' => 20,
@ -344,6 +331,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'weight' => -4,
));
$fields['phone2'] = BaseFieldDefinition::create('string')
->setRevisionable(TRUE)
->setLabel(t('Alternative Phone Number'))
->setSettings(array(
'default_value' => '',
@ -360,6 +348,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'weight' => -3,
));
$fields['postal_address'] = BaseFieldDefinition::create('string_long')
->setRevisionable(TRUE)
->setLabel(t('Postal Address'))
->setDescription(t('Full address, apart from post code.'))
->setSettings(array(
@ -377,6 +366,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'weight' => -2,
));
$fields['post_code'] = BaseFieldDefinition::create('string')
->setRevisionable(TRUE)
->setLabel(t('Post Code'))
->setSettings(array(
'default_value' => '',

View File

@ -9,7 +9,7 @@ use Drupal\Core\Config\Entity\ConfigEntityBundleBase;
*
* @ConfigEntityType(
* id = "oc_actor_type",
* label = @Translation("Actor type"),
* label = @Translation("Person type"),
* handlers = {
* "access" = "Drupal\opencase_entities\OCActorTypeAccessControlHandler",
* "view_builder" = "Drupal\Core\Entity\EntityViewBuilder",

View File

@ -222,16 +222,15 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
->setDefaultValue(TRUE);
$fields['user_id'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Entered by'))
->setLabel(t('Created by'))
->setDescription(t('The user ID of author of the Case entity.'))
->setRevisionable(TRUE)
->setSetting('target_type', 'user')
->setSetting('handler', 'default')
->setTranslatable(TRUE)
->setDisplayOptions('view', [
'label' => 'inline',
'label' => 'above',
'type' => 'author',
'weight' => -4,
]);
$fields['name'] = BaseFieldDefinition::create('string')
->setLabel(t('Case Title'))
@ -245,7 +244,6 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
->setDisplayOptions('view', [
'label' => 'hidden',
'type' => 'string',
'weight' => -3,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
@ -261,6 +259,7 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
->setTranslatable(TRUE)
->setCardinality(-1)
->setDisplayOptions('form', [
'label' => 'above',
'type' => 'entity_reference_autocomplete',
'weight' => -2,
'settings' => [
@ -272,7 +271,6 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
])
->setDisplayOptions('view', [
'label' => 'above',
'weight' => -2
])
->setDefaultValueCallback('Drupal\opencase_entities\Entity\OCCase::defaultVal')
->setRequired(TRUE);
@ -295,17 +293,22 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
])
->setDisplayOptions('view', [
'label' => 'above',
'weight' => -1,
'settings' => ['use_description_as_link_text' => 'true']
]);
$fields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Created'))
->setDescription(t('The time that the entity was created.'));
->setLabel(t('Created on'))
->setDescription(t('When the case was created.'))
->setDisplayOptions('view', [
'label' => 'above',
]);
$fields['changed'] = BaseFieldDefinition::create('changed')
->setLabel(t('Changed'))
->setDescription(t('The time that the entity was last edited.'));
->setLabel(t('Last updated'))
->setDescription(t('When the case was last edited.'))
->setDisplayOptions('view', [
'label' => 'above',
]);
$fields['revision_translation_affected'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Revision translation affected'))

View File

@ -38,18 +38,11 @@ class OCActorForm extends ContentEntityForm {
*/
public function save(array $form, FormStateInterface $form_state) {
$entity = $this->entity;
// Save as a new revision if requested to do so.
if (!$form_state->isValueEmpty('new_revision') && $form_state->getValue('new_revision') != FALSE) {
$entity->setNewRevision();
// If a new revision is created, save the current user as revision author.
$entity->setRevisionCreationTime(REQUEST_TIME);
$entity->setRevisionUserId(\Drupal::currentUser()->id());
}
else {
$entity->setNewRevision(FALSE);
}
// Always make a new revision for a person. They are not changed often and people are likely to
// want to know what has happened to them over time.
$entity->setNewRevision();
$entity->setRevisionCreationTime(REQUEST_TIME);
$entity->setRevisionUserId(\Drupal::currentUser()->id());
$status = parent::save($form, $form_state);

View File

@ -22,7 +22,7 @@ class OCActorTypeForm extends EntityForm {
'#title' => $this->t('Label'),
'#maxlength' => 255,
'#default_value' => $oc_actor_type->label(),
'#description' => $this->t("Label for the Actor type."),
'#description' => $this->t("Label for the Person type."),
'#required' => TRUE,
];
@ -49,13 +49,13 @@ class OCActorTypeForm extends EntityForm {
switch ($status) {
case SAVED_NEW:
drupal_set_message($this->t('Created the %label Actor type.', [
drupal_set_message($this->t('Created the %label Person type.', [
'%label' => $oc_actor_type->label(),
]));
break;
default:
drupal_set_message($this->t('Saved the %label Actor type.', [
drupal_set_message($this->t('Saved the %label Person type.', [
'%label' => $oc_actor_type->label(),
]));
}

View File

@ -14,7 +14,7 @@ class OCActorTypeListBuilder extends ConfigEntityListBuilder {
* {@inheritdoc}
*/
public function buildHeader() {
$header['label'] = $this->t('Actor type');
$header['label'] = $this->t('Person type');
$header['id'] = $this->t('Machine name');
return $header + parent::buildHeader();
}

View File

@ -16,7 +16,18 @@
*/
#}
<div{{ attributes.addClass('oc_activity') }}>
{% if content %}
{{- content -}}
{% endif %}
<h2>{{ title }}</h2>
<div class="oc_entity">
<div class="left">
{{ base_fields.activity_date_time }}
{{ base_fields.description }}
{{ base_fields.time_taken }}
{{ base_fields.user_id }}
</div>
<div class="right">
{% for field in other_fields %}
{{ field }}
{% endfor %}
</div>
</div>
</div>

View File

@ -16,7 +16,20 @@
*/
#}
<div{{ attributes.addClass('oc_actor') }}>
{% if content %}
{{- content -}}
{% endif %}
<div class="oc_entity">
<div class="left">
{% for field in fields_other_than_contact_details %}
{{ field }}
{% endfor %}
</div>
<div class="right">
<div id ="contact_details">
<h2>Contact Details</h2>
<a class="field" href="/opencase/oc_actor/{{ id }}/contact_details_history">See history</a>
{% for field in contact_details %}
{{ field }}
{% endfor %}
</div>
</div>
</div>
</div>

View File

@ -16,7 +16,18 @@
*/
#}
<div{{ attributes.addClass('oc_case') }}>
{% if content %}
{{- content -}}
{% endif %}
<h2>{{ title }}</h2>
<div class="oc_entity">
<div class="left">
{{ base_fields.actors_involved }}
{{ base_fields.changed }}
{{ base_fields.created }}
{{ base_fields.user_id }}
</div>
<div class="right">
{% for field in other_fields %}
{{ field }}
{% endfor %}
</div>
</div>
</div>

View File

@ -52,7 +52,7 @@ display:
pager:
type: mini
options:
items_per_page: 10
items_per_page: 50
offset: 0
id: 0
total_pages: null

View File

@ -1,6 +1,6 @@
opencase_defaults.reporting_menu:
opencase_reporting.reporting_menu:
title: 'Reporting'
description: 'Report on clients'
menu_name: opencase
url: internal:#
route_name: opencase_reporting.reporting_menu
weight: 10

View File

@ -0,0 +1,4 @@
opencase_reporting.reporting_menu:
path: '/'
requirements:
_permission: 'use opencase'

View File

@ -50,7 +50,7 @@ display:
pager:
type: mini
options:
items_per_page: 20
items_per_page: 50
offset: 0
id: 0
total_pages: null

View File

@ -6,4 +6,3 @@ package: 'OpenCase'
dependencies:
- search_api
- search_api_db
- opencase

View File

@ -2,6 +2,7 @@ name: 'OpenCase'
type: module
description: 'Simple Case Management'
core: 8.x
version: 8.x-1.9.2
package: 'OpenCase'
dependencies:
- opencase_entities

View File

@ -5,3 +5,8 @@ opencase-lib:
css/opencase.css: {}
js:
js/opencase.js: {}
opencase-grouped-views:
version: 1.x
css:
layout:
css/grouped_views.css: {}

View File

@ -2,7 +2,7 @@ opencase.cases:
title: 'Cases'
description: 'View cases'
menu_name: opencase
url: internal:#
route_name: opencase.opencase_cases_menu
weight: 0
opencase.opencase_all_cases:
title: 'All Cases'
@ -16,7 +16,7 @@ opencase.opencase_add_people_menu:
title: 'Add people'
description: 'Add new people'
menu_name: opencase
url: internal:#
route_name: opencase.opencase_people_menu
weight: 1
opencase.add_people_links:
class: Drupal\opencase\Plugin\Menu\AddActorsMenuLink
@ -73,8 +73,8 @@ opencase.view_documentation:
url: https://hoegrammer.gitbooks.io/opencase/content/
weight: 0
opencase.contact_developers:
title: 'Contact OpenCase'
description: 'Contact the OpenCase developers'
title: 'Ask the developers'
description: 'Ask us (erm, me actually) anything!'
menu_name: opencase
parent: opencase.opencase_support_menu
url: internal:/contact

View File

@ -9,6 +9,29 @@ use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Access\AccessResult;
use Drupal\opencase\EntityTypeRelationsWidget;
/**
* Implements hook_element_info_alter().
*/
function opencase_element_info_alter(array &$types) {
$types['datetime']['#process'][] = 'opencase_process_element';
}
/**
* Element process callback for datetime fields. Removes the seconds part.
*/
function opencase_process_element($element) {
if ($element['#date_time_element'] !== 'none') {
$element['#date_time_format'] = 'H:i';
}
if (!empty($element['time']['#value'])) {
$parts = explode(':', $element['time']['#value']);
$parts = array_splice($parts, 0, 2);
$element['time']['#value'] = implode(':', $parts);
}
// Remove seconds in browsers that support HTML5 type=date.
$element['time']['#attributes']['step'] = 60;
return $element;
}
/**
* Implements hook_block_access
@ -138,8 +161,11 @@ function opencase_form_oc_case_type_edit_form_alter(&$form, $form_state) {
function opencase_uninstall() {
$configs = [
'block.block.opencasecontextualmenu',
'block.block.opencase',
'system.menu.opencase',
'views.view.cases',
'views.view.activities'
'views.view.activities',
'views.view.contact_details_changes'
];
foreach($configs as $config) {
Drupal::configFactory()->getEditable($config)->delete();

View File

@ -1,8 +1,12 @@
opencase.opencase_admin_menu:
path: '#'
path: '/'
requirements:
_permission: 'administer users'
opencase.opencase_admin_menu:
path: '#'
_permission: 'administer opencase entity bundles'
opencase.opencase_cases_menu:
path: '/'
requirements:
_permission: 'administer users'
_permission: 'use opencase'
opencase.opencase_people_menu:
path: '/'
requirements:
_permission: 'use opencase'