Compare commits

..

23 Commits
0.4.0 ... 0.5.1

Author SHA1 Message Date
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
8ccd0313a7 Added missing config file 2018-11-09 16:44:08 +00:00
ab2662195b Replaced config removed by mistake 2018-11-09 16:39:52 +00:00
b81d6b5f31 Removed config for disused menus 2018-11-09 16:38:00 +00:00
61 changed files with 1143 additions and 663 deletions

View File

@ -1,33 +1,36 @@
# OpenCase # OpenCase
A simple, case-management-focused CRM for small altruistic organisations. A simple case-management system 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.
## The Plan ## The Plan
OpenCase will be available as: OpenCase will be available as:
* A Drupal module, on drupal.org * A Drupal module, on drupal.org
* A Drupal install profile / distribution
* A hosted service * 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 ## 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/) * 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. * 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

@ -2,22 +2,68 @@ langcode: en
status: true status: true
dependencies: dependencies:
config: config:
- system.menu.opencase-admin - system.menu.opencase
module: module:
- system - superfish
theme: theme:
- bartik - bartik
id: opencase id: opencase
theme: bartik theme: bartik
region: sidebar_first region: primary_menu
weight: -8 weight: 0
provider: null provider: null
plugin: 'system_menu_block:opencase-admin' plugin: 'superfish:opencase'
settings: settings:
id: 'system_menu_block:opencase-admin' id: 'superfish:opencase'
label: 'OpenCase Admin' label: OpenCase
provider: system provider: superfish
label_display: visible label_display: '0'
level: 1 level: '1'
depth: 0 depth: '0'
menu_type: horizontal
style: none
arrow: 0
shadow: 1
speed: fast
delay: '800'
slide: vertical
supposition: 1
hoverintent: 1
touch: '1'
touchbh: '1'
touchbp: '768'
touchua: '0'
touchual: ''
touchuam: '0'
small: '2'
smallbp: '768'
smallua: '0'
smallual: ''
smalluam: '0'
smallact: '1'
smallset: ''
smallasa: 0
smallcmc: 0
smallecm: ''
smallchc: 0
smallech: ''
smallicm: ''
smallich: ''
smallamt: ''
smallabt: '1'
supersubs: 1
minwidth: '12'
maxwidth: '27'
multicolumn: 0
multicolumn_depth: '1'
multicolumn_levels: '1'
pathlevels: '1'
expanded: 0
clone_parent: 0
hide_linkdescription: 0
add_linkdescription: 0
link_depth_class: 1
custom_list_class: ''
custom_item_class: ''
custom_link_class: ''
visibility: { } visibility: { }

View File

@ -1,31 +0,0 @@
langcode: en
status: true
dependencies:
config:
- system.menu.opencase-add-actors
module:
- system
- user
theme:
- bartik
id: opencaseaddactors
theme: bartik
region: sidebar_first
weight: -8
provider: null
plugin: 'system_menu_block:opencase-add-actors'
settings:
id: 'system_menu_block:opencase-add-actors'
label: 'Add Actors'
provider: system
label_display: visible
level: 1
depth: 0
visibility:
user_role:
id: user_role
roles:
authenticated: authenticated
negate: false
context_mapping:
user: '@user.current_user_context:current_user'

View File

@ -1,31 +0,0 @@
langcode: en
status: true
dependencies:
config:
- system.menu.openc
module:
- system
- user
theme:
- bartik
id: opencaseglobal
theme: bartik
region: sidebar_first
weight: -7
provider: null
plugin: 'system_menu_block:openc'
settings:
id: 'system_menu_block:openc'
label: 'OpenCase Global'
provider: system
label_display: '0'
level: 1
depth: 0
visibility:
user_role:
id: user_role
roles:
authenticated: authenticated
negate: false
context_mapping:
user: '@user.current_user_context:current_user'

View File

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

View File

@ -50,7 +50,7 @@ display:
pager: pager:
type: mini type: mini
options: options:
items_per_page: 20 items_per_page: 50
offset: 0 offset: 0
id: 0 id: 0
total_pages: null total_pages: null
@ -447,7 +447,7 @@ display:
empty_zero: false empty_zero: false
hide_alter_empty: false hide_alter_empty: false
plugin_id: custom plugin_id: custom
filters: filters: null
sorts: sorts:
created: created:
id: created id: created
@ -465,7 +465,20 @@ display:
entity_field: created entity_field: created
plugin_id: date plugin_id: date
title: '' title: ''
header: { } header:
area:
id: area
table: views
field: area
relationship: none
group_type: group
admin_label: ''
empty: true
tokenize: false
content:
value: '<p>To <strong>add a new case</strong>, first search for the person you want to add it to. If the person is not on the system yet, you can add them using the "People" menu.</p>'
format: basic_html
plugin_id: text
footer: { } footer: { }
empty: empty:
area_text_custom: area_text_custom:
@ -569,7 +582,7 @@ display:
filter_groups: false filter_groups: false
empty: false empty: false
path: opencase/all-cases path: opencase/all-cases
filters: filters: null
filter_groups: filter_groups:
operator: AND operator: AND
groups: groups:
@ -584,14 +597,13 @@ display:
admin_label: '' admin_label: ''
empty: true empty: true
tokenize: false 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 plugin_id: text_custom
cache_metadata: cache_metadata:
max-age: -1 max-age: -1
contexts: contexts:
- 'languages:language_content' - 'languages:language_content'
- 'languages:language_interface' - 'languages:language_interface'
- url
- url.query_args - url.query_args
- user.roles - user.roles
tags: { } tags: { }

View File

@ -29,3 +29,15 @@ body {
#block-exposedformactor-searchpage-1 .form-text { #block-exposedformactor-searchpage-1 .form-text {
width: 200px; 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;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@ id: disability_export
name: 'Disability' name: 'Disability'
url_alias: disability url_alias: disability
weight: 0 weight: 0
min_count: 1 min_count: 0
show_only_one_result: false show_only_one_result: false
field_identifier: field_disability field_identifier: field_disability
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1' 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' name: 'Gender Identity'
url_alias: gender_identified_with url_alias: gender_identified_with
weight: 0 weight: 0
min_count: 1 min_count: 0
show_only_one_result: false show_only_one_result: false
field_identifier: field_gender_identified_with field_identifier: field_gender_identified_with
facet_source_id: 'search_api:views_page__reporting_clients__page_1' 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' name: 'Gender Identity'
url_alias: gender_identified_with url_alias: gender_identified_with
weight: 0 weight: 0
min_count: 1 min_count: 0
show_only_one_result: false show_only_one_result: false
field_identifier: field_gender_identified_with field_identifier: field_gender_identified_with
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1' facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'

View File

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

View File

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

View File

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

View File

@ -3,19 +3,18 @@ status: true
dependencies: dependencies:
config: config:
- search_api.index.opencase_reporting_clients - search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module: module:
- search_api - views_data_export
id: nationality_export id: nationalities_export
name: 'Nationality' name: Nationalities-export
url_alias: nationality url_alias: nationalities_export
weight: 0 weight: 0
min_count: 1 min_count: 0
show_only_one_result: false 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' facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget: widget:
type: checkbox type: links
config: config:
show_numbers: false show_numbers: false
soft_limit: 0 soft_limit: 0
@ -30,6 +29,18 @@ hard_limit: 0
exclude: false exclude: false
only_visible_when_facet_source_is_visible: true only_visible_when_facet_source_is_visible: true
processor_configs: 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: display_value_widget_order:
processor_id: display_value_widget_order processor_id: display_value_widget_order
weights: weights:

View File

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

View File

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

View File

@ -6,7 +6,7 @@ dependencies:
- field.storage.oc_actor.field_disability - field.storage.oc_actor.field_disability
- field.storage.oc_actor.field_gender_identified_with - field.storage.oc_actor.field_gender_identified_with
- field.storage.oc_actor.field_languages_spoken - 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 - search_api.server.opencase_reporting_server
module: module:
- opencase_entities - opencase_entities
@ -56,14 +56,38 @@ field_settings:
dependencies: dependencies:
config: config:
- field.storage.oc_actor.field_languages_spoken - field.storage.oc_actor.field_languages_spoken
field_nationality: field_nationalities:
label: Nationality label: Nationality
datasource_id: 'entity:oc_actor' datasource_id: 'entity:oc_actor'
property_path: field_nationality property_path: field_nationalities
type: string type: string
dependencies: dependencies:
config: 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: datasource_settings:
'entity:oc_actor': 'entity:oc_actor':
bundles: bundles:

View File

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

View File

@ -6,11 +6,10 @@ dependencies:
- field.storage.oc_actor.field_disability - field.storage.oc_actor.field_disability
- field.storage.oc_actor.field_gender_identified_with - field.storage.oc_actor.field_gender_identified_with
- field.storage.oc_actor.field_languages_spoken - 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 - search_api.index.opencase_reporting_clients
content:
- 'block_content:basic:944ff38d-5931-4439-91d5-f53b5ad7aac7'
module: module:
- csv_serialization
- options - options
- rest - rest
- search_api - search_api
@ -57,10 +56,13 @@ display:
pager: pager:
type: mini type: mini
options: options:
items_per_page: 10 items_per_page: 50
offset: 0 offset: 0
id: 0 id: 0
total_pages: null total_pages: null
tags:
previous:
next:
expose: expose:
items_per_page: false items_per_page: false
items_per_page_label: 'Items per page' items_per_page_label: 'Items per page'
@ -69,22 +71,19 @@ display:
items_per_page_options_all_label: '- All -' items_per_page_options_all_label: '- All -'
offset: false offset: false
offset_label: Offset offset_label: Offset
tags:
previous:
next:
style: style:
type: table type: table
row: row:
type: fields type: fields
fields: fields:
first_name: name:
id: first_name id: name
table: search_api_datasource_opencase_reporting_clients_entity_oc_actor table: search_api_datasource_opencase_reporting_clients_entity_oc_actor
field: first_name field: name
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
label: 'First Name' label: Name
exclude: false exclude: false
alter: alter:
alter_text: false alter_text: false
@ -128,78 +127,7 @@ display:
click_sort_column: value click_sort_column: value
type: string type: string
settings: settings:
link_to_entity: false 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: ', '
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
group_column: value group_column: value
group_columns: { } group_columns: { }
group_rows: true group_rows: true
@ -429,14 +357,14 @@ display:
multi_type: separator multi_type: separator
multi_separator: ', ' multi_separator: ', '
plugin_id: search_api_field plugin_id: search_api_field
field_languages_spoken: field_nationalities:
id: field_languages_spoken id: field_nationalities
table: search_api_index_opencase_reporting_clients table: search_api_datasource_opencase_reporting_clients_entity_oc_actor
field: field_languages_spoken field: field_nationalities
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
label: Languages label: Nationality
exclude: false exclude: false
alter: alter:
alter_text: false alter_text: false
@ -497,15 +425,16 @@ display:
use_highlighting: false use_highlighting: false
multi_type: separator multi_type: separator
multi_separator: ', ' multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field plugin_id: search_api_field
field_nationality: field_languages_spoken:
id: field_nationality id: field_languages_spoken
table: search_api_index_opencase_reporting_clients table: search_api_index_opencase_reporting_clients
field: field_nationality field: field_languages_spoken
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
label: Nationality label: Languages
exclude: false exclude: false
alter: alter:
alter_text: false alter_text: false
@ -547,9 +476,8 @@ display:
empty_zero: false empty_zero: false
hide_alter_empty: true hide_alter_empty: true
click_sort_column: value click_sort_column: value
type: string type: list_default
settings: settings: { }
link_to_entity: false
group_column: value group_column: value
group_columns: { } group_columns: { }
group_rows: true group_rows: true
@ -674,7 +602,7 @@ display:
- 'config:field.storage.oc_actor.field_disability' - 'config:field.storage.oc_actor.field_disability'
- 'config:field.storage.oc_actor.field_gender_identified_with' - 'config:field.storage.oc_actor.field_gender_identified_with'
- 'config:field.storage.oc_actor.field_languages_spoken' - '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: data_export_1:
display_plugin: data_export display_plugin: data_export
id: data_export_1 id: data_export_1
@ -684,6 +612,37 @@ display:
display_extenders: { } display_extenders: { }
path: opencase/reporting/clients path: opencase/reporting/clients
filename: '[view:title].csv' 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: cache_metadata:
max-age: -1 max-age: -1
contexts: contexts:
@ -696,7 +655,7 @@ display:
- 'config:field.storage.oc_actor.field_disability' - 'config:field.storage.oc_actor.field_disability'
- 'config:field.storage.oc_actor.field_gender_identified_with' - 'config:field.storage.oc_actor.field_gender_identified_with'
- 'config:field.storage.oc_actor.field_languages_spoken' - 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_nationality' - 'config:field.storage.oc_actor.field_nationalities'
page_1: page_1:
display_plugin: page display_plugin: page
id: page_1 id: page_1
@ -721,4 +680,4 @@ display:
- 'config:field.storage.oc_actor.field_disability' - 'config:field.storage.oc_actor.field_disability'
- 'config:field.storage.oc_actor.field_gender_identified_with' - 'config:field.storage.oc_actor.field_gender_identified_with'
- 'config:field.storage.oc_actor.field_languages_spoken' - 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_nationality' - 'config:field.storage.oc_actor.field_nationalities'

View File

@ -5,8 +5,6 @@ dependencies:
- field.storage.oc_actor.field_languages_spoken - field.storage.oc_actor.field_languages_spoken
- field.storage.oc_actor.field_osic_level - field.storage.oc_actor.field_osic_level
- search_api.index.opencase_reporting_volunteers - search_api.index.opencase_reporting_volunteers
content:
- 'block_content:basic:944ff38d-5931-4439-91d5-f53b5ad7aac7'
module: module:
- csv_serialization - csv_serialization
- options - options
@ -55,7 +53,7 @@ display:
pager: pager:
type: mini type: mini
options: options:
items_per_page: 10 items_per_page: 50
offset: 0 offset: 0
id: 0 id: 0
total_pages: null total_pages: null
@ -72,88 +70,38 @@ display:
next: next:
style: style:
type: table 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: row:
type: fields type: fields
fields: fields:
first_name: name:
id: first_name id: name
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor table: search_api_index_opencase_reporting_volunteers
field: first_name field: name
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
label: 'First Name' 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: 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: 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_volunteers_entity_oc_actor
field: last_name
relationship: none
group_type: group
admin_label: ''
label: 'Last Name'
exclude: false exclude: false
alter: alter:
alter_text: false alter_text: false
@ -197,7 +145,7 @@ display:
click_sort_column: value click_sort_column: value
type: string type: string
settings: settings:
link_to_entity: false link_to_entity: true
group_column: value group_column: value
group_columns: { } group_columns: { }
group_rows: true group_rows: true
@ -215,16 +163,15 @@ display:
use_highlighting: false use_highlighting: false
multi_type: separator multi_type: separator
multi_separator: ', ' multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field plugin_id: search_api_field
created: field_languages_spoken_1:
id: created id: field_languages_spoken_1
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor table: search_api_index_opencase_reporting_volunteers
field: created field: field_languages_spoken
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
label: 'Created Date' label: 'Languages spoken'
exclude: false exclude: false
alter: alter:
alter_text: false alter_text: false
@ -257,7 +204,7 @@ display:
element_class: '' element_class: ''
element_label_type: '' element_label_type: ''
element_label_class: '' element_label_class: ''
element_label_colon: false element_label_colon: true
element_wrapper_type: '' element_wrapper_type: ''
element_wrapper_class: '' element_wrapper_class: ''
element_default_classes: true element_default_classes: true
@ -266,11 +213,8 @@ display:
empty_zero: false empty_zero: false
hide_alter_empty: true hide_alter_empty: true
click_sort_column: value click_sort_column: value
type: timestamp type: list_default
settings: settings: { }
date_format: medium
custom_date_format: ''
timezone: ''
group_column: value group_column: value
group_columns: { } group_columns: { }
group_rows: true group_rows: true
@ -282,16 +226,12 @@ display:
separator: ', ' separator: ', '
field_api_classes: false field_api_classes: false
field_rendering: true field_rendering: true
fallback_handler: search_api_date fallback_handler: search_api
fallback_options: fallback_options:
date_format: fallback
custom_date_format: ''
timezone: ''
link_to_item: false link_to_item: false
use_highlighting: false use_highlighting: false
multi_type: separator multi_type: separator
multi_separator: ', ' multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field plugin_id: search_api_field
field_osic_level: field_osic_level:
id: field_osic_level id: field_osic_level
@ -300,7 +240,7 @@ display:
relationship: none relationship: none
group_type: group group_type: group
admin_label: '' admin_label: ''
label: 'OSIC Level' label: 'OSIC level'
exclude: false exclude: false
alter: alter:
alter_text: false alter_text: false
@ -361,102 +301,16 @@ display:
use_highlighting: false use_highlighting: false
multi_type: separator multi_type: separator
multi_separator: ', ' multi_separator: ', '
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
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: ', '
entity_type: oc_actor
plugin_id: search_api_field plugin_id: search_api_field
filters: { } filters: { }
sorts: { } sorts: { }
title: 'Volunteer Report' title: 'Volunteer Report'
header: 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
footer: { } footer: { }
empty: { } empty: { }
relationships: { } relationships: { }
arguments: { } arguments: { }
display_extenders: { } display_extenders: { }
use_ajax: true
cache_metadata: cache_metadata:
max-age: -1 max-age: -1
contexts: contexts:
@ -476,6 +330,13 @@ display:
display_extenders: { } display_extenders: { }
path: opencase/reporting/volunteers path: opencase/reporting/volunteers
filename: '[view:title].csv' filename: '[view:title].csv'
cache:
type: none
defaults:
cache: false
displays:
page_1: page_1
default: '0'
style: style:
type: data_export type: data_export
options: options:
@ -518,6 +379,10 @@ display:
display_options: display_options:
display_extenders: { } display_extenders: { }
path: opencase/reporting/volunteers path: opencase/reporting/volunteers
cache:
type: none
defaults:
cache: false
cache_metadata: cache_metadata:
max-age: -1 max-age: -1
contexts: contexts:

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,34 @@
<?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',
'views.view.reporting_clients',
'views.view.reporting_volunteers',
'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',
];
foreach($configs as $config) {
Drupal::configFactory()->getEditable($config)->delete();
}
}

View File

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

View File

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

View File

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

View File

@ -3,7 +3,7 @@ status: true
dependencies: dependencies:
config: config:
- field.field.oc_actor.volunteer.field_languages_spoken - 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_osic_level
- field.field.oc_actor.volunteer.field_skills - field.field.oc_actor.volunteer.field_skills
- opencase_entities.oc_actor_type.volunteer - opencase_entities.oc_actor_type.volunteer
@ -22,7 +22,7 @@ content:
third_party_settings: { } third_party_settings: { }
type: list_default type: list_default
region: content region: content
field_nationality: field_nationalities:
weight: 3 weight: 3
label: above label: above
settings: 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 status: true
dependencies: dependencies:
config: config:
- field.storage.oc_actor.field_nationality - field.storage.oc_actor.field_sex
- opencase_entities.oc_actor_type.client - opencase_entities.oc_actor_type.client
id: oc_actor.client.field_nationality module:
field_name: field_nationality - options
id: oc_actor.client.field_sex
field_name: field_sex
entity_type: oc_actor entity_type: oc_actor
bundle: client bundle: client
label: Nationality label: Sex
description: '' description: ''
required: false required: false
translatable: false translatable: false
default_value: { } default_value: { }
default_value_callback: '' default_value_callback: ''
settings: { } 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 - contact
- field - field
- opencase_entities - opencase_entities
- opencase_reporting
- options - options

View File

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

View File

@ -9,24 +9,6 @@ use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\user\Entity\Role; use Drupal\user\Entity\Role;
use Drupal\user\RoleInterface; 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(). * Implements hook_help().
*/ */
@ -53,3 +35,4 @@ function opencase_defaults_theme() {
], ],
]; ];
} }

View File

@ -1,6 +1,9 @@
permission_callbacks: permission_callbacks:
- Drupal\opencase_entities\OpenCaseEntityPermissions::permissions - Drupal\opencase_entities\OpenCaseEntityPermissions::permissions
view edit delete all actor entities:
title: 'View/Edit/Delete all types of people'
description: '';
administer opencase entity bundles: administer opencase entity bundles:
title: 'Administer OpenCase Actor/Case/Activity Types' 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.' description: 'Allow to access the administration form to configure Actor entities.'
restrict access: true 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: add case entities:
title: 'Create new Case entities' title: 'Create new Case entities'

View File

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

View File

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

View File

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

View File

@ -1,7 +0,0 @@
langcode: en
status: true
dependencies: { }
id: opencase_reporting
label: 'OpenCase Reporting'
description: ''
locked: false

View File

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

View File

@ -1,6 +1,6 @@
opencase_defaults.reporting_menu: opencase_reporting.reporting_menu:
title: 'Reporting' title: 'Reporting'
description: 'Report on clients' description: 'Report on clients'
menu_name: opencase menu_name: opencase
url: internal:# route_name: opencase_reporting.reporting_menu
weight: 10 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: pager:
type: mini type: mini
options: options:
items_per_page: 20 items_per_page: 50
offset: 0 offset: 0
id: 0 id: 0
total_pages: null total_pages: null

View File

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

View File

@ -30,8 +30,6 @@ function opencase_block_access(\Drupal\block\Entity\Block $block, $operation, \D
'entity.oc_activity.canonical', 'entity.oc_activity.canonical',
'entity.oc_activity.edit_form', 'entity.oc_activity.edit_form',
'entity.oc_activity.add_form', 'entity.oc_activity.add_form',
'system.menu.opencase-add-actors',
'block.block.opencaseaddactors',
]; ];
return AccessResult::forbiddenIf(!in_array($route_name, $routes_where_it_should_be_shown))->addCacheableDependency($block); return AccessResult::forbiddenIf(!in_array($route_name, $routes_where_it_should_be_shown))->addCacheableDependency($block);
} }
@ -140,13 +138,7 @@ function opencase_form_oc_case_type_edit_form_alter(&$form, $form_state) {
function opencase_uninstall() { function opencase_uninstall() {
$configs = [ $configs = [
'block.block.opencasecontextualmenu', 'block.block.opencasecontextualmenu',
'block.block.opencase',
'block.block.opencaseaddactors',
'system.menu.opencase-add-actors',
'system.menu.openc',
'views.view.cases', 'views.view.cases',
'block.block.opencaseglobal',
'system.menu.opencase-admin',
'views.view.activities' 'views.view.activities'
]; ];
foreach($configs as $config) { foreach($configs as $config) {

View File

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