<field reporter:label="Original Circ Modifier" name="original_circ_modifier" reporter:datatype="link" />
<field reporter:label="Original Shelving Location" name="original_location" reporter:datatype="link" />
<field reporter:label="Original Callnumber" name="original_callnumber" reporter:datatype="link" />
+ <field reporter:label="Associated?" name="is_active" reporter:datatype="bool" />
<field reporter:label="Creating User" name="creator" reporter:datatype="link"/>
<field reporter:label="Editing User" name="editor" reporter:datatype="link"/>
<field reporter:label="Create Time" name="create_time" reporter:datatype="timestamp"/>
<field reporter:label="Edit Time" name="edit_time" reporter:datatype="timestamp"/>
+ <field reporter:label="Remove Time" name="removal_time" reporter:datatype="timestamp"/>
</fields>
<links>
<link field="course" reltype="has_a" key="id" map="" class="acmc" />
<div class="mt-3" [ngClass]="isDialog() ? 'col-md-12' : 'col-md-8'">
<eg-grid #materialsGrid [dataSource]="materialsDataSource" [useLocalSort]="true" [disablePaging]="true">
- <eg-grid-toolbar-action label="Remove Selected" i18n-label (onClick)="deleteSelectedMaterials($event)">
+ <eg-grid-toolbar-action label="Disassociate Selected" i18n-label (onClick)="deleteSelectedMaterials($event)">
</eg-grid-toolbar-action>
<eg-grid-toolbar-action label="Edit Selected" i18n-label (onClick)="editSelectedMaterials($event)">
</eg-grid-toolbar-action>
<eg-grid-column path="original_location.name" [hidden]="true" label="Original Shelving Location" i18n-label></eg-grid-column>
<eg-grid-column path="original_status.name" [hidden]="true" label="Original Item Status" i18n-label></eg-grid-column>
<eg-grid-column path="relationship" label="Relationship" i18n-label></eg-grid-column>
+ <eg-grid-column path="is_active" label="Currently Associated?" datatype="bool" i18n-label></eg-grid-column>
<eg-grid-column path="create_time" label="Create Time" [hidden]="true" datatype="timestamp" i18n-label></eg-grid-column>
<eg-grid-column path="edit_time" label="Edit Time" [hidden]="true" datatype="timestamp" i18n-label></eg-grid-column>
+ <eg-grid-column path="removal_time" label="Removal Time" [hidden]="true" datatype="timestamp" i18n-label></eg-grid-column>
<eg-grid-column path="creator" label="Creator" [hidden]="true" i18n-label></eg-grid-column>
<eg-grid-column path="editor" label="Editor" [hidden]="true" i18n-label></eg-grid-column>
</eg-grid>
use OpenILS::Utils::CStoreEditor qw/:funcs/;
use OpenILS::Utils::Fieldmapper;
use OpenILS::Application::AppUtils;
+
+use DateTime;
+use DateTime::Format::ISO8601;
+
+use OpenILS::Utils::DateTime qw/:datetime/;
+
my $U = "OpenILS::Application::AppUtils";
use OpenSRF::Utils::Logger qw/$logger/;
}
if ($acmcm->item) {
_resetItemFields($e, $authtoken, $acmcm);
- }
+ }
+
+ my $removal_time = OpenILS::Utils::DateTime->clean_ISO8601(DateTime->now);
+
+ $acmcm->removal_time($removal_time);
+ $acmcm->is_active('f');
- $e->delete_asset_course_module_course_materials($acmcm) or return $e->die_event;
+ $e->update_asset_course_module_course_materials($acmcm) or return $e->die_event;
$e->commit;
return 1;
}
if ($acmcm->original_location) {
$acp->location($acmcm->original_location);
}
- $e->update_asset_copy($acmcm);
+ $e->update_asset_copy($acp);
if ($acmcm->original_callnumber) {
my $existing_acn = $e->retrieve_asset_call_number($acp->call_number);
my $orig_acn = $e->retrieve_asset_call_number($acmcm->original_callnumber);
$ctx->{course_materials} = $U->simplereq(
'open-ils.courses',
'open-ils.courses.course_materials.retrieve.fleshed.atomic',
- {course => $course_id}
+ {course => $course_id, is_active => 't'}
);
return Apache2::Const::OK;
}
original_status INT REFERENCES config.copy_status,
original_circ_modifier TEXT, --REFERENCES config.circ_modifier
original_callnumber INT REFERENCES asset.call_number,
+ is_active BOOLEAN NOT NULL DEFAULT true,
creator BIGINT NOT NULL
REFERENCES actor.usr (id)
DEFERRABLE INITIALLY DEFERRED,
DEFERRABLE INITIALLY DEFERRED,
create_time TIMESTAMP WITH TIME ZONE DEFAULT NOW(),
edit_time TIMESTAMP WITH TIME ZONE DEFAULT NOW();
+ removal_time TIMESTAMP WITH TIME ZONE;
unique (course, item, record)
);
--- /dev/null
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version);
+ALTER TABLE asset.course_module_course_materials
+ ADD COLUMN is_active BOOL NOT NULL DEFAULT true,
+ ADD COLUMN removal_time TIMESTAMP WITH TIME ZONE;
+
+COMMIT;
\ No newline at end of file