aboutsummaryrefslogtreecommitdiffstats
path: root/www/js/models/report.js
diff options
context:
space:
mode:
Diffstat (limited to 'www/js/models/report.js')
-rw-r--r--www/js/models/report.js168
1 files changed, 0 insertions, 168 deletions
diff --git a/www/js/models/report.js b/www/js/models/report.js
deleted file mode 100644
index 85d6e93..0000000
--- a/www/js/models/report.js
+++ /dev/null
@@ -1,168 +0,0 @@
-(function(FMS, Backbone, _, $) {
- _.extend( FMS, {
- Report: Backbone.Model.extend({
- urlRoot: CONFIG.FMS_URL + 'report/ajax',
-
- defaults: {
- lat: 0,
- lon: 0,
- title: '',
- details: '',
- may_show_name: '',
- category: '',
- phone: '',
- pc: '',
- file: ''
- },
-
- sync: function(method, model, options) {
- switch (method) {
- case 'update':
- case 'create':
- this.post(model,options);
- break;
- case 'read':
- Backbone.ajaxSync(method, model, options);
- break;
- default:
- return true;
- }
- },
-
- parse: function(res) {
- if ( res.report && res.report.latitude ) {
- return {
- lat: res.report.latitude,
- lon: res.report.longitude,
- title: res.report.title,
- details: res.report.detail,
- photo: res.report.photo && res.report.photo.url ? CONFIG.FMS_URL + res.report.photo.url : null,
- meta: res.report.meta,
- confirmed_pp: res.report.confirmed_pp,
- created_pp: res.report.created_pp,
- category: res.report.category,
- state: res.report.state,
- state_t: res.report.state_t,
- is_fixed: res.report.is_fixed,
- used_map: res.report.used_map,
- update_time: res.updates ? res.updates.update_pp : null,
- update: res.updates ? res.updates.details : null
- };
- }
- return false;
- },
-
- post: function(model,options) {
-
- var params = {
- service: device.platform,
- title: model.get('title'),
- detail: model.get('details'),
- category: model.get('category'),
- lat: model.get('lat'),
- lon: model.get('lon'),
- pc: model.get('pc'),
- may_show_name: model.get('may_show_name'),
- used_map: 1,
- name: model.get('name') || model.get('user').get('name'),
- email: model.get('email') || model.get('user').get('email'),
- phone: model.get('phone'),
- fms_extra_title: model.get('user').get('title')
- };
-
- var extra_fields = model.get('extra_details');
- if ( extra_fields && extra_fields.length > 0 ) {
- for ( var i = 0; i < extra_fields.length; i++ ) {
- params[extra_fields[i]] = model.get(extra_fields[i]);
- }
- }
-
- if ( model.get('submit_clicked') == 'submit_sign_in' ) {
- params.submit_sign_in = 1;
- params.password_sign_in = model.get('user').get('password');
- params.remember_me = 1;
- } else {
- params.password_register = model.get('user').get('password') || '';
- params.submit_register = 1;
- }
-
- var that = this;
- if ( model.get('file') && model.get('file') !== '' ) {
- var fileUploadSuccess = function(r) {
- $.mobile.loading('hide');
- if ( r.response ) {
- var data;
- try {
- data = JSON.parse( decodeURIComponent(r.response) );
- }
- catch(err) {
- data = {};
- }
- if ( data.success ) {
- that.trigger('sync', that, data, options);
- } else {
- that.trigger('invalid', that, data, options);
- }
- } else {
- that.trigger('error', that, FMS.strings.report_send_error, options);
- }
- };
-
- var fileUploadFail = function() {
- $.mobile.loading('hide');
- that.trigger('error', that, FMS.strings.report_send_error, options);
- };
-
- fileURI = model.get('file');
-
- var fileOptions = new FileUploadOptions();
- fileOptions.fileKey="photo";
- fileOptions.fileName=fileURI.substr(fileURI.lastIndexOf('/')+1);
- fileOptions.mimeType="image/jpeg";
- fileOptions.params = params;
- fileOptions.chunkedMode = false;
-
- var ft = new FileTransfer();
- $.mobile.loading('show');
- ft.upload(fileURI, CONFIG.FMS_URL + "report/new/mobile", fileUploadSuccess, fileUploadFail, fileOptions);
- } else {
- $.ajax( {
- url: CONFIG.FMS_URL + "report/new/mobile",
- type: 'POST',
- data: params,
- dataType: 'json',
- timeout: 30000,
- success: function(data) {
- if ( data.success ) {
- that.trigger('sync', that, data, options);
- } else {
- that.trigger('invalid', that, data, options);
- }
- },
- error: function (data, status, errorThrown ) {
- console.log(FMS.strings.report_send_error);
- options.error( data, status, errorThrown );
- }
- } );
- }
- },
-
- getLastUpdate: function(time) {
- if ( time ) {
- props.time = time;
- }
-
- if ( !props.time ) {
- return '';
- }
-
- var t;
- if ( typeof props.time === 'String' ) {
- t = new Date( parseInt(props.time, 10) );
- } else {
- t = props.time;
- }
- }
- })
- });
-})(FMS, Backbone, _, $);