1 var SC_FETCH_ALL = 'open-ils.circ:open-ils.circ.stat_cat.TYPE.retrieve.all';
2 var SC_FETCH_SF = 'open-ils.pcrud:open-ils.pcrud.search.PCRUD.atomic';
3 var SC_CREATE = 'open-ils.circ:open-ils.circ.stat_cat.TYPE.create';
4 var SC_UPDATE = 'open-ils.circ:open-ils.circ.stat_cat.TYPE.update';
5 var SC_DELETE = 'open-ils.circ:open-ils.circ.stat_cat.TYPE.delete';
6 var SC_ENTRY_CREATE = 'open-ils.circ:open-ils.circ.stat_cat.TYPE.entry.create';
7 var SC_ENTRY_UPDATE = 'open-ils.circ:open-ils.circ.stat_cat.TYPE.entry.update';
8 var SC_ENTRY_DELETE = 'open-ils.circ:open-ils.circ.stat_cat.TYPE.entry.delete';
9 var SC_ENTRY_DEFAULT_CREATE = 'open-ils.circ:open-ils.circ.stat_cat.actor.entry.default.create';
10 var SC_ENTRY_DEFAULT_DELETE = 'open-ils.circ:open-ils.circ.stat_cat.actor.entry.default.delete';
23 PCRUD_CLASS[ACTOR] = 'actscsf';
24 PCRUD_CLASS[ASSET] = 'ascsf';
29 var opacVisible = false;
34 'CREATE_PATRON_STAT_CAT',
35 'UPDATE_PATRON_STAT_CAT',
36 'DELETE_PATRON_STAT_CAT',
37 'CREATE_PATRON_STAT_CAT_ENTRY',
38 'UPDATE_PATRON_STAT_CAT_ENTRY',
39 'DELETE_PATRON_STAT_CAT_ENTRY',
40 'CREATE_PATRON_STAT_CAT_ENTRY_DEFAULT',
41 'UPDATE_PATRON_STAT_CAT_ENTRY_DEFAULT',
42 'DELETE_PATRON_STAT_CAT_ENTRY_DEFAULT',
44 'CREATE_COPY_STAT_CAT',
45 'UPDATE_COPY_STAT_CAT',
46 'DELETE_COPY_STAT_CAT',
47 'CREATE_COPY_STAT_CAT_ENTRY',
48 'UPDATE_COPY_STAT_CAT_ENTRY',
49 'DELETE_COPY_STAT_CAT_ENTRY'
52 function scSetPerms() {
53 PERMS[ACTOR].create_stat_cat = OILS_WORK_PERMS.CREATE_PATRON_STAT_CAT;
54 PERMS[ACTOR].update_stat_cat = OILS_WORK_PERMS.UPDATE_PATRON_STAT_CAT;
55 PERMS[ACTOR].delete_stat_cat = OILS_WORK_PERMS.DELETE_PATRON_STAT_CAT;
56 PERMS[ACTOR].create_stat_cat_entry = OILS_WORK_PERMS.CREATE_PATRON_STAT_CAT_ENTRY;
57 PERMS[ACTOR].update_stat_cat_entry = OILS_WORK_PERMS.UPDATE_PATRON_STAT_CAT_ENTRY;
58 PERMS[ACTOR].delete_stat_cat_entry = OILS_WORK_PERMS.DELETE_PATRON_STAT_CAT_ENTRY;
59 PERMS[ACTOR].create_stat_cat_default_entry = OILS_WORK_PERMS.CREATE_PATRON_STAT_CAT_ENTRY_DEFAULT;
60 PERMS[ACTOR].update_stat_cat_default_entry = OILS_WORK_PERMS.UPDATE_PATRON_STAT_CAT_ENTRY_DEFAULT;
61 PERMS[ACTOR].delete_stat_cat_default_entry = OILS_WORK_PERMS.DELETE_PATRON_STAT_CAT_ENTRY_DEFAULT;
63 PERMS[ASSET].create_stat_cat = OILS_WORK_PERMS.CREATE_COPY_STAT_CAT;
64 PERMS[ASSET].update_stat_cat = OILS_WORK_PERMS.UPDATE_COPY_STAT_CAT;
65 PERMS[ASSET].delete_stat_cat = OILS_WORK_PERMS.DELETE_COPY_STAT_CAT;
66 PERMS[ASSET].create_stat_cat_entry = OILS_WORK_PERMS.CREATE_COPY_STAT_CAT_ENTRY;
67 PERMS[ASSET].update_stat_cat_entry = OILS_WORK_PERMS.UPDATE_COPY_STAT_CAT_ENTRY;
68 PERMS[ASSET].delete_stat_cat_entry = OILS_WORK_PERMS.DELETE_COPY_STAT_CAT_ENTRY;
70 // set up the filter select
71 var fselector = $('sc_org_filter');
72 var org_list = PERMS[currentlyVisible].update_stat_cat;
73 buildMergedOrgSel(fselector, org_list, 0, 'shortname');
74 var org = findOrgUnit(org_list[0]);
75 if(org_list.length > 1 || (org.children() && org.children()[0]))
76 fselector.disabled = false;
78 fselector.onchange = function() {
79 focusOrg = getSelectorVal(fselector);
80 scShow(currentlyVisible);
83 focusOrg = USER.ws_ou();
84 if(!orgIsMineFromSet(org_list, focusOrg))
85 focusOrg = org_list[0];
86 setSelector(fselector, focusOrg);
89 function scEditorInit() {
91 session = cgi.param('ses');
92 if(!session && (location.protocol == 'chrome:' || location.protocol == 'oils:')) {
94 var CacheClass = Components.classes["@open-ils.org/openils_data_cache;1"].getService();
95 session = CacheClass.wrappedJSObject.data.session.key;
97 console.log("Error loading XUL stash: " + e);
100 if(!session) throw "User session is not defined";
101 user = fetchUser(session);
102 $('sc_type_selector').onchange = scBuildNew;
105 fetchHighestWorkPermOrgs(
106 session, user.id(), myPerms, function(){scGo();});
110 function scPopSipFields( selector, type ) {
111 while(selector.lastChild.value != '') selector.removeChild(selector.lastChild);
112 if(!scSFCache[type]) {
113 var req = new Request(
114 SC_FETCH_SF.replace(/PCRUD/, PCRUD_CLASS[type]) , session, { 'field' : { '!=' : null } } );
116 scSFCache[type] = req.result();
118 for(var f in scSFCache[type]) {
119 var option = document.createElement('option');
120 option.value = scSFCache[type][f].field();
121 option.appendChild(text(scSFCache[type][f].name() + ' (' + scSFCache[type][f].field() + ')' + (isTrue(scSFCache[type][f].one_only()) ? '**' : '')));
122 selector.appendChild(option);
127 var show = cgi.param('show');
128 if(!show) currentlyVisible = ASSET;
130 scShow(currentlyVisible);
132 $('sc_user').appendChild(text(user.usrname()));
135 function scFetchAll( session, type, orgid, callback, args ) {
136 var req = new Request(
137 SC_FETCH_ALL.replace(/TYPE/, type) , session, orgid );
142 function scShow(type) {
143 setTimeout(function(){_scShow(type)}, 500);
146 function _scShow(type) {
148 currentlyVisible = type;
150 if( type == ASSET ) {
151 addCSSClass($('sc_show_copy'), 'has_color');
152 removeCSSClass($('sc_show_actor'), 'has_color');
154 } else if( type == ACTOR ) {
155 addCSSClass($('sc_show_actor'), 'has_color');
156 removeCSSClass($('sc_show_copy'), 'has_color');
159 scCache[type] = scFetchAll(session, type, focusOrg); /* XXX */
160 scDraw( type, scCache[type] );
163 var scRow; var scCounter;
164 function scDraw( type, cats ) {
166 hideMe($('loading'));
168 var tbody = $('sc_tbody');
169 if(!scRow) scRow = tbody.removeChild($('sc_tr'));
170 removeChildren(tbody);
172 if(!cats || cats.length == 0) {
173 hideMe($('sc_table'));
174 unHideMe($('sc_none'));
178 hideMe($('sc_none'));
179 unHideMe($('sc_table'));
182 unHideMe($('sc_usr_summary_label'));
183 unHideMe($('sc_usr_freetext_label'));
185 hideMe($('sc_usr_summary_label'));
186 hideMe($('sc_usr_freetext_label'));
190 for( var c in cats ) scInsertCat( tbody, cats[c], type );
195 function scInsertCat( tbody, cat, type ) {
197 var default_entry_id = -1;
198 var row = scRow.cloneNode(true);
199 row.id = 'sc_tr_' + cat.id();
200 var required = cat.required();
201 var name_td = $n(row, 'sc_name');
202 name_td.appendChild( text(cat.name()) );
203 if(scCounter++ % 2) addCSSClass(row, 'has_color');
205 $n(row, 'sc_new_entry').onclick = function() { scNewEntry(type, cat, tbody); }
206 $n(row, 'sc_edit').onclick = function(){ scEdit(tbody, type, cat); };
207 $n(row, 'sc_owning_lib').appendChild( text( findOrgUnit(cat.owner()).name() ));
209 if(isTrue(cat.opac_visible()))
210 unHideMe($n(row, 'sc_opac_visible'));
212 unHideMe($n(row, 'sc_opac_invisible'));
214 if(cat.sip_field().length != 2)
215 unHideMe($n(row, 'sc_sip_field_none'));
217 $n(row, 'sc_sip_field_value').appendChild( text( cat.sip_field() ) );
218 unHideMe($n(row, 'sc_sip_field_value'));
221 $n(row, 'sc_sip_format_td').appendChild( text( cat.sip_format() ) );
223 if(isTrue(cat.checkout_archive()))
224 unHideMe($n(row, 'sc_checkout_archive_on'));
226 unHideMe($n(row, 'sc_checkout_archive'));
229 unHideMe($n(row, 'sc_required_on'));
231 unHideMe($n(row, 'sc_required'));
234 if(isTrue(cat.usr_summary()))
235 unHideMe($n(row, 'sc_usr_summary_on'));
237 unHideMe($n(row, 'sc_usr_summary'));
239 if(isTrue(cat.allow_freetext()))
240 unHideMe($n(row, 'sc_usr_freetext_on'));
242 unHideMe($n(row, 'sc_usr_freetext'));
244 hideMe($n(row, 'sc_usr_summary_td'));
245 hideMe($n(row, 'sc_usr_freetext_td'));
248 tbody.appendChild(row);
251 cat.entries().sort( /* sort the entries by value */
253 a = new String(a.value()).toLowerCase();
254 b = new String(b.value()).toLowerCase();
255 if( a > b ) return 1;
256 if( a < b ) return -1;
261 for( var e in cat.entries() ) {
262 if (scInsertEntry( cat, cat.entries()[e], $n(row, 'sc_entries_selector'), tbody, type ))
263 default_entry_id = cat.entries()[e].id();
266 if (default_entry_id > 0)
267 setSelector($n(row, 'sc_entries_selector'), default_entry_id);
271 function scInsertEntry( cat, entry, selector, tbody, type ) {
272 var val = entry.value();
273 var entry_id = entry.id();
274 var is_default_entry = false;
277 if( cat.default_entries()[0] && cat.default_entries()[0].stat_cat_entry() == entry_id ) {
279 is_default_entry = true;
282 setSelectorVal( selector, scEntryCounter++, val, entry_id,
283 function(){ scUpdateEntry( cat, entry, tbody, type );} );
285 return is_default_entry;
290 function scDelete(type, id) {
291 if(!confirm($('sc_delete_confirm').innerHTML)) return;
292 var req = new Request( SC_DELETE.replace(/TYPE/,type), session, id );
294 var res = req.result();
295 if(checkILSEvent(res)) throw res;
296 alertId('sc_update_success');
300 function scCreateEntry( type, id, row ) {
301 var value = $n(row, 'sc_new_entry_name').value;
304 if( type == ACTOR ) entry = new actsce();
305 if( type == ASSET ) entry = new asce();
309 entry.owner(getSelectorVal($n(row, 'sc_new_entry_lib')));
314 if ( type == ACTOR && $n(row, 'sc_new_entry_default_set').checked ) {
315 default_entry = new actsced();
316 default_entry.isnew(1);
317 default_entry.stat_cat(id);
318 default_entry.owner(getSelectorVal($n(row, 'sc_new_entry_default_lib')));
319 entry.default_entries([default_entry]);
321 var req = new Request( SC_ENTRY_CREATE.replace(/TYPE/, type), session, entry );
323 var res = req.result();
324 if(checkILSEvent(res)) throw res;
325 alertId('sc_update_success');
329 function scNewEntry( type, cat, tbody ) {
330 cleanTbody(tbody, 'edit');
331 var row = $('sc_new_entry_row').cloneNode(true);
332 row.setAttribute('edit', '1');
334 var r = $('sc_tr_' + cat.id());
335 if(r.nextSibling) tbody.insertBefore( row, r.nextSibling );
336 else{ tbody.appendChild(row); }
339 unHideMe($n(row, 'sc_new_entry_default'));
341 hideMe($n(row, 'sc_new_entry_default'));
344 $n(row, 'sc_new_entry_create').onclick =
346 if( scCreateEntry( type, cat.id(), row ) )
347 tbody.removeChild(row); };
348 $n(row, 'sc_new_entry_cancel').onclick = function(){tbody.removeChild(row);}
350 var org_list = PERMS[type].create_stat_cat_entry;
351 if(org_list.length == 0) {
352 $n(row, 'sc_new_entry_create').disabled = true;
353 $n(row, 'sc_new_entry_lib').disabled = true;
355 $n(row, 'sc_new_entry_default_lib').disabled = true;
359 var rootOrg = findReleventRootOrg(org_list, cat.owner());
361 $n(row, 'sc_new_entry_create').disabled = true;
362 $n(row, 'sc_new_entry_lib').disabled = true;
364 $n(row, 'sc_new_entry_default_lib').disabled = true;
367 buildOrgSel($n(row, 'sc_new_entry_lib'), rootOrg, 0, 'shortname');
368 buildOrgSel($n(row, 'sc_new_entry_default_lib'), rootOrg, 0, 'shortname');
369 $n(row, 'sc_new_entry_name').focus();
373 function scBuildNew() {
374 var libSel = $('sc_owning_lib_selector');
375 var typeSel = $('sc_type_selector');
376 var type = getSelectorVal(typeSel);
379 unHideMe($('usr_summary_td1'));
380 unHideMe($('usr_summary_td2'));
381 unHideMe($('sip_tr'));
382 unHideMe($('usr_freetext_td1'));
383 unHideMe($('usr_freetext_td2'));
386 hideMe($('usr_summary_td1'));
387 hideMe($('usr_summary_td2'));
389 hideMe($('usr_freetext_td1'));
390 hideMe($('usr_freetext_td2'));
393 var org_list = PERMS[type].create_stat_cat;
394 if(org_list.length == 0) { /* no create perms */
395 $('sc_new').disabled = true;
396 libSel.disabled = true;
400 $('sc_new').disabled = false;
401 libSel.disabled = false;
403 buildMergedOrgSel(libSel, org_list, 0, 'shortname');
404 scPopSipFields($('sc_sip_field'),type);
410 var name = $('sc_new_name').value;
411 var type = getSelectorVal($('sc_type_selector'));
416 var checkout_archive = 0;
417 var usr_freetext = 0;
418 if( $('sc_make_opac_visible').checked) visible = 1;
419 if( $('sc_make_required').checked) required = 1;
420 if( $('sc_make_usr_summary').checked) usr_summary = 1;
421 if( $('sc_make_checkout_archive').checked) checkout_archive = 1;
422 if( $('sc_make_usr_freetext').checked) usr_freetext = 1;
425 if( type == ACTOR ) {
427 cat.usr_summary( usr_summary );
428 cat.allow_freetext( usr_freetext );
430 if( type == ASSET ) {
433 var field = getSelectorVal($('sc_sip_field'));
434 if(field.length == 2) cat.sip_field(field);
435 else cat.sip_field(null);
436 cat.sip_format($('sc_sip_format').value);
438 cat.opac_visible(visible);
439 cat.required( required );
441 cat.checkout_archive(checkout_archive);
442 cat.owner(getSelectorVal($('sc_owning_lib_selector')));
445 var req = new Request( SC_CREATE.replace(/TYPE/, type), session, cat );
448 var res = req.result();
449 if(checkILSEvent(res)) throw res;
450 alertId('sc_update_success');
455 function scEdit( tbody, type, cat ) {
457 cleanTbody(tbody, 'edit');
458 var row = $('sc_edit_row').cloneNode(true);
459 row.setAttribute('edit', '1');
461 var r = $('sc_tr_' + cat.id());
462 if(r.nextSibling) { tbody.insertBefore( row, r.nextSibling ); }
463 else{ tbody.appendChild(row); }
465 var required = cat.required();
466 var reqcb = $n(row, 'sc_edit_required');
467 reqcb.checked = isTrue(required);
469 scPopSipFields($n(row, 'sc_edit_sip_field'), type);
470 $n(row, 'sc_edit_name').value = cat.name();
471 setSelector($n(row, 'sc_edit_sip_field'), cat.sip_field());
472 $n(row, 'sc_edit_sip_format').value = cat.sip_format();
475 var cb1 = $n(row, 'sc_edit_usr_summary');
476 var cb2 = $n(row, 'sc_edit_usr_freetext');
477 cb1.checked = isTrue(cat.usr_summary());
478 cb2.checked = isTrue(cat.allow_freetext());
479 unHideMe($n(row, 'sc_edit_usr_summary_td'));
480 unHideMe($n(row, 'sc_edit_usr_freetext_td'));
482 hideMe($n(row, 'sc_edit_usr_summary_td'));
483 hideMe($n(row, 'sc_edit_usr_freetext_td'));
486 var name = $n(row, 'sc_edit_cancel');
487 name.onclick = function() { tbody.removeChild(row); };
489 var show = $n(row, 'sc_edit_show_owning_lib');
491 var myorg = findOrgUnit(user.home_ou());
492 var ownerorg = findOrgUnit(cat.owner());
493 show.appendChild(text(ownerorg.name()));
496 if( myorg.children() && myorg.children().length > 0 ) {
497 selector = $n(row, 'sc_edit_owning_lib');
498 buildOrgSel( selector, myorg, findOrgDepth(myorg), 'shortname');
499 setSelector( selector, cat.owner() );
502 } else { unHideMe(show); }
507 if( cat.opac_visible() != 0 && cat.opac_visible() != '0' ) {
508 $n( $n(row, 'sc_edit_opac_visibility'),
509 'sc_edit_opac_visibility').checked = true;
512 $n( row, 'sc_edit_checkout_archive' ).checked = isTrue(cat.checkout_archive());
514 $n(row, 'sc_edit_submit').onclick =
515 function() { scEditGo( type, cat, row, selector ); };
517 $n(row, 'sc_edit_delete').onclick =
518 function(){ scDelete(type, cat.id()); };
520 var rootEditOrg = findReleventRootOrg(PERMS[type].update_stat_cat, cat.owner());
521 var rootDelOrg = findReleventRootOrg(PERMS[type].delete_stat_cat, cat.owner());
523 if(!rootEditOrg || rootEditOrg.id() != cat.owner())
524 $n(row,'sc_edit_submit').disabled = true;
526 if(!rootDelOrg || rootDelOrg.id() != cat.owner())
527 $n(row,'sc_edit_delete').disabled = true;
530 function scEditGo( type, cat, row, selector ) {
531 var name = $n(row, 'sc_edit_name').value;
533 $n( $n(row, 'sc_edit_opac_visibility'), 'sc_edit_opac_visibility').checked;
535 var newlib = cat.owner();
536 if(selector) newlib = getSelectorVal( selector );
538 if(!name) return false;
540 var required = $n(row, 'sc_edit_required').checked;
541 var usr_summary = $n(row, 'sc_edit_usr_summary').checked;
542 var sip_field = getSelectorVal( $n(row, 'sc_edit_sip_field') );
543 var usr_freetext = $n(row, 'sc_edit_usr_freetext').checked;
549 cat.checkout_archive($n(row, 'sc_edit_checkout_archive').checked ? 1 : 0);
550 cat.required( (required) ? 1 : 0 );
551 if(sip_field.length == 2) cat.sip_field( sip_field );
552 else cat.sip_field(null);
553 cat.sip_format($n(row, 'sc_edit_sip_format').value);
554 if( visible ) cat.opac_visible(1);
556 cat.usr_summary( (usr_summary) ? 1 : 0 );
557 cat.allow_freetext( (usr_freetext) ? 1 : 0 );
560 var req = new Request( SC_UPDATE.replace(/TYPE/,type), session, cat );
562 var res = req.result();
563 if(checkILSEvent(res)) throw res;
564 alertId('sc_update_success');
570 function scUpdateEntry( cat, entry, tbody, type ) {
571 cleanTbody(tbody, 'edit');
572 var row = $('sc_edit_entry_row').cloneNode(true);
573 row.setAttribute('edit', '1');
575 var r = $('sc_tr_' + cat.id());
576 if(r.nextSibling) tbody.insertBefore( row, r.nextSibling );
577 else{ tbody.appendChild(row); }
579 $n(row, 'sc_edit_entry_owner').appendChild(text(findOrgUnit(entry.owner()).name()));
581 var defaultentry = $n(row, 'sc_edit_entry_default_set');
583 unHideMe($n(row, 'sc_edit_entry_default'));
584 if( cat.default_entries()[0] && cat.default_entries()[0].stat_cat_entry() == entry.id() )
585 defaultentry.checked = true;
587 hideMe($n(row, 'sc_edit_entry_default'));
590 var name = $n(row, 'sc_edit_entry_name');
591 name.value = entry.value();
592 name.value.replace(/\*$/, "");
596 $n(row,'sc_edit_entry_submit').onclick =
598 if( scEditEntry(cat, entry, row, type ) )
599 tbody.removeChild(row);
602 $n(row,'sc_edit_entry_cancel').onclick = function(){tbody.removeChild(row);};
603 $n(row,'sc_edit_entry_delete').onclick =
604 function(){ scEntryDelete( cat, entry, type ); }
606 var rootEditOrg = findReleventRootOrg(PERMS[type].update_stat_cat_entry, entry.owner());
607 var rootDelOrg = findReleventRootOrg(PERMS[type].delete_stat_cat_entry, entry.owner());
608 var org_list = PERMS[type].update_stat_cat_entry;
610 if(!rootEditOrg || rootEditOrg.id() != entry.owner())
611 $n(row,'sc_edit_submit').disabled = true;
613 if(!rootDelOrg || rootDelOrg.id() != entry.owner())
614 $n(row,'sc_edit_delete').disabled = true;
617 if(!rootEditOrg || org_list.length == 0) {
618 $n(row, 'sc_edit_entry_default_lib').disabled = true;
621 buildOrgSel($n(row, 'sc_edit_entry_default_lib'), rootEditOrg, 0, 'shortname');
622 if( cat.default_entries()[0] )
623 setSelector( $n(row, 'sc_edit_entry_default_lib'), cat.default_entries()[0].owner() );
627 function scEntryDelete( cat, entry, type ) {
628 if(!confirm($('sc_entry_delete_confirm').innerHTML)) return;
629 var req = new Request( SC_ENTRY_DELETE.replace(/TYPE/,type), session, entry.id() );
631 var res = req.result();
632 if(checkILSEvent(res)) throw res;
633 alertId('sc_update_success');
637 function scEditEntry( cat, entry, row, type ) {
638 var newvalue = $n(row, 'sc_edit_entry_name').value;
639 var curvalue = entry.value();
640 var didupdate = false;
642 if( curvalue != newvalue ) {
643 entry.value( newvalue );
644 var req = new Request(
645 SC_ENTRY_UPDATE.replace(/TYPE/, type), session, entry );
647 var res = req.result();
648 if(checkILSEvent(res)) throw res;
653 didupdate = scEditEntryDefault( cat, entry, row );
656 if (didupdate) scShow(type);
659 function scEditEntryDefault( cat, entry, row ) {
660 var newsetdefault = $n(row, 'sc_edit_entry_default_set').checked;
661 var newownerdefault = getSelectorVal($n(row, 'sc_edit_entry_default_lib'));
662 var cursetdefault = false;
663 var curownerdefault = null;
664 var default_entry = null;
666 if( cat.default_entries && cat.default_entries()[0] && cat.default_entries()[0].stat_cat_entry() == entry.id() ) {
667 cursetdefault = true;
668 default_entry = cat.default_entries()[0];
669 curownerdefault = default_entry.owner();
672 if( cursetdefault == newsetdefault &&
673 (curownerdefault == newownerdefault || curownerdefault == null) ) {
677 if( cursetdefault == true &&
678 newsetdefault == false ) {
679 var req = new Request(
680 SC_ENTRY_DEFAULT_DELETE, session, default_entry.id() );
682 var res = req.result();
683 if(checkILSEvent(res)) throw res;
686 if( newsetdefault == true ) {
687 var cat_id = cat.id();
688 var entry_id = entry.id();
689 default_entry = new actsced();
690 default_entry.isnew(1);
691 default_entry.stat_cat(cat_id);
692 default_entry.stat_cat_entry(entry_id);
693 default_entry.owner(newownerdefault);
694 var req = new Request(
695 SC_ENTRY_DEFAULT_CREATE, session, default_entry );
697 var res = req.result();
698 if(checkILSEvent(res)) throw res;