Compare commits

..

30 Commits
0.3.0 ... 1.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
ad6811b5e9 Changed "Actor" to "Person" in a few places 2018-11-09 16:14:48 +00:00
da0c0ff1b5 More on menu 2018-11-09 15:56:03 +00:00
3e6011a359 menu order 2018-11-09 15:03:34 +00:00
7e28f88b86 Shiny new menu at top of screen! 2018-11-09 14:59:25 +00:00
0efab1af06 Moved search bar to top, and styled
Also add opencase_search as dependency to opencase because the css for it is in opencase/css (hopefully all this css can go into an opencase theme one day)
2018-11-09 13:16:47 +00:00
4b14537dc4 Renamed config file in line with id 2018-11-08 18:58:44 +00:00
52eb5898e3 Removed duplicate configs, and added dependency 2018-11-08 18:47:24 +00:00
75 changed files with 1238 additions and 762 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

@ -2,22 +2,68 @@ langcode: en
status: true
dependencies:
config:
- system.menu.opencase-admin
- system.menu.opencase
module:
- system
- superfish
theme:
- bartik
id: opencase
theme: bartik
region: sidebar_first
weight: -8
region: primary_menu
weight: 0
provider: null
plugin: 'system_menu_block:opencase-admin'
plugin: 'superfish:opencase'
settings:
id: 'system_menu_block:opencase-admin'
label: 'OpenCase Admin'
provider: system
label_display: visible
level: 1
depth: 0
id: 'superfish:opencase'
label: OpenCase
provider: superfish
label_display: '0'
level: '1'
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: { }

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

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

View File

@ -1,7 +0,0 @@
langcode: en
status: true
dependencies: { }
id: opencase-add-actors
label: 'OpenCase Add Actors'
description: ''
locked: false

View File

@ -1,7 +0,0 @@
langcode: en
status: true
dependencies: { }
id: opencase-admin
label: 'OpenCase Admin'
description: 'Administer OpenCase '
locked: false

View File

@ -0,0 +1,7 @@
langcode: en
status: true
dependencies: { }
id: opencase
label: OpenCase
description: 'Main navigation menu for OpenCase'
locked: false

View File

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

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
@ -465,7 +465,20 @@ display:
entity_field: created
plugin_id: date
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: { }
empty:
area_text_custom:
@ -569,7 +582,7 @@ display:
filter_groups: false
empty: false
path: opencase/all-cases
filters:
filters: null
filter_groups:
operator: AND
groups:
@ -591,7 +604,6 @@ display:
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.roles
tags: { }

View File

@ -16,3 +16,28 @@ body {
.js-form-item.form-item.js-form-type-checkbox.form-type-checkbox.js-form-item-new-revision.form-item-new-revision {
display: none;
}
/* Style the search box in header bar. */
#block-exposedformactor-searchpage-1 {
top: -20px;
}
#block-exposedformactor-searchpage-1 #edit-actions {
padding-top: 0;
}
#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;
}

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

@ -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

@ -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

@ -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

@ -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
@ -674,7 +602,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 +612,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 +655,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 +680,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

@ -5,8 +5,6 @@ dependencies:
- 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'
module:
- csv_serialization
- options
@ -55,7 +53,7 @@ display:
pager:
type: mini
options:
items_per_page: 10
items_per_page: 50
offset: 0
id: 0
total_pages: null
@ -72,88 +70,38 @@ display:
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:
first_name:
id: first_name
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor
field: first_name
name:
id: name
table: search_api_index_opencase_reporting_volunteers
field: 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: 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'
label: Name
exclude: false
alter:
alter_text: false
@ -197,7 +145,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
@ -215,16 +163,15 @@ display:
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
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: 'Created Date'
label: 'Languages spoken'
exclude: false
alter:
alter_text: false
@ -257,7 +204,7 @@ display:
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: false
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
@ -266,11 +213,8 @@ display:
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: timestamp
settings:
date_format: medium
custom_date_format: ''
timezone: ''
type: list_default
settings: { }
group_column: value
group_columns: { }
group_rows: true
@ -282,16 +226,12 @@ display:
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api_date
fallback_handler: search_api
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
plugin_id: search_api_field
field_osic_level:
id: field_osic_level
@ -300,7 +240,7 @@ display:
relationship: none
group_type: group
admin_label: ''
label: 'OSIC Level'
label: 'OSIC level'
exclude: false
alter:
alter_text: false
@ -361,102 +301,16 @@ display:
use_highlighting: false
multi_type: 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
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
header: { }
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
use_ajax: true
cache_metadata:
max-age: -1
contexts:
@ -476,6 +330,13 @@ display:
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:
@ -518,6 +379,10 @@ display:
display_options:
display_extenders: { }
path: opencase/reporting/volunteers
cache:
type: none
defaults:
cache: false
cache_metadata:
max-age: -1
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

@ -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 Records'
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

@ -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

@ -1,7 +0,0 @@
langcode: en
status: true
dependencies: { }
id: opencase-add-actors
label: 'OpenCase Add Actors'
description: ''
locked: false

View File

@ -1,6 +1,6 @@
name: 'Opencase Example Configuration'
type: module
description: 'Actor types, case types, activity types and user roles suited to an asylum advice group'
description: 'Person types, case types, activity types and user roles suited to an asylum advice group'
core: 8.x
package: 'OpenCase'
dependencies:

View File

@ -1,12 +1,12 @@
opencase_reporting.clients:
opencase_defaults.report_on_clients:
title: 'Clients'
description: 'Report on clients'
menu_name: opencase_reporting
parent: opencase_reporting.reporting_menu
url: internal:/opencase/reporting/clients
weight: 0
opencase_reporting.volunteers:
opencase_defaults.report_on_volunteers:
title: 'Volunteers'
description: 'Report on volunteers'
menu_name: opencase_reporting
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

@ -1,11 +1,11 @@
entity.oc_actor.add_form:
route_name: entity.oc_actor.add_page
title: 'Add Actor'
title: 'Add Person'
appears_on:
- entity.oc_actor.collection
entity.oc_actor_type.add_form:
route_name: entity.oc_actor_type.add_form
title: 'Add Actor type'
title: 'Add Person type'
appears_on:
- entity.oc_actor_type.collection

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

@ -17,8 +17,8 @@ use Drupal\user\UserInterface;
*
* @ContentEntityType(
* id = "oc_actor",
* label = @Translation("Actor"),
* bundle_label = @Translation("Actor type"),
* label = @Translation("Person"),
* bundle_label = @Translation("Person type"),
* handlers = {
* "storage" = "Drupal\opencase_entities\OCActorStorage",
* "view_builder" = "Drupal\Core\Entity\EntityViewBuilder",

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

@ -55,13 +55,13 @@ class OCActorForm extends ContentEntityForm {
switch ($status) {
case SAVED_NEW:
drupal_set_message($this->t('Created the %label Actor.', [
drupal_set_message($this->t('Created %label.', [
'%label' => $entity->label(),
]));
break;
default:
drupal_set_message($this->t('Saved the %label Actor.', [
drupal_set_message($this->t('Saved %label.', [
'%label' => $entity->label(),
]));
}

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

@ -1,23 +0,0 @@
langcode: en
status: true
dependencies:
config:
- system.menu.opencase_reporting
module:
- system
theme:
- bartik
id: opencase_reporting_menu
theme: bartik
region: sidebar_first
weight: -8
provider: null
plugin: 'system_menu_block:opencase_reporting'
settings:
id: 'system_menu_block:opencase_reporting'
label: 'Reporting'
provider: system
label_display: visible
level: 1
depth: 0
visibility: { }

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:
type: mini
options:
items_per_page: 10
items_per_page: 50
offset: 0
id: 0
total_pages: null

View File

@ -0,0 +1,6 @@
opencase_reporting.reporting_menu:
title: 'Reporting'
description: 'Report on clients'
menu_name: opencase
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

@ -9,7 +9,7 @@ dependencies:
- bartik
id: exposedformactor_searchpage_1
theme: bartik
region: sidebar_first
region: header
weight: -9
provider: null
plugin: 'views_exposed_filter_block:actor_search-page_1'

View File

@ -8,7 +8,7 @@ dependencies:
- search_api
- user
id: actor_search
label: 'Actor Search'
label: 'Person Search'
module: views
description: ''
tag: ''
@ -50,7 +50,7 @@ display:
pager:
type: mini
options:
items_per_page: 20
items_per_page: 50
offset: 0
id: 0
total_pages: null
@ -554,7 +554,7 @@ display:
expose:
operator_id: search_api_fulltext_op
label: 'Search by Name'
description: 'Type at least 3 letters of a first or last name and press enter.'
description: 'Type at least 3 letters and press enter.'
use_operator: false
operator: search_api_fulltext_op
identifier: search_api_fulltext

View File

@ -5,5 +5,6 @@ core: 8.x
package: 'OpenCase'
dependencies:
- opencase_entities
- opencase_search
libraries:
- opencase/opencase-lib

View File

@ -1,40 +1,82 @@
opencase.cases:
title: 'Cases'
description: 'View cases'
menu_name: opencase
route_name: opencase.opencase_cases_menu
weight: 0
opencase.opencase_all_cases:
title: 'All Cases'
description: 'All cases I have access to'
menu_name: opencase
parent: opencase.cases
url: internal:/opencase/all-cases
weight: 1
opencase.opencase_add_people_menu:
title: 'Add people'
description: 'Add new people'
menu_name: opencase
route_name: opencase.opencase_people_menu
weight: 1
opencase.add_people_links:
class: Drupal\opencase\Plugin\Menu\AddActorsMenuLink
deriver: Drupal\opencase\Plugin\Derivative\AddActorsMenuLink
menu_name: opencase
parent: opencase.opencase_add_people_menu
opencase.opencase_admin_menu:
title: 'Administration'
description: 'Management and Configuration'
route_name: opencase.opencase_admin_menu
menu_name: opencase
weight: 100
opencase.manage_user_logins:
title: 'Manage user logins'
description: 'Manage who can access the system'
menu_name: opencase-admin
menu_name: opencase
parent: opencase.opencase_admin_menu
url: internal:/admin/people
weight: 0
opencase.manage_actor_types:
title: 'Manage actor types'
description: 'Configure types of actors and their fields'
menu_name: opencase-admin
opencase.manage_person_types:
title: 'Manage person types'
description: 'Configure types of people and their fields'
menu_name: opencase
parent: opencase.opencase_admin_menu
url: internal:/admin/opencase/oc_actor_type
weight: 1
opencase.manage_case_types:
title: 'Manage case types'
description: 'Configure types of cases and their fields'
menu_name: opencase-admin
menu_name: opencase
parent: opencase.opencase_admin_menu
url: internal:/admin/opencase/oc_case_type
weight: 2
opencase.manage_activity_types:
title: 'Manage activity types'
description: 'Configure types of activities and their fields'
menu_name: opencase-admin
menu_name: opencase
parent: opencase.opencase_admin_menu
url: internal:/admin/opencase/oc_activity_type
weight: 3
opencase.opencase_support_menu:
title: 'Support'
description: 'Get help and advice'
menu_name: opencase
url: internal:#
weight: 101
opencase.view_documentation:
title: 'Read documentation'
description: 'Find out about OpenCase and how it works'
menu_name: openc
menu_name: opencase
parent: opencase.opencase_support_menu
url: https://hoegrammer.gitbooks.io/opencase/content/
weight: 0
opencase.send_feedback:
title: 'Send feedback'
description: 'Contact the OpenCase developers'
menu_name: openc
opencase.contact_developers:
title: 'Ask the developers'
description: 'Ask us (erm, me actually) anything!'
menu_name: opencase
parent: opencase.opencase_support_menu
url: internal:/contact
weight: 1
opencase.add_actors_links:
class: Drupal\opencase\Plugin\Menu\AddActorsMenuLink
deriver: Drupal\opencase\Plugin\Derivative\AddActorsMenuLink
menu_name: opencase-add-actors

View File

@ -30,8 +30,6 @@ function opencase_block_access(\Drupal\block\Entity\Block $block, $operation, \D
'entity.oc_activity.canonical',
'entity.oc_activity.edit_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);
}
@ -140,13 +138,7 @@ function opencase_form_oc_case_type_edit_form_alter(&$form, $form_state) {
function opencase_uninstall() {
$configs = [
'block.block.opencasecontextualmenu',
'block.block.opencase',
'block.block.opencaseaddactors',
'system.menu.opencase-add-actors',
'system.menu.openc',
'views.view.cases',
'block.block.opencaseglobal',
'system.menu.opencase-admin',
'views.view.activities'
];
foreach($configs as $config) {

12
opencase.routing.yml Normal file
View File

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

View File

@ -20,7 +20,7 @@ class EntityTypeRelationsWidget {
$options[$machine_name] = $info['label'];
}
$form['allowed_actor_types'] = array(
'#title' => t('Actor types'),
'#title' => t('Allowed involved parties'),
'#description' => t('Types of people that can be involved in this kind of case.'),
'#type' => 'checkboxes',
'#options' => $options

View File

@ -21,7 +21,7 @@ class ActorTypeHelp extends BlockBase {
public function build() {
return array(
'#markup' => "
<h3>All actor types have contact details fields by default. Other fields can be added and managed here.</h3>
<h3>All person types have contact details fields by default. Other fields can be added and managed here.</h3>
"
);