+++ /dev/null
-dojo.require('dojox.grid.DataGrid');
-dojo.require('dojox.grid.cells.dijit');
-dojo.require('dojo.data.ItemFileWriteStore');
-dojo.require('dijit.form.TextBox');
-dojo.require('dijit.form.CurrencyTextBox');
-dojo.require('dijit.Dialog');
-dojo.require('openils.DojoPatch');
-dojo.require('dojox.widget.PlaceholderMenuItem');
-dojo.require('fieldmapper.OrgUtils');
-dojo.require('openils.widget.OrgUnitFilteringSelect');
-dojo.require('openils.PermaCrud');
-
-var svCache = {};
-var surveyMap;
-var svId;
-var questionId;
-
-
-/** really need to put this in a shared location... */
-function getOrgInfo(rowIndex, item) {
- if(!item) return '';
- var orgId = svGrid.store.getValue(item, this.field);
- return fieldmapper.aou.findOrgUnit(orgId).shortname();
-}
-
-function getDateTimeField(rowIndex, item) {
- if(!item) return '';
- var data = svGrid.store.getValue(item, this.field);
- var date = dojo.date.stamp.fromISOString(data);
- return dojo.date.locale.format(date, {formatLength:'short'});
-}
-
-function formatBool(inDatum) {
- switch (inDatum) {
- case 't':
- return "<span style='color:green;'>✓</span>";
- case 'f':
- return "<span style='color:red;'>✗</span>";
- default:
- return'';
- }
-}
-
-function endSurvey() {
- _endSurvey(svGrid.selection.getSelected(), 0);
-}
-
-function _endSurvey(list, idx) {
- if(idx >= list.length) // we've made it through the list
- return;
-
- var item = list[idx];
- var svId = svGrid.store.getValue(item, 'id');
- var pcrud = new openils.PermaCrud();
- var survey = pcrud.retrieve('asv', svId);
- var today = new Date();
- var date = dojo.date.stamp.toISOString(today);
- survey.end_date(date);
- survey.ischanged(true);
- pcrud.update(survey);
- _endSurvey(list, ++idx);
-
-}
-
-function buildSVGrid() {
- var store = new dojo.data.ItemFileWriteStore({data:asv.initStoreData('id', {identifier:'id'})});
- svGrid.setStore(store);
- svGrid.render();
- var user = new openils.User();
- var pcrud = new openils.PermaCrud();
- var retrieveSurveys = function(orgList) {
- pcrud.search('asv',
- {owner : orgList},
- {
- async : true,
- streaming : true,
- onresponse : function(r) {
- var survey = openils.Util.readResponse(r);
- if(!survey) return'';
- svCache[survey.id()] = survey;
- store.newItem(survey.toStoreItem());
- }
- }
- );
- }
- user.getPermOrgList('ADMIN_SURVEY', retrieveSurveys, true, true);
-
-}
-
-function svPage() {
- var pcrud = new openils.PermaCrud();
- var survey = pcrud.retrieve('asv', surveyId);
- dojo.byId("name").innerHTML = survey.name();
- dojo.byId("description").innerHTML = survey.description();
- dojo.byId("start_date").innerHTML = survey.start_date();
- dojo.byId("end_date").innerHTML = survey.end_date();
- dojo.byId("opac").innerHTML = survey.opac();
- dojo.byId("poll").innerHTML = survey.poll();
- dojo.byId("required").innerHTML = survey.required();
- dojo.byId("usr_summary").innerHTML = survey.usr_summary();
- dojo.byId("svQuestion").innerHTML = survey.question();
- dojo.byId("svAnswer").innerHTML = survey.answer();
-
-}
-
-function svNewSurvey() {
- new openils.User().buildPermOrgSelector('ADMIN_SURVEY', asvOwningOrg);
- svSurveyDialog.show();
-
-}
-
-function svCreate(args) {
-
- var sv = new asv();
- sv.name(args.svName);
- sv.owner(args.svOwner);
- sv.description(args.svDescription);
- sv.start_date(args.svStart_date);
- sv.end_date(args.svEnd_date);
- if(args.svPoll == 'on')
- sv.poll('t')
- else
- sv.poll('f');
-
- if(args.svPoll == 'on')
- sv.poll('t')
- else
- sv.poll('f');
-
- if(args.svOpac == 'on')
- sv.opac('t')
- else
- sv.opac('f');
-
- if(args.svRequired == 'on')
- sv.required('t')
- else
- sv.required('f');
-
- if(args.svUsr_summary == 'on')
- sv.usr_summary('t')
- else
- sv.usr_summary('f');
-
- var pcrud = new openils.PermaCrud();
- pcrud.create(sv,
- {
- oncomplete: function(r, objs) {
- var obj = objs[0];
- if(!obj) return '';
- svGrid.store.newItem(asv.toStoreItem(obj));
- svSurveyDialog.hide();
- svId = obj.id();
- document.location.href = oilsBasePath + "/conify/global/action/survey/edit/"+svId;
- }
- }
- );
-}
-
-function redirect(svId) {
-
-}
-
-
-function deleteFromGrid() {
- _deleteFromGrid(svGrid.selection.getSelected(), 0);
-}
-
-function _deleteFromGrid(list, idx) {
- if(idx >= list.length) // we've made it through the list
- return;
-
- var item = list[idx];
- var code = svGrid.store.getValue(item, 'id');
-
- fieldmapper.standardRequest(
- ['open-ils.circ', 'open-ils.circ.survey.delete.cascade'],
- { async: true,
- streaming: true,
- params: [openils.User.authtoken, code],
- onresponse: function(r) {
- if(stat = openils.Util.readResponse(r)) {
- console.log(stat);
- svGrid.store.deleteItem(item);
- }
- _deleteFromGrid(list, ++idx);
-
- }
- }
- );
-}
-openils.Util.addOnLoad(buildSVGrid);
-
-