<field reporter:label="Shelf Expire Time" name="shelf_expire_time" reporter:datatype="timestamp"/>
<field reporter:label="Notes" name="notes" reporter:datatype="link" oils_persist:virtual="true"/>
<field reporter:label="Current Shelf Lib" name="current_shelf_lib" reporter:datatype="org_unit"/>
+ <field reporter:label="Acquisition Request" name="acq_request" reporter:datatype="link" />
<field reporter:label="Copy Location Sort Order" name="copy_location_order_position" reporter:datatype="int" />
<field reporter:label="User First Given Name" name="usr_first_given_name" reporter:datatype="text" />
<field reporter:label="User Second Given Name" name="usr_second_given_name" reporter:datatype="text" />
<link field="notes" reltype="has_many" key="hold" map="" class="ahrn"/>
<link field="current_shelf_lib" reltype="has_a" key="id" map="" class="aou"/>
<link field="sms_carrier" reltype="has_a" key="id" map="" class="csc"/>
+ <link field="acq_request" reltype="has_a" key="id" map="" class="aur"/>
</links>
<permacrud xmlns="http://open-ils.org/spec/opensrf/IDL/permacrud/v1">
<actions>
<field reporter:label="Notes" name="notes" reporter:datatype="link" oils_persist:virtual="true"/>
<field reporter:label="Current Shelf Lib" name="current_shelf_lib" reporter:datatype="org_unit"/>
<field reporter:label="Behind Desk" name="behind_desk" reporter:datatype="bool"/>
+ <field reporter:label="Acquisition Request" name="acq_request" reporter:datatype="link" />
</fields>
<links>
<link field="fulfillment_lib" reltype="has_a" key="id" map="" class="aou"/>
<link field="cancel_cause" reltype="might_have" key="id" map="" class="ahrcc"/>
<link field="notes" reltype="has_many" key="hold" map="" class="ahrn"/>
<link field="current_shelf_lib" reltype="has_a" key="id" map="" class="aou"/>
+ <link field="acq_request" reltype="has_a" key="id" map="" class="aur"/>
</links>
</class>
templateUrl: './acq/requests/t_edit',
backdrop: 'static',
controller: ['$scope', '$uibModalInstance','egCore',
- 'request','request_types','request_status_types',
+ 'request_and_extra','request_types','request_status_types',
function($m_scope , $uibModalInstance , egCore ,
- request , request_types , request_status_types ) {
+ request_and_extra , request_types , request_status_types ) {
+ var request = request_and_extra.request;
+ var extra = request_and_extra.extra || {};
var today = new Date();
today.setHours(0);
today.setMinutes(0);
$m_scope.mode = mode;
$m_scope.request = request;
$m_scope.request_types = request_types;
- $m_scope.extra = {};
+ $m_scope.extra = extra;
$m_scope.extra.user_obj = request.usr;
angular.forEach(['hold', 'email_notify'], function(field) {
- request[field] = request[field] == 't';
+ if (request[field] == 't') {
+ request[field] = true;
+ } else if (request[field] == 'f') {
+ request[field] = false;
+ }
});
if (request.request_type) {
if (typeof request.request_type.id != 'undefined') {
if (request.need_before) {
request.need_before = new Date(request.need_before);
}
- if (request.phone_notify) {
- $m_scope.extra.phone_notify = true;
- }
if (request.pickup_lib) {
$m_scope.request.pickup_lib =
egCore.idl.fromHash('aou',request.pickup_lib);
$m_scope.extra.user_obj = usr;
$m_scope.request.usr = usr.id;
$m_scope.request.pickup_lib = egOrg.get(usr.home_ou.id);
+ $m_scope.request.phone_notify = usr.day_phone;
angular.forEach(usr.settings, function(s) {
if (s.name == 'opac.hold_notify') {
if (s.value.match('phone')) {
}
}
if (s.name == 'opac.default_phone') {
- $m_scope.request.phone_notify = s.value;
+ $m_scope.request.phone_notify = s.value.replace(/^"/,'').replace(/"$/,'');
}
if (s.name == 'opac.default_pickup_location') {
$m_scope.request.pickup_lib =
egOrg.get(s.value);
}
});
+ return $m_scope.request;
});
});
}
);
}],
resolve : {
- request : function() {
+ request_and_extra : function() {
if (mode=='create') {
var aur_obj = egCore.idl.toHash(new egCore.idl.aurs());
+ var extra = {};
if (row['usr']) {
return egCore.pcrud.search('au', {
id : row['usr']
aur_obj.pickup_lib = egCore.idl.toHash(
egOrg.get(usr.home_ou.id)
);
+ aur_obj.phone_notify = usr.day_phone;
angular.forEach(usr.settings, function(s) {
if (s.name == 'opac.hold_notify') {
+ if (s.value.match('phone')) {
+ extra.phone_notify = true;
+ }
if (s.value.match('email')) {
aur_obj.email_notify = true;
}
}
if (s.name == 'opac.default_phone') {
- aur_obj.phone_notify = s.value;
+ aur_obj.phone_notify = s.value.replace(/^"/,'').replace(/"$/,'');
}
if (s.name == 'opac.default_pickup_location') {
aur_obj.pickup_lib = egCore.idl.toHash(
);
}
});
- return aur_obj;
+ return { 'request' : aur_obj, 'extra' : extra };
});
} else {
- return aur_obj;
+ console.log('here');
+ return { 'request' : aur_obj, 'extra': extra };
}
} else {
return egCore.pcrud.search('aurs', {
atomic : true
}
).then(function(requests) {
- return egCore.idl.toHash(requests[0]);
+ var aur_obj = egCore.idl.toHash(requests[0]);
+ var extra = {};
+ if (aur_obj.phone_notify) {
+ extra.phone_notify = true;
+ }
+ return { 'request' : aur_obj, 'extra' : extra };
});
}
}
'open-ils.acq.clear_completed_user_requests',
egCore.auth.token(), ids
).then(function(obj) {
- console.log('obj',obj);
if (callback) {
callback(obj);
}