Commit 46ba8480 authored by Project Open's avatar Project Open

- WIP: Now with store for main projects

parent b005ca28
...@@ -23,12 +23,14 @@ Ext.require([ ...@@ -23,12 +23,14 @@ Ext.require([
'Ext.tree.*', 'Ext.tree.*',
'PO.Utilities', 'PO.Utilities',
'PO.store.CategoryStore', 'PO.store.CategoryStore',
'PO.store.project.ProjectMainStore',
'PO.controller.StoreLoadCoordinator', 'PO.controller.StoreLoadCoordinator',
'PO.model.timesheet.TimesheetTask', 'PO.model.timesheet.TimesheetTask',
'PO.model.timesheet.Hour', 'PO.model.timesheet.Hour',
'PO.model.project.Project',
'PO.store.timesheet.HourStore', 'PO.store.timesheet.HourStore',
'PO.store.timesheet.TaskTreeStore', 'PO.store.timesheet.TaskTreeStore',
'Ext.ux.TreeCombo' 'PO.view.field.POComboTree'
]); ]);
// Global parameters from server-side // Global parameters from server-side
...@@ -44,6 +46,7 @@ function launchTimesheetWeeklyLogging(){ ...@@ -44,6 +46,7 @@ function launchTimesheetWeeklyLogging(){
// Stores // Stores
var hourStore = Ext.StoreManager.get('hourStore'); var hourStore = Ext.StoreManager.get('hourStore');
var taskTreeStore = Ext.StoreManager.get('taskTreeStore'); var taskTreeStore = Ext.StoreManager.get('taskTreeStore');
var projectStore = Ext.StoreManager.get('projectMainStore');
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// Renderer to display a project_id as project_name // Renderer to display a project_id as project_name
...@@ -72,6 +75,17 @@ function launchTimesheetWeeklyLogging(){ ...@@ -72,6 +75,17 @@ function launchTimesheetWeeklyLogging(){
plugins: [rowEditing], plugins: [rowEditing],
columns: [ columns: [
{ {
text: 'Project',
flex: 1,
dataIndex: 'main_project_id',
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
var main_project_id = record.get('main_project_id');
var projectModel = projectStore.getById(main_project_id);
if (!projectModel) return "";
return projectModel.get('project_name');
},
editor: { xtype: 'combo', queryMode: 'local', store: projectStore, displayField: 'project_name', valueField: 'project_id', matchFieldWidth: false }
}, {
text: 'Task', text: 'Task',
flex: 1, flex: 1,
dataIndex: 'project_id', dataIndex: 'project_id',
...@@ -80,7 +94,7 @@ function launchTimesheetWeeklyLogging(){ ...@@ -80,7 +94,7 @@ function launchTimesheetWeeklyLogging(){
if (!taskModel) return ""; if (!taskModel) return "";
return taskModel.get('project_name'); return taskModel.get('project_name');
}, },
editor: {} editor: { xtype: 'pocombotree', store: taskTreeStore, queryMode: 'local', displayField: 'project_name', valueField: 'id'}
}, { }, {
text: "Date", text: "Date",
xtype: 'datecolumn', xtype: 'datecolumn',
...@@ -306,16 +320,12 @@ function launchTimesheetWeeklyLogging(){ ...@@ -306,16 +320,12 @@ function launchTimesheetWeeklyLogging(){
var day = PO.Utilities.dateToPg(new Date()); var day = PO.Utilities.dateToPg(new Date());
var hour = new Ext.create('PO.model.timesheet.Hour', { var hour = new Ext.create('PO.model.timesheet.Hour', {
user_id: @current_user_id@, user_id: @current_user_id@,
project_id: @project_id@, // project_id: @project_id@,
task_id: @project_id@,
day: day day: day
}); });
hourStore.add(hour); hourStore.add(hour);
//var rowIndex = hourStore.count() -1; rowEditing.startEdit(hour, 0);
// rowEditing.startEdit(0, 0);
// rowEditing.startEdit(this.loggingInterval, 0);
}, },
onButtonStopLogging: function() { onButtonStopLogging: function() {
...@@ -541,13 +551,15 @@ Ext.onReady(function() { ...@@ -541,13 +551,15 @@ Ext.onReady(function() {
var debug = getDebug('default'); var debug = getDebug('default');
var taskTreeStore = Ext.create('PO.store.timesheet.TaskTreeStore'); var taskTreeStore = Ext.create('PO.store.timesheet.TaskTreeStore');
var hourStore = Ext.create('PO.store.timesheet.HourStore'); var hourStore = Ext.create('PO.store.timesheet.HourStore');
var projectStore = Ext.create('PO.store.project.ProjectMainStore');
// Use a "store coodinator" in order to launchTimesheetWeeklyLogging() only // Use a "store coodinator" in order to launchTimesheetWeeklyLogging() only
// if all stores have been loaded: // if all stores have been loaded:
var coordinator = Ext.create('PO.controller.StoreLoadCoordinator', { var coordinator = Ext.create('PO.controller.StoreLoadCoordinator', {
stores: [ stores: [
'hourStore', 'hourStore',
'taskTreeStore' 'taskTreeStore',
'projectMainStore'
], ],
listeners: { listeners: {
load: function() { load: function() {
...@@ -584,6 +596,17 @@ Ext.onReady(function() { ...@@ -584,6 +596,17 @@ Ext.onReady(function() {
} }
}); });
// Load stores that need parameters
projectStore.getProxy().extraParams = { query: 'parent_id is NULL and project_status_id = 76', format: 'json' };
projectStore.load({
callback: function() {
console.log('PO.store.project.ProjectMainStore: loaded');
}
});
}); });
</script> </script>
</div> </div>
......
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