Skip to content

Commit 0a94a25

Browse files
committed
Add field for KLE references. Handle term references.
1 parent 2affe6e commit 0a94a25

5 files changed

+139
-2
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,17 @@ to publish cases and documents directly from their back-end systems.
88
Additionally this module includes views, panels and settings to display
99
the cases and documents, and uses PathAuto to generate urls.
1010

11+
Configuration
12+
-----------
13+
Add more content to CP case/docs by adding the field with the name of the recieved input field tag.
14+
Remember if the field type is different than taxonomy_term_reference it will be treated as text.
15+
16+
Todo
17+
-----------
18+
OS2web 1.0 migration
19+
- Use os2web_taxonomies field as kle_ref instead of os2web_cp_service_kle_ref.
20+
- Change dependency to os2web_taxonomies instead of old one.
21+
1122
Dependencies
1223
-----------
1324
- ctools

os2web_cp_service.features.field.inc

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -603,6 +603,89 @@ function os2web_cp_service_field_default_fields() {
603603
),
604604
);
605605

606+
// Exported field: 'node-os2web_cp_service_cp_case-field_os2web_cp_service_kle_ref'.
607+
$fields['node-os2web_cp_service_cp_case-field_os2web_cp_service_kle_ref'] = array(
608+
'field_config' => array(
609+
'active' => '1',
610+
'cardinality' => '1',
611+
'deleted' => '0',
612+
'entity_types' => array(),
613+
'field_name' => 'field_os2web_cp_service_kle_ref',
614+
'foreign keys' => array(
615+
'tid' => array(
616+
'columns' => array(
617+
'tid' => 'tid',
618+
),
619+
'table' => 'taxonomy_term_data',
620+
),
621+
),
622+
'indexes' => array(
623+
'tid' => array(
624+
0 => 'tid',
625+
),
626+
),
627+
'locked' => '0',
628+
'module' => 'taxonomy',
629+
'settings' => array(
630+
'allowed_values' => array(
631+
0 => array(
632+
'vocabulary' => 'kle',
633+
'parent' => '0',
634+
),
635+
),
636+
'options_list_callback' => 'content_taxonomy_allowed_values',
637+
),
638+
'translatable' => '0',
639+
'type' => 'taxonomy_term_reference',
640+
),
641+
'field_instance' => array(
642+
'bundle' => 'os2web_cp_service_cp_case',
643+
'default_value' => NULL,
644+
'deleted' => '0',
645+
'description' => '',
646+
'display' => array(
647+
'default' => array(
648+
'label' => 'above',
649+
'module' => 'taxonomy',
650+
'settings' => array(),
651+
'type' => 'taxonomy_term_reference_link',
652+
'weight' => 21,
653+
),
654+
'related_block' => array(
655+
'label' => 'above',
656+
'settings' => array(),
657+
'type' => 'hidden',
658+
'weight' => 0,
659+
),
660+
'teaser' => array(
661+
'label' => 'above',
662+
'settings' => array(),
663+
'type' => 'hidden',
664+
'weight' => 0,
665+
),
666+
),
667+
'ds_extras_field_template' => '',
668+
'entity_type' => 'node',
669+
'field_name' => 'field_os2web_cp_service_kle_ref',
670+
'label' => 'KL emnenummer - KL emnenummer og beskrivelse',
671+
'required' => 0,
672+
'settings' => array(
673+
'user_register_form' => FALSE,
674+
),
675+
'widget' => array(
676+
'active' => 0,
677+
'module' => 'taxonomy',
678+
'settings' => array(
679+
'autocomplete_path' => 'taxonomy/autocomplete',
680+
'content_taxonomy_autocomplete_new_terms' => 'allow',
681+
'size' => 60,
682+
),
683+
'type' => 'taxonomy_autocomplete',
684+
'weight' => '38',
685+
),
686+
),
687+
);
688+
606689
// Exported field: 'node-os2web_cp_service_cp_case-field_os2web_cp_service_org_unit'.
607690
$fields['node-os2web_cp_service_cp_case-field_os2web_cp_service_org_unit'] = array(
608691
'field_config' => array(
@@ -2030,6 +2113,7 @@ function os2web_cp_service_field_default_fields() {
20302113
t('Indhold - FileID');
20312114
t('Indholdsbeskrivelse');
20322115
t('Journalnummer');
2116+
t('KL emnenummer - KL emnenummer og beskrivelse');
20332117
t('RedigeringsDato');
20342118
t('Sag SystemID');
20352119
t('SagsID');

os2web_cp_service.features.user_permission.inc

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,20 @@ function os2web_cp_service_user_default_permissions() {
2424
'module' => 'node',
2525
);
2626

27+
// Exported permission: delete any os2web_cp_service_cp_case content.
28+
$permissions['delete any os2web_cp_service_cp_case content'] = array(
29+
'name' => 'delete any os2web_cp_service_cp_case content',
30+
'roles' => array(),
31+
'module' => 'node',
32+
);
33+
34+
// Exported permission: delete any os2web_cp_service_cp_document content.
35+
$permissions['delete any os2web_cp_service_cp_document content'] = array(
36+
'name' => 'delete any os2web_cp_service_cp_document content',
37+
'roles' => array(),
38+
'module' => 'node',
39+
);
40+
2741
// Exported permission: delete own os2web_cp_service_cp_case content.
2842
$permissions['delete own os2web_cp_service_cp_case content'] = array(
2943
'name' => 'delete own os2web_cp_service_cp_case content',
@@ -38,6 +52,20 @@ function os2web_cp_service_user_default_permissions() {
3852
'module' => 'node',
3953
);
4054

55+
// Exported permission: edit any os2web_cp_service_cp_case content.
56+
$permissions['edit any os2web_cp_service_cp_case content'] = array(
57+
'name' => 'edit any os2web_cp_service_cp_case content',
58+
'roles' => array(),
59+
'module' => 'node',
60+
);
61+
62+
// Exported permission: edit any os2web_cp_service_cp_document content.
63+
$permissions['edit any os2web_cp_service_cp_document content'] = array(
64+
'name' => 'edit any os2web_cp_service_cp_document content',
65+
'roles' => array(),
66+
'module' => 'node',
67+
);
68+
4169
// Exported permission: edit own os2web_cp_service_cp_case content.
4270
$permissions['edit own os2web_cp_service_cp_case content'] = array(
4371
'name' => 'edit own os2web_cp_service_cp_case content',

os2web_cp_service.info

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_date
3939
features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_doc_ref
4040
features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_full_xml
4141
features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_key
42+
features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_kle_ref
4243
features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_org_unit
4344
features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_property
4445
features[field][] = node-os2web_cp_service_cp_case-field_os2web_cp_service_rules
@@ -66,8 +67,12 @@ features[taxonomy][] = os2web_cp_service_tax_approved_rules
6667
features[taxonomy][] = os2web_cp_service_tax_rules
6768
features[user_permission][] = create os2web_cp_service_cp_case content
6869
features[user_permission][] = create os2web_cp_service_cp_document content
70+
features[user_permission][] = delete any os2web_cp_service_cp_case content
71+
features[user_permission][] = delete any os2web_cp_service_cp_document content
6972
features[user_permission][] = delete own os2web_cp_service_cp_case content
7073
features[user_permission][] = delete own os2web_cp_service_cp_document content
74+
features[user_permission][] = edit any os2web_cp_service_cp_case content
75+
features[user_permission][] = edit any os2web_cp_service_cp_document content
7176
features[user_permission][] = edit own os2web_cp_service_cp_case content
7277
features[user_permission][] = edit own os2web_cp_service_cp_document content
7378
features[variable][] = field_bundle_settings_node__os2web_cp_service_cp_case
@@ -81,4 +86,5 @@ features[views_view][] = os2web_cp_service_cp_document_view
8186
features_exclude[field][node-os2web_cp_service_cp_case-field_os2web_cp_service_case_num] = node-os2web_cp_service_cp_case-field_os2web_cp_service_case_num
8287
features_exclude[field][node-os2web_cp_service_cp_document-field_os2web_cp_service_doc_num] = node-os2web_cp_service_cp_document-field_os2web_cp_service_doc_num
8388
features_exclude[dependencies][os2web_cp_service] = os2web_cp_service
89+
features_exclude[dependencies][taxonomies_and_taxonomy_importers] = taxonomies_and_taxonomy_importers
8490
timestamp = 1364292909

os2web_cp_service.module

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@ function os2web_cs_service_alter_configuration($key, $value) {
151151
* TRUE on successful content creation.
152152
*/
153153
function os2web_cs_service_create_case(array $data) {
154-
error_log("Var: \$data = " . print_r($data, 1));
155154
// Prepare data.
156155
$data = array_replace_recursive(os2web_cs_service_default_case(), $data);
157156

@@ -219,6 +218,16 @@ function os2web_cs_service_create_case(array $data) {
219218
$node->{$field_name}[LANGUAGE_NONE][0]['value'] = (string) $data['fields'][$field['label']];
220219
break;
221220

221+
case 'taxonomy_term_reference':
222+
// Retrieve the first occurance of the term.
223+
$term = array_pop(taxonomy_get_term_by_name((string) $data['fields'][$field['label']], NULL));
224+
if (!empty($term)) {
225+
// Note that if its an update of an existing node,
226+
// it will ńot be resat.
227+
$node->{$field_name}['und'][0]['tid'] = $term->tid;
228+
}
229+
break;
230+
222231
default:
223232
$node->{$field_name}[LANGUAGE_NONE][0]['value'] = $data['fields'][$field['label']];
224233
break;
@@ -657,7 +666,6 @@ function os2web_cp_service_field_formatter_view($entity_type, $entity, $field, $
657666
$base_url = $display['settings']['base_url'];
658667
$element = array();
659668
foreach ($items as $delta => $item) {
660-
error_log(basename(__FILE__) . ':' . __LINE__ . ' Var: $item = ' . print_r($item, 1));
661669
$file_id = $item['value'];
662670
$url = format_string($base_url, array('!id' => $file_id));
663671
$element[$delta]['#markup'] = l(t('Download'), $url);

0 commit comments

Comments
 (0)