Compare commits

...

105 Commits
0.2.3 ... 0.4.2

Author SHA1 Message Date
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
acf3e704cc Added a commented out bit of code for automatic permissions 2018-10-26 11:23:21 +01:00
142c22f8e2 Dynamic permissions! 2018-10-25 19:47:12 +01:00
570d442d41 Minor change to wording 2018-10-25 18:32:26 +01:00
981439d3c6 Added "use opencase" permission to all roles 2018-10-25 18:28:25 +01:00
0333e20afd Added form and display config permissions to crm admin 2018-10-25 18:26:31 +01:00
ec25af3858 Confined rogue OSIC Level facet to reporting/* 2018-10-25 18:14:00 +01:00
30a4d13081 Date format for dob for client.
Also removed some other fields that I'm not sure why were there...
2018-10-25 17:55:39 +01:00
904cf2d63c Explicity stop OSIC Level facet from apearing on home page
God knows why but it was doing
2018-10-25 17:45:37 +01:00
78a44718fb Added activity type help block 2018-10-25 14:55:42 +01:00
7c30d9d02e postcode weight 2018-10-25 14:55:25 +01:00
fdd07ea104 Added help block for managing actor type fields 2018-10-24 18:24:20 +01:00
10b99f132e Dynamic menu links for adding actors 2018-10-24 17:40:26 +01:00
fd5d145866 Added volunteer supervision activity type 2018-10-24 17:39:56 +01:00
530df37e92 removed cases link from reporting menu 2018-10-24 16:51:22 +01:00
7fd551982d Added OSIC level facet to volunteer report 2018-10-24 16:48:00 +01:00
0aa6b92490 Added a bunch of facets 2018-10-24 16:16:35 +01:00
b62f2f34a9 Bodged download button for reporting. 2018-10-24 16:16:17 +01:00
8187f6b306 Finished client reporting 2018-10-01 18:55:51 +01:00
56be669fe9 Fixed the jQuery on the download data button
The click binding was getting lost after ajax reload
2018-10-01 17:55:41 +01:00
5cde32c975 Added reporting menu with one link for Custom Report 2018-10-01 14:58:00 +01:00
bfef673d42 Simplified reporting. Presets will be hard coded 2018-10-01 14:35:10 +01:00
9f735eb492 Deleted a bunch of stuff to do with report entities
because we are not using them at this stage
2018-10-01 10:41:32 +01:00
a8c454c509 Made all base fields on actors not configurable
Making them configurable seems to mess up weights and stuff.
2018-09-19 09:15:42 +01:00
9424aca1e9 Added config for "skills" field on volunteer. 2018-09-19 09:15:19 +01:00
b5f718647e Using views for CRUDding saved reports. 2018-09-17 18:49:20 +01:00
7e1889346b newly generated content entity. 2018-09-17 17:29:04 +01:00
1e0a6a41d3 got rid of reference to the report config entity 2018-09-17 17:26:40 +01:00
e14a68ef62 removed "report" config entity
so as to try out making it a content entity instead.
2018-09-17 17:23:03 +01:00
c48f58d49b Added block plugin for report form, to show on reporting page. 2018-09-17 17:21:31 +01:00
7a61f76a93 Minor changes to reporting forms 2018-09-17 12:24:43 +01:00
354bb0adba paths and permissions for report entities. 2018-09-17 09:26:30 +01:00
e02721217b Added "Use OpenCase" permission 2018-09-17 09:09:38 +01:00
d5fe23418e Saved reports (templates) are now just called "reports". 2018-09-17 08:48:20 +01:00
c81ebc4d94 Fixed field type error 2018-09-14 13:59:35 +01:00
7fbc35915c made reporting export url match page url (it works!) 2018-09-12 18:24:48 +01:00
987adc97ce Reporting buttons area. Data download button 2018-09-12 18:16:36 +01:00
3faabda3f2 minor changes to reporting stuff 2018-09-12 16:48:23 +01:00
eb6356f715 removed schema file because I think it is not used. 2018-09-12 16:22:02 +01:00
92cec4c513 added 100% body font size to opencase css 2018-09-12 15:57:18 +01:00
e5db0007c9 Started on Reporting Presets block. 2018-09-12 15:50:08 +01:00
cc108076bb Added reporting menu item to config. 2018-09-10 19:31:11 +01:00
714ceeb3d0 sort order of facet items, and a typo 2018-09-10 19:24:39 +01:00
0371c37786 Added required tickbox, "consent to data storage" 2018-09-10 18:38:55 +01:00
e1e40bc8ad Search now uses, and displays, first and last name and type
where previously it was the name thing with the type included
2018-09-07 12:57:02 +01:00
9b9bce4bc4 Reporting Actors view now takes query parameter for title 2018-09-07 12:48:47 +01:00
1d86b2a5bc Minor edits to reporting view and facets 2018-09-07 12:37:39 +01:00
ee5c82cb0b removed case type filter from home cases view
because it was not asked for and looked ugly.
2018-09-06 19:53:41 +01:00
20b3ff0cd4 CSS for facet labels 2018-09-06 19:33:47 +01:00
393ce2501c Added a basic index, view & facets for reporting
it is not a useful report, but it doesnt rely on defaults. It's just so that I can work on the reporting without the defaults. General stuff like css and preset support will not be dependent on the defaults. By the time this is properly released, I will have developed a way of generating what is needed for reporting automatically.
2018-09-06 19:11:49 +01:00
2be2cc7837 Added reporting server and index
The index does not rely on any default config.
2018-09-06 17:17:52 +01:00
e45d49e299 Added reporting server config to reporting module 2018-09-06 16:57:39 +01:00
51db7f00d4 Can search on partial names now, need at least 3 letters. 2018-09-06 16:57:13 +01:00
e5da065d0c Changed names of server and index for search
because now we will have ones for reporting as well
2018-09-06 16:38:00 +01:00
14575008d6 Added bare-bones reporting module.
Plus a minor change to search module description
2018-09-06 16:30:58 +01:00
8e43ad637d Added dependency on opencase module to opencase_search
... because the search view has links to other views. Also added some missing configs to the uninstall hook in opencase.module.
2018-09-06 16:27:14 +01:00
d5e767ea9f Update README.md 2018-07-24 10:26:53 +01:00
f97c43bbb2 Update README.md 2018-07-24 10:26:08 +01:00
ac92336b0e removed dependency of linked actor field on vol 2018-07-24 10:43:55 +02:00
bc77e1995d Update field.field.user.user.field_linked_opencase_actor.yml 2018-07-20 11:34:53 +01:00
fd661f6a2f added some config that was missed / wrong 2018-07-19 20:01:59 +02:00
679f40c16d linked actor field config added 2018-07-19 19:13:08 +02:00
ebd755d86c search view: changed no-results wording &cache off 2018-07-19 16:48:03 +02:00
c507fb29b7 changed no-results wording in views 2018-07-19 16:47:16 +02:00
af0040479e added the actual menu as well as the block 2018-07-19 16:46:23 +02:00
3198c00f5a Added add-actors block which was missing 2018-07-19 16:45:31 +02:00
2e40dc46f2 removed view caching 2018-07-19 16:29:56 +02:00
7a21352ac4 activity view query permissions. 2018-07-19 16:22:26 +02:00
8b274c0d6c Changed some permissions 2018-07-19 15:56:57 +02:00
775a08319c if you cancel a delete it now goes back to entity
like duh why didn't it just do that by default
2018-07-19 15:51:52 +02:00
352ea000f0 More on permissions for activities and cases 2018-07-19 15:35:22 +02:00
ec99009f16 Added access control for viewing activity
Can only view activity if involved in the case.
2018-07-19 15:10:02 +02:00
d2bd27c960 added another null check to contextual menu 2018-07-19 14:23:44 +02:00
b5f567f872 changed contact form address to aktivix
because gmail is giving ipv6 errors
2018-07-19 13:54:09 +02:00
221d16c7fa removed label from contextual menu block 2018-07-19 11:39:15 +02:00
6b3b744900 Added contact form to opencase_defaults 2018-07-19 11:35:43 +02:00
1c0195a632 Redirects to activity list on deleteing activity 2018-07-18 22:39:27 +02:00
a47a06aef3 Gave site admin various permissions 2018-07-18 22:21:22 +02:00
33feac1977 redirect to home after deleting case or actor
also changed contextual menu code for cases when the actor whose case it is has been deleted
2018-07-18 22:15:45 +02:00
ddab3e450a fixed bug where case list link not generated 2018-07-18 21:06:26 +02:00
e588a70a1b Added configs (didn't do that last commit) 2018-07-18 20:15:57 +02:00
c0c415e691 New config for asylum status and language. 2018-07-18 20:05:27 +02:00
6c384605ec removed old asylum and language fields
and associated config
2018-07-18 19:59:51 +02:00
09650469bf Only those with "administer users" can link actor 2018-07-18 12:06:22 +02:00
48dabf1701 minor change: null check 2018-07-17 16:19:25 +02:00
08fe6dc362 added code to remove exposedfilter when view empty 2018-07-09 20:38:48 +02:00
3f01a3ad41 typo 2018-07-09 20:31:20 +02:00
d589ef8d69 premission description 2018-07-09 20:29:25 +02:00
a267e222b8 Removed the "view own cases" permission
Now everyone sees cases they are involved in, they don't need a special perm.
2018-07-09 20:26:11 +02:00
910350699d Added 'view label' access bypass to actors
Was therefore able to get rid of the "view volunteer involvement in cases" stuff which was complicated
2018-07-09 20:15:16 +02:00
c729750705 Case views are now filtered by user involvement
unless the user has the see all cases permission
2018-07-09 19:36:47 +02:00
351bdb5afd Added "own cases" permission and access check
Works for when viewing a single case, not for view yet though.
2018-07-09 13:21:52 +02:00
2a31b1c8ce added linked actor of logged in user to new case 2018-07-09 12:11:07 +02:00
667b109de8 removed client from volunteer engagement 2018-07-09 11:32:12 +02:00
92d4f74ad7 fixed a sed mistake 2018-07-09 11:22:38 +02:00
487415c679 Another attempt to fix the "plugin does not exist" 2018-07-09 11:21:09 +02:00
120 changed files with 4724 additions and 539 deletions

View File

@ -2,7 +2,7 @@
A simple, case-management-focused CRM for small altruistic organisations.
## Current Status
**13 May 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.
**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
OpenCase will be available as:
@ -14,4 +14,20 @@ OpenCase will be available as:
* More details, including user stories for future development, can be found in the [OpenCase Gitbook](https://hoegrammer.gitbooks.io/zen-crm/content/)
* Raise an issue to contact the developer.
## Differences between current version (v0.2.6, July 2018) and previous version ##
**Access control**: Previously everyone could see all cases. Now, users can see cases that they are involved in. By creating case you automatically become involve in it (although you can later be removed or remove yourself). Caseworkers can see all clients and volunteer co-ordinators can see all volunteers. Site admins and overseers can see everything.
**Editing types**: As a site admin you can now add, remove and configure types of actor, types of case and types of activity and you can configure fields on these and add your own fields.s
**Relations between types**: For each type of case, you can specify what types of actors (people) can be involved in it, e.g. for a volunteer recruitment case it would be volunteers and/or staff; for a legal advice case maybe clients, volunteers and solicitors. You can also specify what activities belong on what kinds of cases.
## Not done yet ##
* Reporting
* Donations
* Anything to do with emails/bounces
* Any specific guidelines or features relating to the GDPR

View File

@ -0,0 +1,25 @@
langcode: en
status: true
dependencies:
module:
- opencase
- system
theme:
- bartik
id: actortypehelp
theme: bartik
region: content
weight: -11
provider: null
plugin: actor_type_help
settings:
id: actor_type_help
label: 'Actor Type Help'
provider: opencase
label_display: '0'
visibility:
request_path:
id: request_path
pages: '/admin/opencase/oc_actor_type/*/edit/fields'
negate: false
context_mapping: { }

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: '0'
touchbh: '2'
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

@ -15,5 +15,5 @@ settings:
id: opencase_contextual_menu
label: 'OpenCase Contextual Menu'
provider: opencase
label_display: visible
label_display: '0'
visibility: { }

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

@ -27,7 +27,7 @@ display:
role:
authenticated: authenticated
cache:
type: tag
type: none
options: { }
query:
type: views_query
@ -389,7 +389,18 @@ display:
title: 'Activity List'
header: { }
footer: { }
empty: { }
empty:
area_text_custom:
id: area_text_custom
table: views
field: area_text_custom
relationship: none
group_type: group
admin_label: ''
empty: true
tokenize: false
content: 'This case has no activities yet. To add one, use the links in the sidebar to the right.'
plugin_id: text_custom
relationships: { }
arguments:
oc_case:

View File

@ -27,7 +27,7 @@ display:
role:
authenticated: authenticated
cache:
type: tag
type: none
options: { }
query:
type: views_query
@ -48,10 +48,23 @@ display:
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: some
type: mini
options:
items_per_page: 10
items_per_page: 20
offset: 0
id: 0
total_pages: null
tags:
previous:
next:
expose:
items_per_page: false
items_per_page_label: 'Items per page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
style:
type: table
row:
@ -434,7 +447,7 @@ display:
empty_zero: false
hide_alter_empty: false
plugin_id: custom
filters: { }
filters:
sorts:
created:
id: created
@ -447,14 +460,25 @@ display:
exposed: false
expose:
label: ''
granularity: hour
granularity: day
entity_type: oc_case
entity_field: created
plugin_id: date
title: 'Case List'
title: ''
header: { }
footer: { }
empty: { }
empty:
area_text_custom:
id: area_text_custom
table: views
field: area_text_custom
relationship: none
group_type: group
admin_label: ''
empty: true
tokenize: false
content: "<p>Either there are no cases involving this person, or you do not have access to them.</p>\n"
plugin_id: text_custom
relationships: { }
arguments:
actors_involved_target_id:
@ -495,12 +519,14 @@ display:
entity_field: actors_involved
plugin_id: numeric
display_extenders: { }
use_ajax: true
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.roles
tags: { }
page_1:
@ -511,11 +537,61 @@ display:
display_options:
display_extenders: { }
path: opencase/oc_actor/%actor_id/case_list
defaults:
filters: false
filter_groups: false
filters: { }
filter_groups:
operator: AND
groups:
1: AND
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.roles
tags: { }
page_2:
display_plugin: page
id: page_2
display_title: 'All Cases'
position: 2
display_options:
display_extenders: { }
display_description: ''
arguments: { }
defaults:
arguments: false
filters: false
filter_groups: false
empty: false
path: opencase/all-cases
filters:
filter_groups:
operator: AND
groups:
1: AND
empty:
area_text_custom:
id: area_text_custom
table: views
field: area_text_custom
relationship: none
group_type: group
admin_label: ''
empty: true
tokenize: false
content: "<h1>No cases found</h1>\n<p>You do not have access to any existing cases.</p>\n<p>To <b>add a new case</b>, first search for the person you want to add a case to. If they are not on the system yet you can add them using the <b>Add People.</b> menu.</p>\n"
plugin_id: text_custom
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.roles
tags: { }

View File

@ -1,3 +1,6 @@
body {
font-size: 100% !important;
}
/* Free the people from the tyranny of the useless search button */
#edit-submit-actor-search{
@ -13,3 +16,16 @@
.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;
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

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

View File

@ -0,0 +1,11 @@
langcode: en
status: true
dependencies: { }
id: contact_opencase
label: 'Contact the OpenCase Developers'
recipients:
- naomi@aktivix.org
reply: ''
weight: 0
message: 'Thank you for your message. The OpenCase team will get back to you ASAP.'
redirect: ''

View File

@ -0,0 +1,5 @@
default_form: contact_opencase
flood:
limit: 5
interval: 3600
user_default_enabled: false

View File

@ -3,7 +3,6 @@ status: true
dependencies:
config:
- opencase_entities.oc_actor_type.client
- opencase_entities.oc_actor_type.volunteer
- opencase_entities.oc_case_type.volunteer_engagement
id: oc_case.volunteer_engagement.actors_involved
field_name: actors_involved
@ -18,7 +17,6 @@ default_value_callback: 'Drupal\opencase_entities\Entity\OCCase::defaultVal'
settings:
handler_settings:
target_bundles:
client: client
volunteer: volunteer
handler: default
field_type: entity_reference

View File

@ -15,7 +15,7 @@ content:
settings:
placeholder: ''
third_party_settings: { }
type: number_decimal
type: number
region: content
field_funds_for:
weight: 27

View File

@ -25,12 +25,10 @@ bundle: client
mode: default
content:
field_asylum_status:
weight: 35
settings:
size: 60
placeholder: ''
weight: 6
settings: { }
third_party_settings: { }
type: string_textfield
type: options_select
region: content
field_client_field_1:
weight: 26
@ -41,20 +39,20 @@ content:
type: string_textfield
region: content
field_confidentiality_form:
weight: 39
weight: 15
settings:
progress_indicator: throbber
third_party_settings: { }
type: file_generic
region: content
field_date_of_birth:
weight: 27
weight: 3
settings: { }
third_party_settings: { }
type: datetime_default
region: content
field_dependants:
weight: 36
weight: 12
settings:
size: 60
placeholder: ''
@ -62,7 +60,7 @@ content:
type: string_textfield
region: content
field_disability:
weight: 31
weight: 10
settings:
size: 60
placeholder: ''
@ -70,7 +68,7 @@ content:
type: string_textfield
region: content
field_ethnic_o:
weight: 33
weight: 7
settings:
size: 60
placeholder: ''
@ -78,39 +76,37 @@ content:
type: string_textfield
region: content
field_gender_identified_with:
weight: 30
weight: 4
settings: { }
third_party_settings: { }
type: options_select
region: content
field_how_heard:
weight: 37
weight: 13
settings: { }
third_party_settings: { }
type: options_select
region: content
field_income:
weight: 34
weight: 11
settings: { }
third_party_settings: { }
type: options_select
region: content
field_languages_spoken:
weight: 32
settings:
size: 60
placeholder: ''
weight: 9
settings: { }
third_party_settings: { }
type: string_textfield
type: options_select
region: content
field_marital_:
weight: 29
weight: 5
settings: { }
third_party_settings: { }
type: options_select
region: content
field_nationality:
weight: 28
weight: 8
settings:
size: 60
placeholder: ''
@ -118,7 +114,7 @@ content:
type: string_textfield
region: content
field_referred_by:
weight: 38
weight: 14
settings:
size: 60
placeholder: ''
@ -135,7 +131,7 @@ content:
third_party_settings: { }
phone:
type: string_textfield
weight: 2
weight: 0
region: content
settings:
size: 60
@ -143,7 +139,7 @@ content:
third_party_settings: { }
phone2:
type: string_textfield
weight: 3
weight: 1
region: content
settings:
size: 60
@ -151,7 +147,7 @@ content:
third_party_settings: { }
postal_address:
type: string_textarea
weight: 5
weight: 2
region: content
settings:
rows: 5

View File

@ -4,6 +4,8 @@ dependencies:
config:
- field.field.oc_actor.volunteer.field_languages_spoken
- field.field.oc_actor.volunteer.field_nationality
- field.field.oc_actor.volunteer.field_osic_level
- field.field.oc_actor.volunteer.field_skills
- opencase_entities.oc_actor_type.volunteer
id: oc_actor.volunteer.default
targetEntityType: oc_actor
@ -11,68 +13,31 @@ bundle: volunteer
mode: default
content:
field_languages_spoken:
weight: 28
settings:
size: 60
placeholder: ''
weight: 1
settings: { }
third_party_settings: { }
type: string_textfield
type: options_select
region: content
field_nationality:
weight: 27
weight: 0
settings:
size: 60
placeholder: ''
third_party_settings: { }
type: string_textfield
region: content
field_sdfdsfds:
weight: 26
settings:
rows: 5
placeholder: ''
third_party_settings: { }
type: text_textarea
region: content
name:
type: string_textfield
weight: -4
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
phone:
type: string_textfield
field_osic_level:
weight: 2
region: content
settings:
size: 60
placeholder: ''
settings: { }
third_party_settings: { }
phone2:
type: string_textfield
type: options_select
region: content
field_skills:
type: string_textarea
weight: 3
region: content
settings:
size: 60
placeholder: ''
third_party_settings: { }
postal_address:
type: string_textarea
weight: 5
region: content
settings:
rows: 5
placeholder: ''
third_party_settings: { }
user_id:
type: entity_reference_autocomplete
weight: 5
settings:
match_operator: CONTAINS
size: 60
placeholder: ''
region: content
third_party_settings: { }
hidden: { }

View File

@ -32,7 +32,7 @@ content:
settings:
placeholder: ''
third_party_settings: { }
type: number_decimal
type: number
region: content
field_outcome:
weight: 26

View File

@ -32,7 +32,7 @@ content:
settings:
placeholder: ''
third_party_settings: { }
type: number_decimal
type: number
region: content
field_outcome:
weight: 30

View File

@ -33,7 +33,7 @@ content:
settings:
placeholder: ''
third_party_settings: { }
type: number_decimal
type: number
region: content
field_gave_list_of_agencies:
weight: 27

View File

@ -32,7 +32,7 @@ content:
settings:
placeholder: ''
third_party_settings: { }
type: number_decimal
type: number
region: content
field_outcome:
weight: 30

View File

@ -33,7 +33,7 @@ content:
settings:
placeholder: ''
third_party_settings: { }
type: number_decimal
type: number
region: content
field_level:
weight: 26

View File

@ -32,7 +32,7 @@ content:
settings:
placeholder: ''
third_party_settings: { }
type: number_decimal
type: number
region: content
field_outcome:
weight: 30

View File

@ -27,12 +27,11 @@ bundle: client
mode: default
content:
field_asylum_status:
weight: 15
weight: 6
label: above
settings:
link_to_entity: false
settings: { }
third_party_settings: { }
type: string
type: list_default
region: content
field_client_field_1:
weight: 1
@ -43,7 +42,7 @@ content:
type: string
region: content
field_confidentiality_form:
weight: 19
weight: 15
label: above
settings:
use_description_as_link_text: true
@ -51,60 +50,15 @@ content:
type: file_default
region: content
field_date_of_birth:
weight: 7
weight: 3
label: above
settings:
format_type: medium
timezone_override: ''
format_type: short
third_party_settings: { }
type: datetime_default
region: content
field_dependants:
weight: 16
label: above
settings:
link_to_entity: false
third_party_settings: { }
type: string
region: content
field_disability:
weight: 11
label: above
settings:
link_to_entity: false
third_party_settings: { }
type: string
region: content
field_ethnic_o:
weight: 13
label: above
settings:
link_to_entity: false
third_party_settings: { }
type: string
region: content
field_gender_identified_with:
weight: 10
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_how_heard:
weight: 17
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_income:
weight: 14
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_languages_spoken:
weight: 12
label: above
settings:
@ -112,13 +66,57 @@ content:
third_party_settings: { }
type: string
region: content
field_marital_:
field_disability:
weight: 10
label: above
settings:
link_to_entity: false
third_party_settings: { }
type: string
region: content
field_ethnic_o:
weight: 7
label: above
settings:
link_to_entity: false
third_party_settings: { }
type: string
region: content
field_gender_identified_with:
weight: 4
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_how_heard:
weight: 13
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_income:
weight: 11
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_languages_spoken:
weight: 9
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_marital_:
weight: 5
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_nationality:
weight: 8
label: above
@ -128,7 +126,7 @@ content:
type: string
region: content
field_referred_by:
weight: 18
weight: 14
label: above
settings:
link_to_entity: false
@ -143,27 +141,4 @@ content:
settings:
link_to_entity: false
third_party_settings: { }
phone:
label: above
type: string
weight: 2
region: content
settings:
link_to_entity: false
third_party_settings: { }
phone2:
label: above
type: string
weight: 3
region: content
settings:
link_to_entity: false
third_party_settings: { }
postal_address:
label: above
type: basic_string
weight: 5
region: content
settings: { }
third_party_settings: { }
hidden: { }

View File

@ -4,8 +4,11 @@ dependencies:
config:
- field.field.oc_actor.volunteer.field_languages_spoken
- field.field.oc_actor.volunteer.field_nationality
- field.field.oc_actor.volunteer.field_osic_level
- field.field.oc_actor.volunteer.field_skills
- opencase_entities.oc_actor_type.volunteer
module:
- options
- user
id: oc_actor.volunteer.default
targetEntityType: oc_actor
@ -13,20 +16,26 @@ bundle: volunteer
mode: default
content:
field_languages_spoken:
weight: 8
weight: 4
label: above
settings: { }
third_party_settings: { }
type: list_default
region: content
field_nationality:
weight: 3
label: above
settings:
link_to_entity: false
third_party_settings: { }
type: string
region: content
field_nationality:
weight: 7
field_osic_level:
weight: 5
label: above
settings:
link_to_entity: false
settings: { }
third_party_settings: { }
type: string
type: list_default
region: content
field_sdfdsfds:
weight: 1
@ -35,6 +44,13 @@ content:
third_party_settings: { }
type: text_default
region: content
field_skills:
type: basic_string
weight: 6
region: content
label: above
settings: { }
third_party_settings: { }
name:
label: above
type: string
@ -46,7 +62,7 @@ content:
phone:
label: above
type: string
weight: 2
weight: 0
region: content
settings:
link_to_entity: false
@ -54,7 +70,7 @@ content:
phone2:
label: above
type: string
weight: 3
weight: 1
region: content
settings:
link_to_entity: false
@ -62,7 +78,7 @@ content:
postal_address:
label: above
type: basic_string
weight: 5
weight: 2
region: content
settings: { }
third_party_settings: { }

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: asylum_status
name: 'Asylum status'
url_alias: asylum_status
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_asylum_status
facet_source_id: 'search_api:views_page__reporting_clients__page_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: asylum_status_export
name: 'Asylum status'
url_alias: asylum_status
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_asylum_status
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,67 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: created
name: Created
url_alias: created
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: created
facet_source_id: 'search_api:views_page__reporting_clients__page_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
active_widget_order:
processor_id: active_widget_order
weights:
sort: -8
settings:
sort: DESC
count_widget_order:
processor_id: count_widget_order
weights:
sort: -9
settings:
sort: DESC
date_item:
processor_id: date_item
weights:
build: 35
settings:
date_display: actual_date
granularity: 5
date_format: ''
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: -10
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,67 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
module:
- views_data_export
id: created_export
name: 'Created - Export'
url_alias: created
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: created
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
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
date_item:
processor_id: date_item
weights:
build: 35
settings:
date_display: actual_date
granularity: 5
date_format: ''
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: disability
name: 'Disability'
url_alias: disability
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_disability
facet_source_id: 'search_api:views_page__reporting_clients__page_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: disability_export
name: 'Disability'
url_alias: disability
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_disability
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: gender_identified_with
name: 'Gender Identity'
url_alias: gender_identified_with
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_gender_identified_with
facet_source_id: 'search_api:views_page__reporting_clients__page_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: gender_identified_with_export
name: 'Gender Identity'
url_alias: gender_identified_with
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_gender_identified_with
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: languages
name: 'Languages'
url_alias: languages
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_languages_spoken
facet_source_id: 'search_api:views_page__reporting_clients__page_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: languages_export
name: 'Languages'
url_alias: languages
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_languages_spoken
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_clients
- views.view.reporting_clients
module:
- search_api
id: nationality
name: 'Nationality'
url_alias: nationality
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_nationality
facet_source_id: 'search_api:views_page__reporting_clients__page_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
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
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_nationality
facet_source_id: 'search_api:views_data_export__reporting_clients__data_export_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_volunteers
- views.view.reporting_volunteers
module:
- search_api
id: osic_level
name: 'OSIC level'
url_alias: osic_level
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: field_osic_level
facet_source_id: 'search_api:views_page__reporting_volunteers__page_1'
widget:
type: checkbox
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,47 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_volunteers
- views.view.reporting_volunteers
module:
- search_api
id: osic_level_export
name: 'OSIC level (Export)'
url_alias: osic_level
weight: 0
min_count: 1
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
config:
show_numbers: false
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -4,6 +4,8 @@ dependencies:
config:
- field.storage.oc_actor.field_asylum_status
- opencase_entities.oc_actor_type.client
module:
- options
id: oc_actor.client.field_asylum_status
field_name: field_asylum_status
entity_type: oc_actor
@ -15,4 +17,4 @@ translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string
field_type: list_string

View File

@ -4,15 +4,17 @@ dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
- opencase_entities.oc_actor_type.client
module:
- options
id: oc_actor.client.field_languages_spoken
field_name: field_languages_spoken
entity_type: oc_actor
bundle: client
label: 'Languages spoken'
description: ''
description: 'Hold down <b>Ctrl</b> (or the Mac equivalent) while clicking, and you can select more than one.'
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: string
field_type: list_string

View File

@ -4,15 +4,17 @@ dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
- opencase_entities.oc_actor_type.volunteer
module:
- options
id: oc_actor.volunteer.field_languages_spoken
field_name: field_languages_spoken
entity_type: oc_actor
bundle: volunteer
label: 'Languages spoken'
description: ''
description: 'Hold down <b>Ctrl</b> (or the Mac equivalent) while clicking, and you can select more than one.'
required: false
translatable: true
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_osic_level
- opencase_entities.oc_actor_type.volunteer
module:
- options
id: oc_actor.volunteer.field_osic_level
field_name: field_osic_level
entity_type: oc_actor
bundle: volunteer
label: 'OSIC level'
description: ''
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: list_string

View File

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

View File

@ -6,7 +6,7 @@ dependencies:
id: oc_activity.field_amount
field_name: field_amount
entity_type: oc_activity
type: number_decimal
type: decimal
settings:
precision: 10
scale: 2

View File

@ -3,15 +3,21 @@ status: true
dependencies:
module:
- opencase_entities
- options
id: oc_actor.field_asylum_status
field_name: field_asylum_status
entity_type: oc_actor
type: string
type: list_string
settings:
max_length: 255
is_ascii: false
case_sensitive: false
module: core
allowed_values:
-
value: Refused
label: Refused
-
value: 'Leave to remain'
label: 'Leave to remain'
allowed_values_function: ''
module: options
locked: false
cardinality: 1
translatable: true

View File

@ -3,15 +3,30 @@ status: true
dependencies:
module:
- opencase_entities
- options
id: oc_actor.field_languages_spoken
field_name: field_languages_spoken
entity_type: oc_actor
type: string
type: list_string
settings:
max_length: 255
is_ascii: false
case_sensitive: false
module: core
allowed_values:
-
value: English
label: English
-
value: French
label: French
-
value: Arabic
label: Arabic
-
value: Kurdish
label: Kurdish
-
value: Farsi
label: Farsi
allowed_values_function: ''
module: options
locked: false
cardinality: -1
translatable: true

View File

@ -0,0 +1,32 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
- options
id: oc_actor.field_osic_level
field_name: field_osic_level
entity_type: oc_actor
type: list_string
settings:
allowed_values:
-
value: 'Under supervision'
label: 'Under supervision'
-
value: 'Level 1'
label: 'Level 1'
-
value: 'Level 2'
label: 'Level 2'
-
value: 'Level 3'
label: 'Level 3'
allowed_values_function: ''
module: options
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@ -0,0 +1,18 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
id: oc_actor.field_skills
field_name: field_skills
entity_type: oc_actor
type: string_long
settings:
case_sensitive: false
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

View File

@ -6,7 +6,7 @@ dependencies:
id: oc_case.field_fee_or_equivalent_cost
field_name: field_fee_or_equivalent_cost
entity_type: oc_case
type: number_decimal
type: decimal
settings:
precision: 10
scale: 2

View File

@ -0,0 +1,5 @@
langcode: en
status: true
dependencies: { }
id: supervision
label: Supervision

View File

@ -10,6 +10,7 @@ allowedActivityTypes:
interview: interview
lete: lete
research: research
supervision: supervision
telephone_call: telephone_call
volunteer_training_session: volunteer_training_session
destitution_funds_provided: 0

View File

@ -0,0 +1,57 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
- search_api
config:
- field.storage.oc_case.field_outcome
- search_api.server.opencase_reporting_server
id: opencase_reporting_cases
name: 'OpenCase Reporting: Cases'
description: ''
read_only: false
field_settings:
actors_involved:
label: 'Involved Parties'
datasource_id: 'entity:oc_case'
property_path: actors_involved
type: integer
dependencies:
module:
- opencase_entities
created:
label: Created
datasource_id: 'entity:oc_case'
property_path: created
type: date
dependencies:
module:
- opencase_entities
field_outcome:
label: Outcome
datasource_id: 'entity:oc_case'
property_path: field_outcome
type: string
dependencies:
config:
- field.storage.oc_case.field_outcome
datasource_settings:
'entity:oc_case':
bundles:
default: true
selected: { }
languages:
default: true
selected: { }
processor_settings:
add_url: { }
aggregated_field: { }
rendered_item: { }
tracker_settings:
default:
indexing_order: fifo
options:
index_directly: true
cron_limit: 50
server: opencase_reporting_server

View File

@ -0,0 +1,86 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_asylum_status
- 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
- search_api.server.opencase_reporting_server
module:
- opencase_entities
- search_api
id: opencase_reporting_clients
name: 'OpenCase Reporting: Clients'
description: ''
read_only: false
field_settings:
created:
label: Created
datasource_id: 'entity:oc_actor'
property_path: created
type: date
dependencies:
module:
- opencase_entities
field_asylum_status:
label: 'Asylum status'
datasource_id: 'entity:oc_actor'
property_path: field_asylum_status
type: string
dependencies:
config:
- field.storage.oc_actor.field_asylum_status
field_disability:
label: Disability
datasource_id: 'entity:oc_actor'
property_path: field_disability
type: string
dependencies:
config:
- field.storage.oc_actor.field_disability
field_gender_identified_with:
label: 'Gender identified with'
datasource_id: 'entity:oc_actor'
property_path: field_gender_identified_with
type: string
dependencies:
config:
- field.storage.oc_actor.field_gender_identified_with
field_languages_spoken:
label: 'Languages spoken'
datasource_id: 'entity:oc_actor'
property_path: field_languages_spoken
type: string
dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
field_nationality:
label: Nationality
datasource_id: 'entity:oc_actor'
property_path: field_nationality
type: string
dependencies:
config:
- field.storage.oc_actor.field_nationality
datasource_settings:
'entity:oc_actor':
bundles:
default: false
selected:
- client
languages:
default: true
selected: { }
processor_settings:
add_url: { }
aggregated_field: { }
rendered_item: { }
tracker_settings:
default:
indexing_order: fifo
options:
index_directly: true
cron_limit: 50
server: opencase_reporting_server

View File

@ -0,0 +1,50 @@
langcode: en
status: true
dependencies:
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
datasource_id: 'entity:oc_actor'
property_path: created
type: date
dependencies:
module:
- opencase_entities
field_osic_level:
label: 'OSIC level'
datasource_id: 'entity:oc_actor'
property_path: field_osic_level
type: string
dependencies:
config:
- field.storage.oc_actor.field_osic_level
datasource_settings:
'entity:oc_actor':
bundles:
default: false
selected:
- volunteer
languages:
default: true
selected: { }
processor_settings:
add_url: { }
aggregated_field: { }
rendered_item: { }
tracker_settings:
default:
indexing_order: fifo
options:
index_directly: true
cron_limit: 50
server: opencase_reporting_server

View File

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

View File

@ -12,5 +12,9 @@ permissions:
- 'delete activity entities'
- 'delete case entities'
- 'delete client entities'
- 'edit activity entities'
- 'edit case entities'
- 'edit client entities'
- 'use opencase'
- 'view own cases'
- 'view published client entities'

View File

@ -6,16 +6,30 @@ label: 'CRM Admin'
weight: 7
is_admin: null
permissions:
- 'add activity entities'
- 'add case entities'
- 'add client entities'
- 'add volunteer entities'
- 'administer oc_activity display'
- 'administer oc_activity fields'
- 'administer oc_activity form display'
- 'administer oc_actor display'
- 'administer oc_actor fields'
- 'administer oc_actor form display'
- 'administer oc_case fields'
- 'administer oc_case form display'
- 'administer opencase entity bundles'
- 'administer users'
- 'delete activity entities'
- 'delete case entities'
- 'delete client entities'
- 'delete volunteer entities'
- 'edit activity entities'
- 'edit case entities'
- 'edit client entities'
- 'edit volunteer entities'
- 'use opencase'
- 'view published activity entities'
- 'view published case entities'
- 'view published client entities'
- 'view published volunteer entities'

View File

@ -14,7 +14,11 @@ permissions:
- 'delete case entities'
- 'delete client entities'
- 'delete volunteer entities'
- 'edit activity entities'
- 'edit case entities'
- 'edit client entities'
- 'edit volunteer entities'
- 'use opencase'
- 'view published case entities'
- 'view published client entities'
- 'view published volunteer entities'

View File

@ -7,9 +7,13 @@ weight: 6
is_admin: null
permissions:
- 'add activity entities'
- 'add case entities'
- 'add volunteer entities'
- 'delete activity entities'
- 'delete case entities'
- 'delete volunteer entities'
- 'edit activity entities'
- 'edit case entities'
- 'edit volunteer entities'
- 'use opencase'
- 'view published volunteer entities'

View File

@ -0,0 +1,724 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_asylum_status
- 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
- search_api.index.opencase_reporting_clients
content:
- 'block_content:basic:944ff38d-5931-4439-91d5-f53b5ad7aac7'
module:
- options
- rest
- search_api
- serialization
- user
- views_data_export
id: reporting_clients
label: 'Reporting: Clients'
module: views
description: ''
tag: ''
base_table: search_api_index_opencase_reporting_clients
base_field: search_api_id
core: 8.x
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'use opencase'
cache:
type: tag
options: { }
query:
type: views_query
options:
bypass_access: false
skip_access: false
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
options:
items_per_page: 10
offset: 0
id: 0
total_pages: null
expose:
items_per_page: false
items_per_page_label: 'Items per page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
tags:
previous:
next:
style:
type: table
row:
type: fields
fields:
first_name:
id: first_name
table: search_api_datasource_opencase_reporting_clients_entity_oc_actor
field: first_name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
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_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
field_asylum_status:
id: field_asylum_status
table: search_api_index_opencase_reporting_clients
field: field_asylum_status
relationship: none
group_type: group
admin_label: ''
label: 'Asylum status'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: list_default
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: null
entity_field: null
plugin_id: search_api_field
field_disability:
id: field_disability
table: search_api_index_opencase_reporting_clients
field: field_disability
relationship: none
group_type: group
admin_label: ''
label: Disability
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
plugin_id: search_api_field
field_gender_identified_with:
id: field_gender_identified_with
table: search_api_index_opencase_reporting_clients
field: field_gender_identified_with
relationship: none
group_type: group
admin_label: ''
label: 'Gender ID'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: list_default
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
plugin_id: search_api_field
field_languages_spoken:
id: field_languages_spoken
table: search_api_index_opencase_reporting_clients
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: ', '
plugin_id: search_api_field
field_nationality:
id: field_nationality
table: search_api_index_opencase_reporting_clients
field: field_nationality
relationship: none
group_type: group
admin_label: ''
label: Nationality
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
plugin_id: search_api_field
post_code:
id: post_code
table: search_api_datasource_opencase_reporting_clients_entity_oc_actor
field: post_code
relationship: none
group_type: group
admin_label: ''
label: 'Post Code'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
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: 'Client 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
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
use_ajax: true
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_asylum_status'
- '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'
data_export_1:
display_plugin: data_export
id: data_export_1
display_title: 'Data export'
position: 2
display_options:
display_extenders: { }
path: opencase/reporting/clients
filename: '[view:title].csv'
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- request_format
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_asylum_status'
- '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'
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders: { }
path: opencase/reporting/clients
cache:
type: none
defaults:
cache: false
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_asylum_status'
- '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'

View File

@ -0,0 +1,530 @@
langcode: en
status: true
dependencies:
config:
- field.storage.oc_actor.field_languages_spoken
- field.storage.oc_actor.field_osic_level
- search_api.index.opencase_reporting_volunteers
content:
- 'block_content:basic:944ff38d-5931-4439-91d5-f53b5ad7aac7'
module:
- csv_serialization
- options
- rest
- search_api
- serialization
- user
- views_data_export
id: reporting_volunteers
label: 'Reporting: Volunteers'
module: views
description: ''
tag: ''
base_table: search_api_index_opencase_reporting_volunteers
base_field: search_api_id
core: 8.x
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'use opencase'
cache:
type: tag
options: { }
query:
type: views_query
options:
bypass_access: false
skip_access: false
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
options:
items_per_page: 10
offset: 0
id: 0
total_pages: null
expose:
items_per_page: false
items_per_page_label: 'Items per page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
tags:
previous:
next:
style:
type: table
row:
type: fields
fields:
first_name:
id: first_name
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor
field: first_name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: 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
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: oc_actor
plugin_id: search_api_field
created:
id: created
table: search_api_datasource_opencase_reporting_volunteers_entity_oc_actor
field: created
relationship: none
group_type: group
admin_label: ''
label: 'Created Date'
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: timestamp
settings:
date_format: medium
custom_date_format: ''
timezone: ''
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api_date
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
table: search_api_index_opencase_reporting_volunteers
field: field_osic_level
relationship: none
group_type: group
admin_label: ''
label: 'OSIC Level'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: list_default
settings: { }
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
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
footer: { }
empty: { }
relationships: { }
arguments: { }
display_extenders: { }
use_ajax: true
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'
data_export_1:
display_plugin: data_export
id: data_export_1
display_title: 'Data export'
position: 2
display_options:
display_extenders: { }
path: opencase/reporting/volunteers
filename: '[view:title].csv'
style:
type: data_export
options:
formats:
csv: csv
csv_settings:
delimiter: ','
enclosure: '"'
escape_char: \
strip_tags: true
trim: true
encoding: utf8
xls_settings:
xls_format: Excel2007
metadata:
creator: ''
last_modified_by: ''
title: ''
description: ''
subject: ''
keywords: ''
category: ''
manager: ''
company: ''
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- request_format
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders: { }
path: opencase/reporting/volunteers
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url.query_args
- user.permissions
tags:
- 'config:field.storage.oc_actor.field_languages_spoken'
- 'config:field.storage.oc_actor.field_osic_level'

View File

@ -1,5 +1,11 @@
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:
- contact
- field
- opencase_entities
- opencase_reporting
- options

View File

@ -1,12 +1,12 @@
opencase.add_volunteer:
title: 'Add a new volunteer'
description: 'Create a new volunteer record'
menu_name: opencase-add-actors
url: internal:/opencase/oc_actor/add/volunteer
opencase_defaults.report_on_clients:
title: 'Clients'
description: 'Report on clients'
parent: opencase_defaults.reporting_menu
url: internal:/opencase/reporting/clients
weight: 0
opencase.add_client:
title: 'Add a new client'
description: 'Create a new client record'
menu_name: opencase-add-actors
url: internal:/opencase/oc_actor/add/client
opencase_defaults.report_on_volunteers:
title: 'Volunteers'
description: 'Report on volunteers'
parent: opencase_defaults.reporting_menu
url: internal:/opencase/reporting/volunteers
weight: 1

View File

@ -6,6 +6,26 @@
*/
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().

View File

@ -0,0 +1,26 @@
langcode: en
status: true
dependencies:
config:
- field.storage.user.field_linked_opencase_actor
module:
- user
id: user.user.field_linked_opencase_actor
field_name: field_linked_opencase_actor
entity_type: user
bundle: user
label: 'Person in OpenCase'
description: 'If this user is also a person in OpenCase (e.g. a staff member or a volunteer), start typing the name here to link them. This will ensure they have access to the right cases.'
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:oc_actor'
handler_settings:
target_bundles:
sort:
field: _none
auto_create: false
auto_create_bundle: ''
field_type: entity_reference

View File

@ -0,0 +1,19 @@
langcode: en
status: true
dependencies:
module:
- opencase_entities
- user
id: user.field_linked_opencase_actor
field_name: field_linked_opencase_actor
entity_type: user
type: entity_reference
settings:
target_type: oc_actor
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false

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

@ -6,6 +6,7 @@
*/
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\opencase_entities\CaseInvolvement;
/**
* Implements hook_help().
@ -111,3 +112,30 @@ function opencase_entities_theme_suggestions_oc_activity(array $variables) {
$suggestions[] = 'oc_activity__' . $entity->id() . '__' . $sanitized_view_mode;
return $suggestions;
}
function opencase_views_query_alter(Drupal\views\ViewExecutable $view, $query) {
if ($view->getBaseEntityType() && $view->getBaseEntityType()->id() == 'oc_case') {
$query->addTag('oc_case_access');
}
if ($view->getBaseEntityType() && $view->getBaseEntityType()->id() == 'oc_activity') {
$query->addTag('oc_activity_access');
}
}
function opencase_query_oc_case_access_alter($query) {
if (\Drupal::currentUser()->hasPermission('view published case entities')) {
return;
}
$linked_actor_id = CaseInvolvement::getLinkedActorId(\Drupal::currentUser());
$query->addJoin('INNER', 'oc_case__actors_involved', 'access_filter', 'access_filter.entity_id = oc_case_field_data.id');
$query->condition('access_filter.actors_involved_target_id', $linked_actor_id);
}
function opencase_query_oc_activity_access_alter($query) {
if (\Drupal::currentUser()->hasPermission('view published case entities')) {
return;
}
$linked_actor_id = CaseInvolvement::getLinkedActorId(\Drupal::currentUser());
$query->addJoin('INNER', 'oc_case__actors_involved', 'access_filter', 'access_filter.entity_id = oc_activity_field_data.oc_case');
$query->condition('access_filter.actors_involved_target_id', $linked_actor_id);
}

View File

@ -1,3 +1,7 @@
permission_callbacks:
- Drupal\opencase_entities\OpenCaseEntityPermissions::permissions
administer opencase entity bundles:
title: 'Administer OpenCase Actor/Case/Activity Types'
description: 'Create, configure and delete types of actor (such as "Client" or "Legal Advisor"), types of case (such as "Housing" or "Asylum") and types of activity (such as "Case Note" or "Interview")'
@ -7,61 +11,57 @@ 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>.'
view volunteer involvement in cases:
title: 'View names of Volunteers involved in Cases'
description: "When viewing a case record, they can see the names of the volunteers involved, but cannot click through to volunteer's details."
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 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'
@ -78,7 +78,8 @@ edit case entities:
title: 'Edit Case entities'
view published case entities:
title: 'View published Case entities'
title: 'View all cases'
description: 'All users can see cases which they are involved in. This grants permission to see all cases regardless of involvement.'
view unpublished case entities:
title: 'View unpublished Case entities'
@ -107,9 +108,6 @@ delete activity entities:
edit activity entities:
title: 'Edit Activity entities'
view published activity entities:
title: 'View published Activity entities'
view unpublished activity entities:
title: 'View unpublished Activity entities'

View File

@ -0,0 +1,22 @@
<?php
namespace Drupal\opencase_entities;
class CaseInvolvement {
public static function getLinkedActorId($account) {
return \Drupal\user\Entity\User::load($account->id())->get('field_linked_opencase_actor')->target_id;
}
public static function userIsInvolved($account, $case) {
$actorId = self::getLinkedActorId($account);
$involvedIds = array_column($case->actors_involved->getValue(), 'target_id');
return in_array($actorId, $involvedIds);
}
public static function userIsInvolved_activity($account, $activity) {
$case_id = $activity->oc_case->target_id;
$case = \Drupal::entityTypeManager()->getStorage('oc_case')->load($case_id);
return self::userIsInvolved($account, $case);
}
}

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",
@ -235,7 +235,7 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', [
'label' => 'inline',
'type' => 'author',
'weight' => -4,
'weight' => -10,
]);
$fields['first_name'] = BaseFieldDefinition::create('string')
@ -250,11 +250,11 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -3,
'weight' => -9,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -3,
'weight' => -9,
])
->setRequired(TRUE);
@ -270,11 +270,11 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -2,
'weight' => -8,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -2,
'weight' => -8,
])
->setRequired(FALSE);
@ -290,14 +290,25 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', [
'label' => 'above',
'type' => 'string',
'weight' => -1,
'weight' => -7,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -1,
'weight' => -7,
])
->setRequired(TRUE);
$fields['consent'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Consent to data storage'))
->setDescription(t('Has this person explicitly consented to having their personal data stored on this system?'))
->setRevisionable(TRUE)
->setDefaultValue(FALSE)
->setRequired(TRUE)
->setDisplayOptions('form', array(
'type' => 'boolean_checkbox',
'weight' => -6,
));
// Contact details.
// so it is not exposed to user configuration.
$fields['email'] = BaseFieldDefinition::create('string')
@ -310,16 +321,14 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => 0,
'weight' => -5,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 0,
'weight' => -5,
));
$fields['phone'] = BaseFieldDefinition::create('string')
->setLabel(t('Main Phone Number'))
->setDisplayConfigurable('view', TRUE)
->setDisplayConfigurable('form', TRUE)
->setSettings(array(
'default_value' => '',
'max_length' => 20,
@ -328,11 +337,11 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => 2,
'weight' => -4,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 2,
'weight' => -4,
));
$fields['phone2'] = BaseFieldDefinition::create('string')
->setLabel(t('Alternative Phone Number'))
@ -341,22 +350,18 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
'max_length' => 20,
'text_processing' => 0,
))
->setDisplayConfigurable('view', TRUE)
->setDisplayConfigurable('form', TRUE)
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => 3,
'weight' => -3,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 3,
'weight' => -3,
));
$fields['postal_address'] = BaseFieldDefinition::create('string_long')
->setLabel(t('Postal Address'))
->setDescription(t('Full address, apart from post code.'))
->setDisplayConfigurable('view', TRUE)
->setDisplayConfigurable('form', TRUE)
->setSettings(array(
'default_value' => '',
'max_length' => 255,
@ -365,11 +370,11 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'basic_string',
'weight' => 5,
'weight' => -2,
))
->setDisplayOptions('form', array(
'type' => 'string_textarea',
'weight' => 5,
'weight' => -2,
));
$fields['post_code'] = BaseFieldDefinition::create('string')
->setLabel(t('Post Code'))
@ -381,11 +386,11 @@ class OCActor extends RevisionableContentEntityBase implements OCActorInterface
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
'weight' => 6,
'weight' => -1,
))
->setDisplayOptions('form', array(
'type' => 'string_textfield',
'weight' => 6,
'weight' => -1,
));
$fields['created'] = BaseFieldDefinition::create('created')

View File

@ -76,10 +76,13 @@ class OCCase extends RevisionableContentEntityBase implements OCCaseInterface {
/**
* When creating a case, it sets the first involved party to the actor
* id from the URL.
* id from the URL, and the second to the author's linked actor
* (if it exists and is different)
*/
public static function defaultVal() {
return array(\Drupal::request()->query->get('actor_id'));
$author_linked_actor_id = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id())->get('field_linked_opencase_actor')->target_id;
$currently_viewed_actor_id = \Drupal::request()->query->get('actor_id');
return array_unique([$currently_viewed_actor_id, $author_linked_actor_id]);
}
/**

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

@ -24,13 +24,28 @@ class OCActivityAccessControlHandler extends EntityAccessControlHandler {
if (!$entity->isPublished()) {
return AccessResult::allowedIfHasPermission($account, 'view unpublished activity entities');
}
return AccessResult::allowedIfHasPermission($account, 'view published activity entities');
case 'update':
return AccessResult::allowedIfHasPermission($account, 'edit activity entities');
case 'delete':
return AccessResult::allowedIfHasPermission($account, 'delete activity entities');
return AccessResult::allowedIf(
$account->hasPermission('view published case entities') // activity permissions are inherited from case
|| CaseInvolvement::userIsInvolved_activity($account, $entity)
);
case 'update': // allowed only if a) they can see the case the activity is on and b) they can edit activities
if (!$account->hasPermission('edit activity entities')) {
return AccessResult::forbidden();
} else {
return AccessResult::allowedIf(
$account->hasPermission('view published case entities')
|| CaseInvolvement::userIsInvolved_activity($account, $entity)
);
}
case 'delete': // allowed only if a) they can see the case the activity is on and b) they can delete activities
if (!$account->hasPermission('delete activity entities')) {
return AccessResult::forbidden();
} else {
return AccessResult::allowedIf(
$account->hasPermission('view published case entities')
|| CaseInvolvement::userIsInvolved_activity($account, $entity)
);
}
}
// Unknown operation, no opinion.

View File

@ -14,6 +14,9 @@ use Drupal\Core\Access\AccessResult;
*/
class OCActorAccessControlHandler extends EntityAccessControlHandler {
protected $viewLabelOperation = TRUE;
/**
* {@inheritdoc}
* Permissions are assigned by bundle.
@ -22,21 +25,18 @@ class OCActorAccessControlHandler extends EntityAccessControlHandler {
protected function checkAccess(EntityInterface $entity, $operation, AccountInterface $account) {
/** @var \Drupal\opencase_entities\Entity\OCActorInterface $entity */
$bundle = $entity->bundle();
$route_name = \Drupal::routeMatch()->getRouteName();
$case_routes = ['entity.oc_case.canonical', 'entity.oc_case.edit_form', 'view.cases.page_1', 'entity.oc_case.add_form'];
$is_case_context = in_array($route_name, $case_routes);
switch ($operation) {
case 'view label':
return AccessResult::allowed();
case 'view':
if (!$entity->isPublished()) {
return AccessResult::allowedIf(
$account->hasPermission("view unpublished $bundle entities")
or ($is_case_context && $account->hasPermission("view unpublished $bundle entities"))
);
}
return AccessResult::allowedIf(
$account->hasPermission("view published $bundle entities")
or ($is_case_context && $account->hasPermission("view $bundle involvement in cases"))
);
case "update":

View File

@ -6,6 +6,7 @@ use Drupal\Core\Entity\EntityAccessControlHandler;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Session\AccountInterface;
use Drupal\Core\Access\AccessResult;
use Drupal\opencase_entities\CaseInvolvement;
/**
* Access controller for the Case entity.
@ -24,13 +25,20 @@ class OCCaseAccessControlHandler extends EntityAccessControlHandler {
if (!$entity->isPublished()) {
return AccessResult::allowedIfHasPermission($account, 'view unpublished case entities');
}
return AccessResult::allowedIfHasPermission($account, 'view published case entities');
case 'update':
return AccessResult::allowedIfHasPermission($account, 'edit case entities');
case 'delete':
return AccessResult::allowedIfHasPermission($account, 'delete case entities');
return AccessResult::allowedIf(
$account->hasPermission('view published case entities')
|| CaseInvolvement::userIsInvolved($account, $entity)
);
case 'update': // you can edit the case only if a) you can see it and b) you have the permission to edit cases.
return AccessResult::allowedIf(
$account->hasPermission('edit case entities')
&& ($account->hasPermission('view published case entities') || CaseInvolvement::userIsInvolved($account, $entity))
);
case 'delete': // you can delete the case only if a) you can see it and b) you have the permission to delete cases.
return AccessResult::allowedIf(
$account->hasPermission('delete case entities')
&& ($account->hasPermission('view published case entities') || CaseInvolvement::userIsInvolved($account, $entity))
);
}
// Unknown operation, no opinion.

View File

@ -0,0 +1,93 @@
<?php
namespace Drupal\opencase_entities;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Symfony\Component\DependencyInjection\ContainerInterface;
class OpenCaseEntityPermissions implements ContainerInjectionInterface {
use StringTranslationTrait;
/**
* The entity type manager.
*
* @var \Drupal\Core\Entity\EntityTypeManagerInterface
*/
protected $entityTypeManager;
/**
* Constructor for MyModulePermissions.
*
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
*/
public function __construct(EntityTypeManagerInterface $entity_type_manager) {
$this->entityTypeManager = $entity_type_manager;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container) {
return new static($container->get('entity_type.manager'));
}
/**
* Get permissions for MyModule.
*
* @return array
* Permissions array.
*/
public function permissions() {
$permissions = [];
foreach ($this->entityTypeManager->getStorage('oc_actor_type')->loadMultiple() as $id => $type) {
$permissions += [
"add $id entities" => [
'title' => $this->t('Create new %type entities', array('%type' => $type->label())),
]
];
$permissions += [
"edit $id entities" => [
'title' => $this->t('Edit %type entities', array('%type' => $type->label())),
]
];
$permissions += [
"delete $id entities" => [
'title' => $this->t('Delete %type entities', array('%type' => $type->label())),
]
];
$permissions += [
"view published $id entities" => [
'title' => $this->t('View published %type entities', array('%type' => $type->label())),
]
];
$permissions += [
"view all $id revisions" => [
'title' => $this->t('View %type revisions', array('%type' => $type->label())),
]
];
$permissions += [
"revert all $id revisions" => [
'title' => $this->t('Revert %type revisions', array('%type' => $type->label())),
]
];
$permissions += [
"delete all $id revisions" => [
'title' => $this->t('Delete %type revisions', array('%type' => $type->label())),
]
];
}
return $permissions;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

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

View File

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

View File

@ -0,0 +1,59 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_actors
- views.view.reporting_actors
module:
- search_api
id: actor_type
name: 'Actor type'
url_alias: actor_type
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: type
facet_source_id: 'search_api:views_page__reporting_actors__page_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
active_widget_order:
processor_id: active_widget_order
weights:
sort: -9
settings:
sort: DESC
count_widget_order:
processor_id: count_widget_order
weights:
sort: -8
settings:
sort: DESC
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: -10
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,59 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_actors
module:
- views_data_export
id: actor_type_export
name: 'Actor type - Export'
url_alias: actor_type
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: type
facet_source_id: 'search_api:views_data_export__reporting_actors__data_export_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
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:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,67 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_actors
- views.view.reporting_actors
module:
- search_api
id: created
name: Created
url_alias: created
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: created
facet_source_id: 'search_api:views_page__reporting_actors__page_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
active_widget_order:
processor_id: active_widget_order
weights:
sort: -8
settings:
sort: DESC
count_widget_order:
processor_id: count_widget_order
weights:
sort: -9
settings:
sort: DESC
date_item:
processor_id: date_item
weights:
build: 35
settings:
date_display: actual_date
granularity: 5
date_format: ''
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: -10
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,67 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_actors
module:
- views_data_export
id: created_export
name: 'Created - Export'
url_alias: created
weight: 0
min_count: 1
show_only_one_result: false
field_identifier: created
facet_source_id: 'search_api:views_data_export__reporting_actors__data_export_1'
widget:
type: checkbox
config:
show_numbers: true
soft_limit: 0
soft_limit_settings:
show_less_label: 'Show less'
show_more_label: 'Show more'
query_operator: or
use_hierarchy: false
expand_hierarchy: false
enable_parent_when_child_gets_disabled: true
hard_limit: 0
exclude: false
only_visible_when_facet_source_is_visible: true
processor_configs:
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
date_item:
processor_id: date_item
weights:
build: 35
settings:
date_display: actual_date
granularity: 5
date_format: ''
display_value_widget_order:
processor_id: display_value_widget_order
weights:
sort: 40
settings:
sort: ASC
url_processor_handler:
processor_id: url_processor_handler
weights:
pre_query: 50
build: 15
settings: { }
empty_behavior:
behavior: none
show_title: false

View File

@ -0,0 +1,42 @@
langcode: en
status: true
dependencies:
config:
- search_api.server.opencase_reporting_server
module:
- search_api
- opencase_entities
id: opencase_reporting_actors
name: 'OpenCase Reporting: Actors'
description: ''
read_only: false
field_settings:
created:
label: Created
datasource_id: 'entity:oc_actor'
property_path: created
type: date
type:
label: 'Actor type'
datasource_id: 'entity:oc_actor'
property_path: type
type: string
datasource_settings:
'entity:oc_actor':
bundles:
default: true
selected: { }
languages:
default: true
selected: { }
processor_settings:
add_url: { }
aggregated_field: { }
rendered_item: { }
tracker_settings:
default:
indexing_order: fifo
options:
index_directly: true
cron_limit: 50
server: opencase_reporting_server

View File

@ -0,0 +1,16 @@
langcode: en
status: true
dependencies:
module:
- search_api_db
id: opencase_reporting_server
name: 'OpenCase Reporting'
description: ''
backend: search_api_db
backend_config:
database: 'default:default'
min_chars: 1
partial_matches: false
autocomplete:
suggest_suffix: true
suggest_words: true

View File

@ -0,0 +1,588 @@
langcode: en
status: true
dependencies:
config:
- search_api.index.opencase_reporting_actors
content:
- 'block_content:basic:944ff38d-5931-4439-91d5-f53b5ad7aac7'
module:
- csv_serialization
- rest
- search_api
- serialization
- user
- views_data_export
id: reporting_actors
label: 'Reporting: Actors'
module: views
description: 'A basic reporting view, for illustrative purposes, that does not assume the existence of any specific actor types or fields'
tag: ''
base_table: search_api_index_opencase_reporting_actors
base_field: search_api_id
core: 8.x
display:
default:
display_plugin: default
id: default
display_title: Master
position: 0
display_options:
access:
type: perm
options:
perm: 'access content'
cache:
type: tag
options: { }
query:
type: views_query
options:
bypass_access: false
skip_access: false
exposed_form:
type: basic
options:
submit_button: Apply
reset_button: false
reset_button_label: Reset
exposed_sorts_label: 'Sort by'
expose_sort_order: true
sort_asc_label: Asc
sort_desc_label: Desc
pager:
type: mini
options:
items_per_page: 10
offset: 0
id: 0
total_pages: null
tags:
previous:
next:
expose:
items_per_page: false
items_per_page_label: 'Items per page'
items_per_page_options: '5, 10, 25, 50'
items_per_page_options_all: false
items_per_page_options_all_label: '- All -'
offset: false
offset_label: Offset
style:
type: table
options:
grouping: { }
row_class: ''
default_row_class: true
override: true
sticky: false
caption: ''
summary: ''
description: ''
columns:
created: created
type: type
info:
created:
sortable: false
default_sort_order: asc
align: ''
separator: ''
empty_column: false
responsive: ''
type:
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_actors_entity_oc_actor
field: first_name
relationship: none
group_type: group
admin_label: ''
label: 'First Name'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: string
settings:
link_to_entity: false
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
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_actors_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_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
type:
id: type
table: search_api_index_opencase_reporting_actors
field: type
relationship: none
group_type: group
admin_label: ''
label: Type
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: target_id
type: entity_reference_label
settings:
link: false
group_column: target_id
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api_entity
fallback_options:
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
display_methods:
oc_actor_type:
display_method: label
plugin_id: search_api_field
created:
id: created
table: search_api_index_opencase_reporting_actors
field: created
relationship: none
group_type: group
admin_label: ''
label: 'Created date'
exclude: false
alter:
alter_text: false
text: ''
make_link: false
path: ''
absolute: false
external: false
replace_spaces: false
path_case: none
trim_whitespace: false
alt: ''
rel: ''
link_class: ''
prefix: ''
suffix: ''
target: ''
nl2br: false
max_length: 0
word_boundary: true
ellipsis: true
more_link: false
more_link_text: ''
more_link_path: ''
strip_tags: false
trim: false
preserve_tags: ''
html: false
element_type: ''
element_class: ''
element_label_type: ''
element_label_class: ''
element_label_colon: true
element_wrapper_type: ''
element_wrapper_class: ''
element_default_classes: true
empty: ''
hide_empty: false
empty_zero: false
hide_alter_empty: true
click_sort_column: value
type: timestamp
settings:
date_format: medium
custom_date_format: ''
timezone: ''
group_column: value
group_columns: { }
group_rows: true
delta_limit: 0
delta_offset: 0
delta_reversed: false
delta_first_last: false
multi_type: separator
separator: ', '
field_api_classes: false
field_rendering: true
fallback_handler: search_api_date
fallback_options:
date_format: fallback
custom_date_format: ''
timezone: ''
link_to_item: false
use_highlighting: false
multi_type: separator
multi_separator: ', '
entity_type: null
entity_field: null
plugin_id: search_api_field
filters: { }
sorts: { }
title: 'Reporting: Actors'
header: { }
footer: { }
empty: { }
relationships: { }
arguments:
'null':
id: 'null'
table: views
field: 'null'
relationship: none
group_type: group
admin_label: ''
default_action: default
exception:
value: all
title_enable: false
title: All
title_enable: true
title: '{{ "now"|date("Y/m/d") }}-{{ raw_arguments.null }} '
default_argument_type: query_parameter
default_argument_options:
query_param: title
fallback: Report
multiple: and
default_argument_skip_url: false
summary_options:
base_path: ''
count: true
items_per_page: 25
override: false
summary:
sort_order: asc
number_of_records: 0
format: default_summary
specify_validation: false
validate:
type: none
fail: 'not found'
validate_options: { }
must_not_be: false
plugin_id: 'null'
display_extenders: { }
use_ajax: true
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.permissions
tags: { }
data_export_1:
display_plugin: data_export
id: data_export_1
display_title: 'Data export'
position: 3
display_options:
display_extenders: { }
path: opencase/reporting/actors
filename: '[view:title].csv'
displays:
default: '0'
page_1: '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:
type: none
defaults:
cache: false
arguments: false
pager:
type: none
options:
offset: 0
arguments:
'null':
id: 'null'
table: views
field: 'null'
relationship: none
group_type: group
admin_label: ''
default_action: default
exception:
value: all
title_enable: false
title: All
title_enable: true
title: '{{ raw_arguments.null }}'
default_argument_type: query_parameter
default_argument_options:
query_param: title
fallback: New+Report
multiple: and
default_argument_skip_url: false
summary_options:
base_path: ''
count: true
items_per_page: 25
override: false
summary:
sort_order: asc
number_of_records: 0
format: default_summary
specify_validation: false
validate:
type: none
fail: 'not found'
validate_options: { }
must_not_be: false
plugin_id: 'null'
auth:
- cookie
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- request_format
- url
- user.permissions
tags: { }
page_1:
display_plugin: page
id: page_1
display_title: Page
position: 1
display_options:
display_extenders: { }
path: opencase/reporting/actors
cache:
type: none
defaults:
cache: false
header: false
menu:
type: tab
title: Reporting
description: ''
expanded: false
parent: ''
weight: 0
context: '0'
menu_name: main
header:
entity_block_content:
id: entity_block_content
table: views
field: entity_block_content
relationship: none
group_type: group
admin_label: ''
empty: true
tokenize: false
target: 944ff38d-5931-4439-91d5-f53b5ad7aac7
view_mode: default
bypass_access: false
plugin_id: entity
cache_metadata:
max-age: -1
contexts:
- 'languages:language_content'
- 'languages:language_interface'
- url
- url.query_args
- user.permissions
tags: { }

View File

@ -0,0 +1,12 @@
opencase_reporting.opencase_report.*:
type: config_entity
label: 'OpenCase Report config'
mapping:
id:
type: string
label: 'ID'
label:
type: label
label: 'Label'
uuid:
type: string

View File

@ -0,0 +1,15 @@
.facet-item label {
display: inline;
padding-left: 5px;
}
li.facet-item {
list-style-type: none;
}
.views-data-export-feed.csv-feed .feed-icon {
background-image: url(/modules/contrib/opencase/modules/opencase_reporting/assets/download.png);
width: 200px;
height: 27px;
float: right;
}

View File

@ -0,0 +1,18 @@
name: 'OpenCase Reporting'
type: module
description: 'Reporting functionality for OpenCase'
core: 8.x
package: 'OpenCase'
dependencies:
- opencase_entities
- search_api
- search_api_db
- facets
- csv_serialization
- rest
- serialization
- user
- views_data_export
libraries:
- opencase_reporting/opencase-reporting-lib

Some files were not shown because too many files have changed in this diff Show More