Commit b9c62c43 authored by Project Open's avatar Project Open

- WIP - started to create new weekly stores

parent 3fd8a748
...@@ -7,18 +7,14 @@ ...@@ -7,18 +7,14 @@
<div id=@task_editor_id@> <div id=@task_editor_id@>
<script type='text/javascript' <if @::__csp_nonce@ not nil>nonce="@::__csp_nonce;literal@"</if>> <script type='text/javascript' <if @::__csp_nonce@ not nil>nonce="@::__csp_nonce;literal@"</if>>
// Ext.Loader.setConfig({enabled: true});
Ext.Loader.setPath('PO', '/sencha-core'); Ext.Loader.setPath('PO', '/sencha-core');
Ext.Loader.setPath('PO.model', '/sencha-core/model'); Ext.Loader.setPath('PO.model', '/sencha-core/model');
Ext.Loader.setPath('PO.store', '/sencha-core/store'); Ext.Loader.setPath('PO.store', '/sencha-core/store');
Ext.Loader.setPath('PO.class', '/sencha-core/class'); Ext.Loader.setPath('PO.class', '/sencha-core/class');
Ext.Loader.setPath('Ext.ux', '/sencha-core/ux');
Ext.Loader.setPath('PO.view', '/sencha-core/view'); Ext.Loader.setPath('PO.view', '/sencha-core/view');
Ext.Loader.setPath('PO.controller', '/sencha-core/controller'); Ext.Loader.setPath('PO.controller', '/sencha-core/controller');
Ext.Loader.setPath('PO.tsweekly', '/intranet-timesheet2-weekly/js'); Ext.Loader.setPath('PO.tsweekly', '/intranet-timesheet2-weekly/js');
Ext.Loader.setConfig({disableCaching: false}); // Disable the ?_dc=123456789 parameter from loader
// Disable the ?_dc=123456789 parameter from loader
Ext.Loader.setConfig({disableCaching: false});
Ext.require([ Ext.require([
'Ext.data.*', 'Ext.data.*',
...@@ -34,6 +30,9 @@ Ext.require([ ...@@ -34,6 +30,9 @@ Ext.require([
'PO.store.project.ProjectMainStore', 'PO.store.project.ProjectMainStore',
'PO.store.timesheet.HourStore', 'PO.store.timesheet.HourStore',
'PO.store.timesheet.TaskTreeStore', 'PO.store.timesheet.TaskTreeStore',
'PO.tsweekly.HourWeeklyController',
'PO.tsweekly.HourWeekly',
'PO.tsweekly.HourWeeklyStore',
'PO.view.field.POComboTree' 'PO.view.field.POComboTree'
]); ]);
...@@ -208,7 +207,7 @@ function launchTimesheetWeeklyLogging(){ ...@@ -208,7 +207,7 @@ function launchTimesheetWeeklyLogging(){
var hourController = Ext.create('PO.tsweekly.HourWeeklyController', { var hourController = Ext.create('PO.tsweekly.HourWeeklyController', {
'hourButtonPanel': hourButtonPanel, 'hourButtonPanel': hourButtonPanel,
'hourController': hourController, 'taskTreeStore': taskTreeStore,
'hourGrid': hourGrid 'hourGrid': hourGrid
}); });
hourController.init(this).onLaunch(this); hourController.init(this).onLaunch(this);
...@@ -266,8 +265,12 @@ Ext.onReady(function() { ...@@ -266,8 +265,12 @@ Ext.onReady(function() {
return; return;
} }
var mainProjectNode = records[0]; var mainProjectNode = records[0];
mainProjectNode.set('sort_order','0'); if (mainProjectNode) {
me.setRootNode(mainProjectNode); mainProjectNode.set('sort_order','0');
me.setRootNode(mainProjectNode);
} else {
me.setRootNode({id: 'root', text: 'Root', project_name: 'Root'});
}
} }
}); });
......
Ext.define('PO.tsweekly.HourWeekly', {
extend: 'Ext.data.Model',
fields: [
'id', // Same as hour_id
'user_id', // Who logged the hours?
'project_id', // On which project or task?
'project_id_deref', // Name of task or project, if deref_p=1
'main_project_id', // Cached/redundant: Main project_id from REST
'conf_object_id', // Workflow "confirmation object" for timesheet approval (optional)
'day', // Day of the monday
'hours_0', // How many hours were logged?
'hours_1', // How many hours were logged?
'hours_2', // How many hours were logged?
'hours_3', // How many hours were logged?
'hours_4', // How many hours were logged?
'hours_5', // How many hours were logged?
'hours_6' // How many hours were logged?
]
});
...@@ -10,6 +10,7 @@ Ext.define('PO.tsweekly.HourWeeklyController', { ...@@ -10,6 +10,7 @@ Ext.define('PO.tsweekly.HourWeeklyController', {
hourButtonPanel: null, hourButtonPanel: null,
hourController: null, hourController: null,
hourGrid: null, hourGrid: null,
taskTreeStore: null,
// Setup the various listeners to receive events here // Setup the various listeners to receive events here
init: function() { init: function() {
...@@ -41,12 +42,15 @@ Ext.define('PO.tsweekly.HourWeeklyController', { ...@@ -41,12 +42,15 @@ Ext.define('PO.tsweekly.HourWeeklyController', {
* The value of the Project field has changed in the RowEditing. * The value of the Project field has changed in the RowEditing.
*/ */
onProjectChanged: function(projectId, combo, hourGrid) { onProjectChanged: function(projectId, combo, hourGrid) {
var me = this;
if (me.debug) console.log('HourWeeklyConstroller.onProjectChanged: Started');
// Load taskTreeStore with new parameter // Load taskTreeStore with new parameter
taskTreeStore.getProxy().extraParams = { project_id: projectId }; me.taskTreeStore.getProxy().extraParams = { project_id: projectId };
taskTreeStore.reload({ me.taskTreeStore.reload({
callback: function(records, operation, success) { callback: function(records, operation, success) {
var me = this; var me = this;
if (hourGrid.debug) console.log('PO.store.timesheet.TaskTreeStore: loaded'); if (hourGrid.debug) console.log('HourWeeklyConstroller.onProjectChanged: TaskTreeStore: loaded');
if (!success) { if (!success) {
PO.Utilities.reportStoreError("TaskTreeStore", operation); PO.Utilities.reportStoreError("TaskTreeStore", operation);
return; return;
...@@ -57,6 +61,7 @@ Ext.define('PO.tsweekly.HourWeeklyController', { ...@@ -57,6 +61,7 @@ Ext.define('PO.tsweekly.HourWeeklyController', {
} }
}); });
if (me.debug) console.log('HourWeeklyConstroller.onProjectChanged: Finished');
}, },
/* /*
......
// /sencha-core/www/store/timesheet/HourStore.js
//
// Copyright (C) 2013-2014 ]project-open[
//
// All rights reserved. Please see
// https://www.project-open.com/license/ for details.
Ext.define('PO.tsweekly.HourWeeklyStore', {
extend: 'Ext.data.Store',
model: 'PO.tsweekly.HourWeekly',
storeId: 'hourWeeklyStore',
autoDestroy: true,
autoLoad: false,
autoSync: false
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment