Commit b4698783 authored by Project Open's avatar Project Open

- Fixed issues for using the module in ]po[ V5.1

parent eaa176b6
...@@ -21,9 +21,17 @@ Ext.require([ ...@@ -21,9 +21,17 @@ Ext.require([
'PO.store.timesheet.HourIntervalStore', 'PO.store.timesheet.HourIntervalStore',
'PO.store.timesheet.TaskTreeStore', 'PO.store.timesheet.TaskTreeStore',
'PO.store.timesheet.HourIntervalActivityStore', 'PO.store.timesheet.HourIntervalActivityStore',
'PO.view.gantt.GanttTreePanel',
'Ext.ux.TreeCombo' 'Ext.ux.TreeCombo'
]); ]);
// Global parameters from server-side
var default_material_id = parseInt('@default_material_id@'); // "Default" material
var default_cost_center_id = parseInt('@default_cost_center_id@'); // "The Company" cost-center
var default_uom_id = parseInt('@default_uom_id@'); // "Hour" default Unit of Measure
var default_effort_driven_type_id = parseInt('@default_effort_driven_type_id@'); // "Fixed Effort" as default
var write_project_p = parseInt('@write_p@'); // 0 or 1
function launchTimesheetIntervalLogging(){ function launchTimesheetIntervalLogging(){
...@@ -32,10 +40,22 @@ function launchTimesheetIntervalLogging(){ ...@@ -32,10 +40,22 @@ function launchTimesheetIntervalLogging(){
var hourIntervalStore = Ext.StoreManager.get('hourIntervalStore'); var hourIntervalStore = Ext.StoreManager.get('hourIntervalStore');
var taskTreeStore = Ext.StoreManager.get('taskTreeStore'); var taskTreeStore = Ext.StoreManager.get('taskTreeStore');
var ganttTreePanel = Ext.create('PO.view.gantt.GanttTreePanel', { var ganttTreePanel = Ext.create('PO.view.gantt.GanttTreePanel', {
width: 300, id: 'ganttTreePanel',
debug: true, // getDebug('ganttTreePanel'),
rootVisible: false,
width: 500,
region: 'west', region: 'west',
store: taskTreeStore
}); });
// Disabled the TreePanel editor
var editor = ganttTreePanel.findPlugin('cellediting');
if (editor) editor.disable();
// Work around columns messed up after state change
ganttTreePanel.headerCt.onColumnsChanged();
ganttTreePanel.view.refresh();
var timeEntryStore = []; var timeEntryStore = [];
for (var i = @time_entry_store_start_hour@; i < @time_entry_store_end_hour@; i++) { for (var i = @time_entry_store_start_hour@; i < @time_entry_store_end_hour@; i++) {
...@@ -307,7 +327,6 @@ function launchTimesheetIntervalLogging(){ ...@@ -307,7 +327,6 @@ function launchTimesheetIntervalLogging(){
} }
} }
if (interval_date != null) { if (interval_date != null) {
// The interval_date has been overwritten by the editor with a Date // The interval_date has been overwritten by the editor with a Date
var value = new Date(interval_date); var value = new Date(interval_date);
...@@ -603,13 +622,27 @@ function launchTimesheetIntervalLogging(){ ...@@ -603,13 +622,27 @@ function launchTimesheetIntervalLogging(){
}; };
var debugHash = @debug_json;noquote@;
function getDebug(id) {
// Check for a debug setting for the specific Id
var debug = parseInt(debugHash[id]);
if (!isNaN(debug)) return debug;
// Use the default debug
debug = parseInt(debugHash['default']);
if (!isNaN(debug)) return debug;
// invalid configuration - enable debug
return 1;
};
// ----------------------------------------------------------------------- // -----------------------------------------------------------------------
// Start the application after loading the necessary stores // Start the application after loading the necessary stores
// //
Ext.onReady(function() { Ext.onReady(function() {
Ext.QuickTips.init(); Ext.QuickTips.init();
var debug = getDebug('default');
var taskTreeStore = Ext.create('PO.store.timesheet.TaskTreeStore'); var taskTreeStore = Ext.create('PO.store.timesheet.TaskTreeStore');
var hourIntervalStore = Ext.create('PO.store.timesheet.HourIntervalStore'); var hourIntervalStore = Ext.create('PO.store.timesheet.HourIntervalStore');
...@@ -635,11 +668,22 @@ Ext.onReady(function() { ...@@ -635,11 +668,22 @@ Ext.onReady(function() {
// Load stores that need parameters // Load stores that need parameters
taskTreeStore.getProxy().extraParams = { project_id: @project_id@ }; taskTreeStore.getProxy().extraParams = { project_id: @project_id@ };
taskTreeStore.load({ taskTreeStore.load({
callback: function() { callback: function(records, operation, success) {
console.log('PO.store.timesheet.TaskTreeStore: loaded'); var me = this;
if (debug) console.log('PO.store.timesheet.TaskTreeStore: loaded');
if (!success) {
PO.Utilities.reportStoreError("TaskTreeStore", operation);
return;
}
var mainProjectNode = records[0];
mainProjectNode.set('sort_order','0');
me.setRootNode(mainProjectNode);
} }
}); });
// Load stores that need parameters // Load stores that need parameters
hourIntervalStore.getProxy().extraParams = { project_id: @project_id@, user_id: @current_user_id@, format: 'json' }; hourIntervalStore.getProxy().extraParams = { project_id: @project_id@, user_id: @current_user_id@, format: 'json' };
...@@ -652,4 +696,3 @@ Ext.onReady(function() { ...@@ -652,4 +696,3 @@ Ext.onReady(function() {
}); });
</script> </script>
</div> </div>
...@@ -19,6 +19,8 @@ set data_list {} ...@@ -19,6 +19,8 @@ set data_list {}
# project_id may be overwritten by SQLs below # project_id may be overwritten by SQLs below
set main_project_id $project_id set main_project_id $project_id
im_project_permissions $current_user_id $main_project_id view_p read_p write_p admin_p
# Create a random ID for the task_editor # Create a random ID for the task_editor
set task_editor_rand [expr round(rand() * 100000000.0)] set task_editor_rand [expr round(rand() * 100000000.0)]
...@@ -31,3 +33,21 @@ set week_start_day [parameter::get_from_package_key -package_key "intranet-times ...@@ -31,3 +33,21 @@ set week_start_day [parameter::get_from_package_key -package_key "intranet-times
set please_add_note_required_l10n [lang::message::lookup "" intranet-timesheet2-inverval.Please_add_a_note_required "Please add a note (required)"] set please_add_note_required_l10n [lang::message::lookup "" intranet-timesheet2-inverval.Please_add_a_note_required "Please add a note (required)"]
# Default material and Unit of Measure: "Default" and "Hour"
set default_material_id [im_material_default_material_id]
set default_cost_center_id [im_cost_center_company]
set default_uom_id [im_uom_hour]
# 9722 = 'Fixed Work' is the default effort_driven_type
set default_effort_driven_type_id [parameter::get_from_package_key -package_key "intranet-ganttproject" -parameter "DefaultEffortDrivenTypeId" -default "9722"]
# Create a debug JSON object that controls logging verbosity
set debug_default "default 0"
set debug_list [parameter::get_from_package_key -package_key "intranet-gantt-editor" -parameter DebugHash -default $debug_default]
array set debug_hash $debug_list
set debug_json_list {}
foreach id [array names debug_hash] { lappend debug_json_list "'$id': $debug_hash($id)" }
set debug_json "{\n\t[join $debug_json_list ",\n\t"]\n}"
...@@ -185,12 +185,7 @@ create trigger im_hour_interval_delete_tr after delete on im_hour_intervals for ...@@ -185,12 +185,7 @@ create trigger im_hour_interval_delete_tr after delete on im_hour_intervals for
-- ------------------------------------------------------------ -- ------------------------------------------------------------
SELECT im_component_plugin__new ( SELECT im_component_plugin__new (
null, -- plugin_id null, 'im_component_plugin', now(), null, null, null,
'im_component_plugin', -- object_type
now(), -- creation_date
null, -- creation_user
null, -- creation_ip
null, -- context_id
'Timesheet Interval', -- plugin_name 'Timesheet Interval', -- plugin_name
'intranet-timesheet2-interval', -- package_name 'intranet-timesheet2-interval', -- package_name
'top', -- location 'top', -- location
...@@ -200,20 +195,12 @@ SELECT im_component_plugin__new ( ...@@ -200,20 +195,12 @@ SELECT im_component_plugin__new (
'im_timesheet_interval_portlet -project_id $project_id' 'im_timesheet_interval_portlet -project_id $project_id'
); );
-- ------------------------------------------------------------ -- ------------------------------------------------------------
-- Resource leveling editor -- Resource leveling editor
-- ------------------------------------------------------------ -- ------------------------------------------------------------
SELECT im_menu__new ( SELECT im_menu__new (
null, -- p_menu_id null, 'im_menu', now(), null, null, null,
'im_menu', -- object_type
now(), -- creation_date
null, -- creation_user
null, -- creation_ip
null, -- context_id
'sencha-task-editor', -- package_name 'sencha-task-editor', -- package_name
'resource_leveling_editor', -- label 'resource_leveling_editor', -- label
'Resource Leveling Editor', -- name 'Resource Leveling Editor', -- name
......
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