TT#16050 Ngcp CSC Api connection test

Change-Id: Ia3ffe13ec7b4e23f70228196f7e201377fe02bb7
changes/61/13161/4
Carlo 8 years ago
parent 6a9e8ce1a6
commit e9ec6b79b7

@ -2,6 +2,12 @@
* This file is responsible for launching the application. Application logic should be
* placed in the NgcpCsc.Application class.
*/
Ext.Ajax.on("beforerequest",function(con){
con.setUseDefaultXhrHeader(false);
con.setWithCredentials(true);
});
Ext.application({
name: 'NgcpCsc',

@ -1,15 +1,53 @@
Ext.define('NgcpCsc.model.Reminder', {
extend: 'Ext.data.Model',
fields: ["reminder_status", "timer", "recurrence"],
requires: ['NgcpCsc.proxy.NgcpApi'],
proxy: {
type: 'ajax',
url: '/resources/data/reminder.json',
autoLoad: true,
reader: {
type: 'json',
rootProperty: 'data'
fields: [{
name: "_embedded",
persist: false
}, {
name: "_links",
persist: false
}, {
name: "total_count",
persist: false
}, {
name: "id",
persist: false
}, {
name: "recur",
mapping: function(data) {
return data._embedded['ngcp:reminders'][0].recur;
}
}, {
name: "time",
type: "date",
dateFormat: 'H:m:s',
mapping: function(data) {
return data._embedded['ngcp:reminders'][0].time;
}
}, {
name: "reminder_status",
mapping: function(data) {
return true;
}
}, {
name: "subscriber_id",
mapping: function(data) {
return data._embedded['ngcp:reminders'][0].subscriber_id;
}
}],
// this replace the temprary Model ID in VM links
onLoad: function() {
this.set("id", this.data._embedded['ngcp:reminders'][0].id);
this.commit();
},
proxy: {
type: 'ngcp-api',
route: 'reminders',
params: 'subscriber_id=175'
}
});

@ -0,0 +1,47 @@
/**
Ex. usage in model/store:
proxy: {
type: 'ngcp-api',
route: 'reminders/',
autoLoad: true
}
**/
Ext.define('NgcpCsc.proxy.NgcpApi', {
extend: 'Ext.data.proxy.Ajax',
alias: 'proxy.ngcp-api',
/* temporary authentication, should be bound to auth token once implemented*/
withCredentials: true,
username: 'administrator',
password: 'administrator',
baseApiUrl: 'https://localhost:1443/api/',
autoLoad: true,
appendId: false,
actionMethods: {
read: 'GET',
create: 'POST',
update: 'PUT',
destroy: 'DELETE'
},
buildUrl: function(request) {
var me = this;
var action = request._action;
var url, records;
switch(action){
case 'read' :
url = Ext.String.format('{0}{1}/?{2}', me.baseApiUrl, me.route, me.params);
break;
case 'update' :
records = request._records;
url = Ext.String.format('{0}{1}/{2}', me.baseApiUrl, me.route, records[0].get('id'));
break;
}
request._url = url;
return me.callParent(arguments);
},
reader: {
type: 'json'
},
writer: {
writeAllFields: true
}
});

@ -42,18 +42,23 @@ Ext.define('NgcpCsc.view.pages.reminder.Reminder', {
}, {
xtype: 'form',
layout: 'responsivecolumn',
defaults:{
listeners: {
change: 'saveReminder'
}
},
items: [{
flex: 1,
userCls: 'small-100 big-50',
xtype: 'timefield',
fieldLabel: Ngcp.csc.locales.reminder.time[localStorage.getItem('languageSelected')],
format: 'H:i',
minValue: '0:00',
maxValue: '23:50',
increment: 10,
format: 'H:i:s',
minValue: '0:00:00',
maxValue: '23:50:00',
increment: 5,
editable: false,
bind: {
value: '{reminder.timer}',
value: '{reminder.time}',
disabled: '{!reminder.reminder_status}'
}
}, {
@ -66,7 +71,7 @@ Ext.define('NgcpCsc.view.pages.reminder.Reminder', {
columns: 1,
simpleValue: true,
bind: {
value: '{reminder.recurrence}',
value: '{reminder.recur}',
disabled: '{!reminder.reminder_status}'
},
defaults: {

@ -2,7 +2,7 @@ Ext.define('NgcpCsc.view.pages.reminder.ReminderController', {
extend: 'Ext.app.ViewController',
alias: 'controller.reminder',
clickActiveInactiveButton: function () {
clickActiveInactiveButton: function() {
var vm = this.getViewModel();
var currentReminderIsMode = vm.get('reminder.reminder_status');
switch (currentReminderIsMode) {
@ -13,6 +13,24 @@ Ext.define('NgcpCsc.view.pages.reminder.ReminderController', {
this.fireEvent('showmessage', true, Ngcp.csc.locales.reminder.reminder_set_to_active[localStorage.getItem('languageSelected')]);
break;
};
},
saveReminder: function() {
var me = this;
var reminderRec = this.getViewModel().get('reminder');
Ext.defer(function() {
if (reminderRec.dirty) {
reminderRec.save({
failure: function(record, operation) {
me.fireEvent('showmessage', true, Ngcp.csc.locales.common.save_unsuccess[localStorage.getItem('languageSelected')]);
},
success: function(record, operation) {
me.fireEvent('showmessage', true, Ngcp.csc.locales.common.save_success[localStorage.getItem('languageSelected')]);
},
callback: function(record, operation, success) {
// do something whether the save succeeded or failed
}
});
}
}, 1);
}
});

@ -1,6 +1,7 @@
Ext.define('NgcpCsc.view.pages.account.ReminderModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.reminder',
session: true,
links: {
reminder: {
type: 'NgcpCsc.model.Reminder',

@ -1,9 +0,0 @@
{
"data": [
{
"reminder_status": true,
"timer": "17:50",
"recurrence": "never"
}
]
}
Loading…
Cancel
Save