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([
'Ext.tree.*',
'PO.Utilities',
'PO.store.CategoryStore',
'PO.store.project.ProjectMainStore',
'PO.controller.StoreLoadCoordinator',
'PO.model.timesheet.TimesheetTask',
'PO.model.timesheet.Hour',
'PO.model.project.Project',
'PO.store.timesheet.HourStore',
'PO.store.timesheet.TaskTreeStore',
'Ext.ux.TreeCombo'
'PO.view.field.POComboTree'
]);
// Global parameters from server-side
......@@ -44,6 +46,7 @@ function launchTimesheetWeeklyLogging(){
// Stores
var hourStore = Ext.StoreManager.get('hourStore');
var taskTreeStore = Ext.StoreManager.get('taskTreeStore');
var projectStore = Ext.StoreManager.get('projectMainStore');
// -----------------------------------------------------------------------
// Renderer to display a project_id as project_name
......@@ -72,6 +75,17 @@ function launchTimesheetWeeklyLogging(){
plugins: [rowEditing],
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',
flex: 1,
dataIndex: 'project_id',
......@@ -80,7 +94,7 @@ function launchTimesheetWeeklyLogging(){
if (!taskModel) return "";
return taskModel.get('project_name');
},
editor: {}
editor: { xtype: 'pocombotree', store: taskTreeStore, queryMode: 'local', displayField: 'project_name', valueField: 'id'}
}, {
text: "Date",
xtype: 'datecolumn',
......@@ -306,16 +320,12 @@ function launchTimesheetWeeklyLogging(){
var day = PO.Utilities.dateToPg(new Date());
var hour = new Ext.create('PO.model.timesheet.Hour', {
user_id: @current_user_id@,
project_id: @project_id@,
task_id: @project_id@,
// project_id: @project_id@,
day: day
});
hourStore.add(hour);
//var rowIndex = hourStore.count() -1;
// rowEditing.startEdit(0, 0);
// rowEditing.startEdit(this.loggingInterval, 0);
rowEditing.startEdit(hour, 0);
},
onButtonStopLogging: function() {
......@@ -541,13 +551,15 @@ Ext.onReady(function() {
var debug = getDebug('default');
var taskTreeStore = Ext.create('PO.store.timesheet.TaskTreeStore');
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
// if all stores have been loaded:
var coordinator = Ext.create('PO.controller.StoreLoadCoordinator', {
stores: [
'hourStore',
'taskTreeStore'
'taskTreeStore',
'projectMainStore'
],
listeners: {
load: 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>
</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