summaryrefslogtreecommitdiff
path: root/addons/project_long_term
diff options
context:
space:
mode:
authorniv-openerp <nicolas.vanhoren@openerp.com>2011-11-21 15:46:22 +0530
committerniv-openerp <nicolas.vanhoren@openerp.com>2011-11-21 15:46:22 +0530
commit4f82e3130b80c429168f07f7ed7418d8b2dfcd10 (patch)
tree9e4ee7d257b170239dce67cb83ed73d9319e4c20 /addons/project_long_term
parent207933a632d36394c85de225ec4aea80a1c5808e (diff)
parent7dc7a3849087dbb525b227fc1ddb79c7020a92f3 (diff)
[merge]
bzr revid: nicolas.vanhoren@openerp.com-20111121101622-xm4mgcj9qym6zzny
Diffstat (limited to 'addons/project_long_term')
-rw-r--r--addons/project_long_term/i18n/es_MX.po633
-rw-r--r--addons/project_long_term/i18n/es_VE.po633
-rw-r--r--addons/project_long_term/project_long_term.py124
-rw-r--r--addons/project_long_term/project_long_term_demo.xml10
-rw-r--r--addons/project_long_term/project_long_term_view.xml20
5 files changed, 1282 insertions, 138 deletions
diff --git a/addons/project_long_term/i18n/es_MX.po b/addons/project_long_term/i18n/es_MX.po
new file mode 100644
index 00000000000..60dd2368ade
--- /dev/null
+++ b/addons/project_long_term/i18n/es_MX.po
@@ -0,0 +1,633 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-01-18 09:17+0000\n"
+"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@gmail.com>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-09-05 05:54+0000\n"
+"X-Generator: Launchpad (build 13830)\n"
+
+#. module: project_long_term
+#: model:ir.module.module,shortdesc:project_long_term.module_meta_information
+msgid "Long Term Project Management"
+msgstr "Gestión de proyectos a largo plazo"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+msgid "Compute Scheduling of Phases"
+msgstr "Calcular planificación de fases"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,next_phase_ids:0
+msgid "Next Phases"
+msgstr "Siguientes fases"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Project's Tasks"
+msgstr "Tareas del proyecto"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_project_phases
+msgid "Phases"
+msgstr "Fases"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: view:project.resource.allocation:0
+msgid "Group By..."
+msgstr "Agrupar por..."
+
+#. module: project_long_term
+#: constraint:project.project:0
+msgid "Error! project start-date must be lower then project end-date."
+msgstr ""
+"¡Error! La fecha de inicio del proyecto debe ser anterior a la fecha final "
+"del proyecto."
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_resouce_allocation
+#: view:project.resource.allocation:0
+msgid "Resources Allocation"
+msgstr "Asignación de recursos"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Displaying settings"
+msgstr "Mostrando configuración"
+
+#. module: project_long_term
+#: field:project.compute.phases,target_project:0
+msgid "Schedule"
+msgstr "Programa"
+
+#. module: project_long_term
+#: model:ir.module.module,description:project_long_term.module_meta_information
+msgid ""
+"\n"
+"\n"
+" Long Term Project management module that tracks planning, "
+"scheduling, resources allocation.\n"
+" Mainly used with Big project management.\n"
+" - Project Phases will be maintained by Manager of the project\n"
+" - Compute Phase Scheduling: Compute start date and end date of "
+"the phases which are in draft,open and pending state of the project given.\n"
+" If no project given then all the "
+"draft,open and pending state phases will be taken\n"
+" - Compute Task Scheduling: This works same as the scheduler "
+"button on project.phase. It takes the project as argument and computes all "
+"the open,draft and pending tasks\n"
+" - Schedule Tasks: All the tasks which are in draft,pending and "
+"open state are scheduled with taking the phase's start date\n"
+"\n"
+" "
+msgstr ""
+"\n"
+"\n"
+" Módulo de Gestión de Proyectos a Largo Plazo que realiza el "
+"seguimiento de planeamiento, programación, asignación de recursos.\n"
+" Utilizado principalmente con la gestión de proyectos grandes.\n"
+" - Las Fases del Proyecto serán gestionadas por el Administrador "
+"del proyecto\n"
+" - Calcula la Programación de Fases: Calcula la fecha de inicio y "
+"fecha de finalización de las fases del proyecto en estado borrador, abierto "
+"y pendiente.\n"
+" Si no hay ningún proyecto concreto, "
+"entonces se llevarán todas las fases en estado borrador, abierto y "
+"pendiente\n"
+" - Calcula la Programación de Tareas: Esto funciona igual que el "
+"botón programador de project.phase. Toma el proyecto como argumento y "
+"calcula todas las tareas abiertas, en borrador y pendientes.\n"
+" - Programa tareas: Todas las tareas en estado borrador, "
+"pendiente y abierto se programan desde la fecha de inicio de la fase\n"
+"\n"
+" "
+
+#. module: project_long_term
+#: constraint:project.task:0
+msgid "Error ! You cannot create recursive tasks."
+msgstr "¡Error! No se pueden crear tareas recursivas."
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_resouce_allocation
+msgid "Resource Allocations"
+msgstr "Asignación de recursos"
+
+#. module: project_long_term
+#: constraint:project.project:0
+msgid "Error! You cannot assign escalation to the same project!"
+msgstr "¡Error! No puede asignar un escalado al mismo proyecto."
+
+#. module: project_long_term
+#: code:addons/project_long_term/project_long_term.py:128
+#, python-format
+msgid "Day"
+msgstr "Día"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_task
+msgid "Task"
+msgstr "Tarea"
+
+#. module: project_long_term
+#: selection:project.compute.phases,target_project:0
+msgid "Compute a Single Project"
+msgstr "Calcular un sólo proyecto"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,previous_phase_ids:0
+msgid "Previous Phases"
+msgstr "Fases previas"
+
+#. module: project_long_term
+#: help:project.phase,product_uom:0
+msgid "UoM (Unit of Measure) is the unit of measurement for Duration"
+msgstr "UdM (Unidad de Medida) es la unidad de medida para la duración"
+
+#. module: project_long_term
+#: help:project.phase,date_end:0
+msgid ""
+" It's computed by the scheduler according to the start date and the duration."
+msgstr ""
+" Es calculado por el planificador en fucnión de la fecha de inicio y la "
+"duración"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_project
+#: field:project.compute.phases,project_id:0
+#: field:project.compute.tasks,project_id:0
+#: view:project.phase:0
+#: field:project.phase,project_id:0
+#: view:project.resource.allocation:0
+#: field:project.resource.allocation,project_id:0
+#: view:project.task:0
+msgid "Project"
+msgstr "Proyecto"
+
+#. module: project_long_term
+#: code:addons/project_long_term/wizard/project_compute_phases.py:50
+#, python-format
+msgid "Error!"
+msgstr "¡Error!"
+
+#. module: project_long_term
+#: selection:project.phase,state:0
+msgid "Cancelled"
+msgstr "Cancelado"
+
+#. module: project_long_term
+#: help:project.resource.allocation,date_end:0
+msgid "Ending Date"
+msgstr "Fecha de fin"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Planning"
+msgstr "Planificación"
+
+#. module: project_long_term
+#: field:project.phase,constraint_date_end:0
+msgid "Deadline"
+msgstr "Fecha límite"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+#: view:project.compute.tasks:0
+msgid "_Cancel"
+msgstr "_Cancelar"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.action_project_compute_phases
+#: model:ir.ui.menu,name:project_long_term.menu_compute_phase
+msgid "Compute Phase Scheduling"
+msgstr "Calcular planificación de fases"
+
+#. module: project_long_term
+#: code:addons/project_long_term/project_long_term.py:190
+#, python-format
+msgid " (copy)"
+msgstr " (copia)"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: view:project.resource.allocation:0
+#: field:project.resource.allocation,useability:0
+msgid "Availability"
+msgstr "Disponibilidad"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+#: view:project.compute.tasks:0
+msgid "C_ompute"
+msgstr "C_alcular"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+msgid "Compute Scheduling of phases for all or specified project"
+msgstr ""
+"Calcular planificación de fases para todos o el proyecto especificado"
+
+#. module: project_long_term
+#: field:project.phase,product_uom:0
+msgid "Duration UoM"
+msgstr "UdM duración"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.action_project_compute_tasks
+#: model:ir.ui.menu,name:project_long_term.menu_compute_tasks
+msgid "Compute Task Scheduling"
+msgstr "Calcular planificación de tareas"
+
+#. module: project_long_term
+#: field:project.phase,constraint_date_start:0
+msgid "Minimum Start Date"
+msgstr "Fecha de inicio mínima"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_resource_allocation
+#: view:project.phase:0
+#: view:project.resource.allocation:0
+msgid "Project Resource Allocation"
+msgstr "Asignación de recursos de proyecto"
+
+#. module: project_long_term
+#: view:project.compute.tasks:0
+msgid "Compute Scheduling of Task"
+msgstr "Calcular planificación de tarea"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_project_resource
+#: model:ir.ui.menu,name:project_long_term.menu_pm_resources_project1
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource
+#: view:project.resource.allocation:0
+msgid "Resources"
+msgstr "Recursos"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,help:project_long_term.action_project_compute_phases
+msgid ""
+"To schedule phases of all or a specified project. It then open a gantt "
+"view.\n"
+"\t "
+msgstr ""
+"Para programar las fases de todos los proyectos, o uno específico. A "
+"continuación, abrirá una vista de Gantt.\n"
+"\t "
+
+#. module: project_long_term
+#: help:project.resource.allocation,date_start:0
+msgid "Starting Date"
+msgstr "Fecha de inicio"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.project_phase_task_list
+msgid "Related Tasks"
+msgstr "Tareas relacionadas"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Dates"
+msgstr "Fechas"
+
+#. module: project_long_term
+#: help:project.resource.allocation,useability:0
+msgid ""
+"Availability of this resource for this project phase in percentage (=50%)"
+msgstr ""
+"La disponibilidad de este recurso para esta fase de proyecto en porcentaje "
+"(=50%)"
+
+#. module: project_long_term
+#: help:project.phase,constraint_date_start:0
+msgid "force the phase to start after this date"
+msgstr "Forzar que la fase epiece después de esta fecha"
+
+#. module: project_long_term
+#: field:project.phase,task_ids:0
+msgid "Project Tasks"
+msgstr "Tareas de proyecto"
+
+#. module: project_long_term
+#: field:project.phase,resource_ids:0
+msgid "Project Resources"
+msgstr "Recursos de proyecto"
+
+#. module: project_long_term
+#: view:project.schedule.tasks:0
+msgid "_Ok"
+msgstr "_Aceptar"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Schedule and Display info"
+msgstr "Planificar y mostrar información"
+
+#. module: project_long_term
+#: help:project.phase,date_start:0
+msgid ""
+"It's computed by the scheduler according the project date or the end date of "
+"the previous phase."
+msgstr ""
+"Es calculado por el planificador en función de la fecha inicio o fecha fin "
+"de la fase anterior"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Month"
+msgstr "Mes"
+
+#. module: project_long_term
+#: constraint:project.phase:0
+msgid "Phase start-date must be lower than phase end-date."
+msgstr "La fecha-inicio de la fase debe ser anterior a la fecha-fin."
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_schedule_tasks
+msgid "project.schedule.tasks"
+msgstr "proyecto.planificar.tareas"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,help:project_long_term.act_project_phase
+msgid ""
+"A project can be split into the different phases. For each phase, you can "
+"define your resources allocation, describe different tasks and link your "
+"phase to previous and next phases, add date constraints for the automated "
+"scheduling. Use the long term planning in order to planify your available "
+"human resources, convert your phases into a series of tasks when you start "
+"working on the project."
+msgstr ""
+"Un proyecto se puede dividir en diferentes fases. Para cada fase, puede "
+"definir su asignación de recursos, describir diferentes tareas y vincular su "
+"fase a fases previas y posteriores, añadir restricciones de fecha para la "
+"programación automática. Cuando empiece a trabajar en el proyecto, use el "
+"planeamiento a largo plazo para planificar sus recursos humanos disponibles "
+"y convertir sus fases en una serie de tareas."
+
+#. module: project_long_term
+#: field:project.phase,date_start:0
+#: field:project.resource.allocation,date_start:0
+msgid "Start Date"
+msgstr "Fecha inicio"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Resource Allocation"
+msgstr "Asignación de recursos"
+
+#. module: project_long_term
+#: help:project.phase,constraint_date_end:0
+msgid "force the phase to finish before this date"
+msgstr "Forzar que la fase termine antes de esta fecha"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "Pending"
+msgstr "Pendiente"
+
+#. module: project_long_term
+#: field:project.resource.allocation,name:0
+msgid "unknown"
+msgstr "desconocido"
+
+#. module: project_long_term
+#: field:project.resource.allocation,user_id:0
+msgid "User"
+msgstr "Usuario"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Task Detail"
+msgstr "Detalles tarea"
+
+#. module: project_long_term
+#: help:project.project,resource_calendar_id:0
+msgid "Timetable working hours to adjust the gantt diagram report"
+msgstr "Horario de trabajo para ajustar el informe del diagrama de Gantt"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_compute_tasks
+msgid "Project Compute Tasks"
+msgstr "Calcular tareas proyecto"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Constraints"
+msgstr "Restricciones"
+
+#. module: project_long_term
+#: help:project.phase,sequence:0
+msgid "Gives the sequence order when displaying a list of phases."
+msgstr "Indica el orden cuando se muestra la lista de fases"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_project_phase
+#: model:ir.actions.act_window,name:project_long_term.act_project_phase_list
+#: model:ir.ui.menu,name:project_long_term.menu_project_phase
+#: model:ir.ui.menu,name:project_long_term.menu_project_phase_list
+#: view:project.phase:0
+#: field:project.project,phase_ids:0
+msgid "Project Phases"
+msgstr "Fases proyecto"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "Done"
+msgstr "Hecho"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "In Progress"
+msgstr "En proceso"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Remaining Hours"
+msgstr "Horas restantes"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,responsible_id:0
+msgid "Responsible"
+msgstr "Responsable"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar
+#: field:project.project,resource_calendar_id:0
+msgid "Working Time"
+msgstr "Horario de trabajo"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Current"
+msgstr "Actual"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Start Phase"
+msgstr "Comenzar fase"
+
+#. module: project_long_term
+#: code:addons/project_long_term/wizard/project_compute_phases.py:50
+#, python-format
+msgid "Please Specify Project to be schedule"
+msgstr "Por favor seleccione el proyecto a planificar"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,total_hours:0
+msgid "Total Hours"
+msgstr "Total horas"
+
+#. module: project_long_term
+#: view:project.schedule.tasks:0
+msgid "Task Scheduling completed successfully."
+msgstr "Planificación de tareas completada satisfactoriamente."
+
+#. module: project_long_term
+#: view:project.compute.tasks:0
+msgid "Compute Scheduling of Task for specified project."
+msgstr "Calcular planificación de tareas para un proyecto específico"
+
+#. module: project_long_term
+#: view:project.resource.allocation:0
+msgid "Phase"
+msgstr "Fase"
+
+#. module: project_long_term
+#: help:project.phase,state:0
+msgid ""
+"If the phase is created the state 'Draft'.\n"
+" If the phase is started, the state becomes 'In Progress'.\n"
+" If review is needed the phase is in 'Pending' state. "
+" \n"
+" If the phase is over, the states is set to 'Done'."
+msgstr ""
+"Si la fase se crea, el estado es \"Borrador\".\n"
+" Si la fase comienza, el estado cambia a \"En Proceso\".\n"
+" Si se necesita revisión, la fase está en estado \"Pendiente\".\n"
+" Si la fase está terminada, el estado se fija en \"Hecho\"."
+
+#. module: project_long_term
+#: field:project.phase,date_end:0
+#: field:project.resource.allocation,date_end:0
+msgid "End Date"
+msgstr "Fecha de fin"
+
+#. module: project_long_term
+#: view:project.resource.allocation:0
+#: field:project.resource.allocation,resource_id:0
+msgid "Resource"
+msgstr "Recurso"
+
+#. module: project_long_term
+#: field:project.phase,name:0
+msgid "Name"
+msgstr "Nombre"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Tasks Details"
+msgstr "Detalles tareas"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar
+msgid "Working Period"
+msgstr "Periodo de trabajo"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_resource_resource
+msgid "Resource Detail"
+msgstr "Detalle recurso"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_phase_schedule
+msgid "Scheduling"
+msgstr "Planificación"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_phase
+#: view:project.phase:0
+#: field:project.resource.allocation,phase_id:0
+#: view:project.task:0
+#: field:project.task,phase_id:0
+msgid "Project Phase"
+msgstr "Fase proyecto"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_compute_phases
+msgid "Project Compute Phases"
+msgstr "Calcular fases del proyecto"
+
+#. module: project_long_term
+#: field:project.schedule.tasks,msg:0
+msgid "Message"
+msgstr "Mensaje"
+
+#. module: project_long_term
+#: constraint:project.phase:0
+msgid "Loops in phases not allowed"
+msgstr "No se permiten bucles en fases"
+
+#. module: project_long_term
+#: field:project.phase,sequence:0
+msgid "Sequence"
+msgstr "Secuencia"
+
+#. module: project_long_term
+#: selection:project.compute.phases,target_project:0
+msgid "Compute All Projects"
+msgstr "Calcular todos los proyectos"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar_leaves
+msgid "Resource Leaves"
+msgstr "Ausencias recursos"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.action_project_schedule_tasks
+#: view:project.phase:0
+#: view:project.schedule.tasks:0
+msgid "Schedule Tasks"
+msgstr "Planificar tareas"
+
+#. module: project_long_term
+#: help:project.phase,duration:0
+msgid "By default in days"
+msgstr "Por defecto en días"
+
+#. module: project_long_term
+#: field:project.phase,duration:0
+msgid "Duration"
+msgstr "Duración"
diff --git a/addons/project_long_term/i18n/es_VE.po b/addons/project_long_term/i18n/es_VE.po
new file mode 100644
index 00000000000..60dd2368ade
--- /dev/null
+++ b/addons/project_long_term/i18n/es_VE.po
@@ -0,0 +1,633 @@
+# Spanish translation for openobject-addons
+# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2011-01-11 11:15+0000\n"
+"PO-Revision-Date: 2011-01-18 09:17+0000\n"
+"Last-Translator: Borja López Soilán (NeoPolus) <borjalopezsoilan@gmail.com>\n"
+"Language-Team: Spanish <es@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2011-09-05 05:54+0000\n"
+"X-Generator: Launchpad (build 13830)\n"
+
+#. module: project_long_term
+#: model:ir.module.module,shortdesc:project_long_term.module_meta_information
+msgid "Long Term Project Management"
+msgstr "Gestión de proyectos a largo plazo"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+msgid "Compute Scheduling of Phases"
+msgstr "Calcular planificación de fases"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,next_phase_ids:0
+msgid "Next Phases"
+msgstr "Siguientes fases"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Project's Tasks"
+msgstr "Tareas del proyecto"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_project_phases
+msgid "Phases"
+msgstr "Fases"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: view:project.resource.allocation:0
+msgid "Group By..."
+msgstr "Agrupar por..."
+
+#. module: project_long_term
+#: constraint:project.project:0
+msgid "Error! project start-date must be lower then project end-date."
+msgstr ""
+"¡Error! La fecha de inicio del proyecto debe ser anterior a la fecha final "
+"del proyecto."
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_resouce_allocation
+#: view:project.resource.allocation:0
+msgid "Resources Allocation"
+msgstr "Asignación de recursos"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Displaying settings"
+msgstr "Mostrando configuración"
+
+#. module: project_long_term
+#: field:project.compute.phases,target_project:0
+msgid "Schedule"
+msgstr "Programa"
+
+#. module: project_long_term
+#: model:ir.module.module,description:project_long_term.module_meta_information
+msgid ""
+"\n"
+"\n"
+" Long Term Project management module that tracks planning, "
+"scheduling, resources allocation.\n"
+" Mainly used with Big project management.\n"
+" - Project Phases will be maintained by Manager of the project\n"
+" - Compute Phase Scheduling: Compute start date and end date of "
+"the phases which are in draft,open and pending state of the project given.\n"
+" If no project given then all the "
+"draft,open and pending state phases will be taken\n"
+" - Compute Task Scheduling: This works same as the scheduler "
+"button on project.phase. It takes the project as argument and computes all "
+"the open,draft and pending tasks\n"
+" - Schedule Tasks: All the tasks which are in draft,pending and "
+"open state are scheduled with taking the phase's start date\n"
+"\n"
+" "
+msgstr ""
+"\n"
+"\n"
+" Módulo de Gestión de Proyectos a Largo Plazo que realiza el "
+"seguimiento de planeamiento, programación, asignación de recursos.\n"
+" Utilizado principalmente con la gestión de proyectos grandes.\n"
+" - Las Fases del Proyecto serán gestionadas por el Administrador "
+"del proyecto\n"
+" - Calcula la Programación de Fases: Calcula la fecha de inicio y "
+"fecha de finalización de las fases del proyecto en estado borrador, abierto "
+"y pendiente.\n"
+" Si no hay ningún proyecto concreto, "
+"entonces se llevarán todas las fases en estado borrador, abierto y "
+"pendiente\n"
+" - Calcula la Programación de Tareas: Esto funciona igual que el "
+"botón programador de project.phase. Toma el proyecto como argumento y "
+"calcula todas las tareas abiertas, en borrador y pendientes.\n"
+" - Programa tareas: Todas las tareas en estado borrador, "
+"pendiente y abierto se programan desde la fecha de inicio de la fase\n"
+"\n"
+" "
+
+#. module: project_long_term
+#: constraint:project.task:0
+msgid "Error ! You cannot create recursive tasks."
+msgstr "¡Error! No se pueden crear tareas recursivas."
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_resouce_allocation
+msgid "Resource Allocations"
+msgstr "Asignación de recursos"
+
+#. module: project_long_term
+#: constraint:project.project:0
+msgid "Error! You cannot assign escalation to the same project!"
+msgstr "¡Error! No puede asignar un escalado al mismo proyecto."
+
+#. module: project_long_term
+#: code:addons/project_long_term/project_long_term.py:128
+#, python-format
+msgid "Day"
+msgstr "Día"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_task
+msgid "Task"
+msgstr "Tarea"
+
+#. module: project_long_term
+#: selection:project.compute.phases,target_project:0
+msgid "Compute a Single Project"
+msgstr "Calcular un sólo proyecto"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,previous_phase_ids:0
+msgid "Previous Phases"
+msgstr "Fases previas"
+
+#. module: project_long_term
+#: help:project.phase,product_uom:0
+msgid "UoM (Unit of Measure) is the unit of measurement for Duration"
+msgstr "UdM (Unidad de Medida) es la unidad de medida para la duración"
+
+#. module: project_long_term
+#: help:project.phase,date_end:0
+msgid ""
+" It's computed by the scheduler according to the start date and the duration."
+msgstr ""
+" Es calculado por el planificador en fucnión de la fecha de inicio y la "
+"duración"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_project
+#: field:project.compute.phases,project_id:0
+#: field:project.compute.tasks,project_id:0
+#: view:project.phase:0
+#: field:project.phase,project_id:0
+#: view:project.resource.allocation:0
+#: field:project.resource.allocation,project_id:0
+#: view:project.task:0
+msgid "Project"
+msgstr "Proyecto"
+
+#. module: project_long_term
+#: code:addons/project_long_term/wizard/project_compute_phases.py:50
+#, python-format
+msgid "Error!"
+msgstr "¡Error!"
+
+#. module: project_long_term
+#: selection:project.phase,state:0
+msgid "Cancelled"
+msgstr "Cancelado"
+
+#. module: project_long_term
+#: help:project.resource.allocation,date_end:0
+msgid "Ending Date"
+msgstr "Fecha de fin"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Planning"
+msgstr "Planificación"
+
+#. module: project_long_term
+#: field:project.phase,constraint_date_end:0
+msgid "Deadline"
+msgstr "Fecha límite"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+#: view:project.compute.tasks:0
+msgid "_Cancel"
+msgstr "_Cancelar"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.action_project_compute_phases
+#: model:ir.ui.menu,name:project_long_term.menu_compute_phase
+msgid "Compute Phase Scheduling"
+msgstr "Calcular planificación de fases"
+
+#. module: project_long_term
+#: code:addons/project_long_term/project_long_term.py:190
+#, python-format
+msgid " (copy)"
+msgstr " (copia)"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: view:project.resource.allocation:0
+#: field:project.resource.allocation,useability:0
+msgid "Availability"
+msgstr "Disponibilidad"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,state:0
+msgid "State"
+msgstr "Estado"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+#: view:project.compute.tasks:0
+msgid "C_ompute"
+msgstr "C_alcular"
+
+#. module: project_long_term
+#: view:project.compute.phases:0
+msgid "Compute Scheduling of phases for all or specified project"
+msgstr ""
+"Calcular planificación de fases para todos o el proyecto especificado"
+
+#. module: project_long_term
+#: field:project.phase,product_uom:0
+msgid "Duration UoM"
+msgstr "UdM duración"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.action_project_compute_tasks
+#: model:ir.ui.menu,name:project_long_term.menu_compute_tasks
+msgid "Compute Task Scheduling"
+msgstr "Calcular planificación de tareas"
+
+#. module: project_long_term
+#: field:project.phase,constraint_date_start:0
+msgid "Minimum Start Date"
+msgstr "Fecha de inicio mínima"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_resource_allocation
+#: view:project.phase:0
+#: view:project.resource.allocation:0
+msgid "Project Resource Allocation"
+msgstr "Asignación de recursos de proyecto"
+
+#. module: project_long_term
+#: view:project.compute.tasks:0
+msgid "Compute Scheduling of Task"
+msgstr "Calcular planificación de tarea"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_project_resource
+#: model:ir.ui.menu,name:project_long_term.menu_pm_resources_project1
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource
+#: view:project.resource.allocation:0
+msgid "Resources"
+msgstr "Recursos"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,help:project_long_term.action_project_compute_phases
+msgid ""
+"To schedule phases of all or a specified project. It then open a gantt "
+"view.\n"
+"\t "
+msgstr ""
+"Para programar las fases de todos los proyectos, o uno específico. A "
+"continuación, abrirá una vista de Gantt.\n"
+"\t "
+
+#. module: project_long_term
+#: help:project.resource.allocation,date_start:0
+msgid "Starting Date"
+msgstr "Fecha de inicio"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.project_phase_task_list
+msgid "Related Tasks"
+msgstr "Tareas relacionadas"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Dates"
+msgstr "Fechas"
+
+#. module: project_long_term
+#: help:project.resource.allocation,useability:0
+msgid ""
+"Availability of this resource for this project phase in percentage (=50%)"
+msgstr ""
+"La disponibilidad de este recurso para esta fase de proyecto en porcentaje "
+"(=50%)"
+
+#. module: project_long_term
+#: help:project.phase,constraint_date_start:0
+msgid "force the phase to start after this date"
+msgstr "Forzar que la fase epiece después de esta fecha"
+
+#. module: project_long_term
+#: field:project.phase,task_ids:0
+msgid "Project Tasks"
+msgstr "Tareas de proyecto"
+
+#. module: project_long_term
+#: field:project.phase,resource_ids:0
+msgid "Project Resources"
+msgstr "Recursos de proyecto"
+
+#. module: project_long_term
+#: view:project.schedule.tasks:0
+msgid "_Ok"
+msgstr "_Aceptar"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Schedule and Display info"
+msgstr "Planificar y mostrar información"
+
+#. module: project_long_term
+#: help:project.phase,date_start:0
+msgid ""
+"It's computed by the scheduler according the project date or the end date of "
+"the previous phase."
+msgstr ""
+"Es calculado por el planificador en función de la fecha inicio o fecha fin "
+"de la fase anterior"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Month"
+msgstr "Mes"
+
+#. module: project_long_term
+#: constraint:project.phase:0
+msgid "Phase start-date must be lower than phase end-date."
+msgstr "La fecha-inicio de la fase debe ser anterior a la fecha-fin."
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_schedule_tasks
+msgid "project.schedule.tasks"
+msgstr "proyecto.planificar.tareas"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,help:project_long_term.act_project_phase
+msgid ""
+"A project can be split into the different phases. For each phase, you can "
+"define your resources allocation, describe different tasks and link your "
+"phase to previous and next phases, add date constraints for the automated "
+"scheduling. Use the long term planning in order to planify your available "
+"human resources, convert your phases into a series of tasks when you start "
+"working on the project."
+msgstr ""
+"Un proyecto se puede dividir en diferentes fases. Para cada fase, puede "
+"definir su asignación de recursos, describir diferentes tareas y vincular su "
+"fase a fases previas y posteriores, añadir restricciones de fecha para la "
+"programación automática. Cuando empiece a trabajar en el proyecto, use el "
+"planeamiento a largo plazo para planificar sus recursos humanos disponibles "
+"y convertir sus fases en una serie de tareas."
+
+#. module: project_long_term
+#: field:project.phase,date_start:0
+#: field:project.resource.allocation,date_start:0
+msgid "Start Date"
+msgstr "Fecha inicio"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Resource Allocation"
+msgstr "Asignación de recursos"
+
+#. module: project_long_term
+#: help:project.phase,constraint_date_end:0
+msgid "force the phase to finish before this date"
+msgstr "Forzar que la fase termine antes de esta fecha"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "Draft"
+msgstr "Borrador"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "Pending"
+msgstr "Pendiente"
+
+#. module: project_long_term
+#: field:project.resource.allocation,name:0
+msgid "unknown"
+msgstr "desconocido"
+
+#. module: project_long_term
+#: field:project.resource.allocation,user_id:0
+msgid "User"
+msgstr "Usuario"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Task Detail"
+msgstr "Detalles tarea"
+
+#. module: project_long_term
+#: help:project.project,resource_calendar_id:0
+msgid "Timetable working hours to adjust the gantt diagram report"
+msgstr "Horario de trabajo para ajustar el informe del diagrama de Gantt"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_compute_tasks
+msgid "Project Compute Tasks"
+msgstr "Calcular tareas proyecto"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Constraints"
+msgstr "Restricciones"
+
+#. module: project_long_term
+#: help:project.phase,sequence:0
+msgid "Gives the sequence order when displaying a list of phases."
+msgstr "Indica el orden cuando se muestra la lista de fases"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.act_project_phase
+#: model:ir.actions.act_window,name:project_long_term.act_project_phase_list
+#: model:ir.ui.menu,name:project_long_term.menu_project_phase
+#: model:ir.ui.menu,name:project_long_term.menu_project_phase_list
+#: view:project.phase:0
+#: field:project.project,phase_ids:0
+msgid "Project Phases"
+msgstr "Fases proyecto"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "Done"
+msgstr "Hecho"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Cancel"
+msgstr "Cancelar"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: selection:project.phase,state:0
+msgid "In Progress"
+msgstr "En proceso"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Remaining Hours"
+msgstr "Horas restantes"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,responsible_id:0
+msgid "Responsible"
+msgstr "Responsable"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar
+#: field:project.project,resource_calendar_id:0
+msgid "Working Time"
+msgstr "Horario de trabajo"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Current"
+msgstr "Actual"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Start Phase"
+msgstr "Comenzar fase"
+
+#. module: project_long_term
+#: code:addons/project_long_term/wizard/project_compute_phases.py:50
+#, python-format
+msgid "Please Specify Project to be schedule"
+msgstr "Por favor seleccione el proyecto a planificar"
+
+#. module: project_long_term
+#: view:project.phase:0
+#: field:project.phase,total_hours:0
+msgid "Total Hours"
+msgstr "Total horas"
+
+#. module: project_long_term
+#: view:project.schedule.tasks:0
+msgid "Task Scheduling completed successfully."
+msgstr "Planificación de tareas completada satisfactoriamente."
+
+#. module: project_long_term
+#: view:project.compute.tasks:0
+msgid "Compute Scheduling of Task for specified project."
+msgstr "Calcular planificación de tareas para un proyecto específico"
+
+#. module: project_long_term
+#: view:project.resource.allocation:0
+msgid "Phase"
+msgstr "Fase"
+
+#. module: project_long_term
+#: help:project.phase,state:0
+msgid ""
+"If the phase is created the state 'Draft'.\n"
+" If the phase is started, the state becomes 'In Progress'.\n"
+" If review is needed the phase is in 'Pending' state. "
+" \n"
+" If the phase is over, the states is set to 'Done'."
+msgstr ""
+"Si la fase se crea, el estado es \"Borrador\".\n"
+" Si la fase comienza, el estado cambia a \"En Proceso\".\n"
+" Si se necesita revisión, la fase está en estado \"Pendiente\".\n"
+" Si la fase está terminada, el estado se fija en \"Hecho\"."
+
+#. module: project_long_term
+#: field:project.phase,date_end:0
+#: field:project.resource.allocation,date_end:0
+msgid "End Date"
+msgstr "Fecha de fin"
+
+#. module: project_long_term
+#: view:project.resource.allocation:0
+#: field:project.resource.allocation,resource_id:0
+msgid "Resource"
+msgstr "Recurso"
+
+#. module: project_long_term
+#: field:project.phase,name:0
+msgid "Name"
+msgstr "Nombre"
+
+#. module: project_long_term
+#: view:project.phase:0
+msgid "Tasks Details"
+msgstr "Detalles tareas"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar
+msgid "Working Period"
+msgstr "Periodo de trabajo"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_resource_resource
+msgid "Resource Detail"
+msgstr "Detalle recurso"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_phase_schedule
+msgid "Scheduling"
+msgstr "Planificación"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_phase
+#: view:project.phase:0
+#: field:project.resource.allocation,phase_id:0
+#: view:project.task:0
+#: field:project.task,phase_id:0
+msgid "Project Phase"
+msgstr "Fase proyecto"
+
+#. module: project_long_term
+#: model:ir.model,name:project_long_term.model_project_compute_phases
+msgid "Project Compute Phases"
+msgstr "Calcular fases del proyecto"
+
+#. module: project_long_term
+#: field:project.schedule.tasks,msg:0
+msgid "Message"
+msgstr "Mensaje"
+
+#. module: project_long_term
+#: constraint:project.phase:0
+msgid "Loops in phases not allowed"
+msgstr "No se permiten bucles en fases"
+
+#. module: project_long_term
+#: field:project.phase,sequence:0
+msgid "Sequence"
+msgstr "Secuencia"
+
+#. module: project_long_term
+#: selection:project.compute.phases,target_project:0
+msgid "Compute All Projects"
+msgstr "Calcular todos los proyectos"
+
+#. module: project_long_term
+#: model:ir.ui.menu,name:project_long_term.menu_view_resource_calendar_leaves
+msgid "Resource Leaves"
+msgstr "Ausencias recursos"
+
+#. module: project_long_term
+#: model:ir.actions.act_window,name:project_long_term.action_project_schedule_tasks
+#: view:project.phase:0
+#: view:project.schedule.tasks:0
+msgid "Schedule Tasks"
+msgstr "Planificar tareas"
+
+#. module: project_long_term
+#: help:project.phase,duration:0
+msgid "By default in days"
+msgstr "Por defecto en días"
+
+#. module: project_long_term
+#: field:project.phase,duration:0
+msgid "Duration"
+msgstr "Duración"
diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py
index 8588b90f5a2..f7e23c29a58 100644
--- a/addons/project_long_term/project_long_term.py
+++ b/addons/project_long_term/project_long_term.py
@@ -23,7 +23,6 @@ from datetime import datetime
from tools.translate import _
from osv import fields, osv
from resource.faces import task as Task
-from operator import itemgetter
class project_phase(osv.osv):
_name = "project.phase"
@@ -223,65 +222,7 @@ class project(osv.osv):
_inherit = "project.project"
_columns = {
'phase_ids': fields.one2many('project.phase', 'project_id', "Project Phases"),
- 'resource_calendar_id': fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report", states={'close':[('readonly',True)]} ),
}
- def _schedule_header(self, cr, uid, ids, context=None):
- context = context or {}
- if type(ids) in (long, int,):
- ids = [ids]
- projects = self.browse(cr, uid, ids, context=context)
-
- for project in projects:
- if not project.members:
- raise osv.except_osv(_('Warning !'),_("You must assign members on the project '%s' !") % (project.name,))
-
- resource_pool = self.pool.get('resource.resource')
-
- result = "from resource.faces import *\n"
- result += "import datetime\n"
- for project in self.browse(cr, uid, ids, context=context):
- u_ids = [i.id for i in project.members]
- for task in project.tasks:
- if task.state in ('done','cancelled'):
- continue
- if task.user_id and (task.user_id.id not in u_ids):
- u_ids.append(task.user_id.id)
- calendar_id = project.resource_calendar_id and project.resource_calendar_id.id or False
- resource_objs = resource_pool.generate_resources(cr, uid, u_ids, calendar_id, context=context)
- for key, vals in resource_objs.items():
- result +='''
-class User_%s(Resource):
- efficiency = %s
-''' % (key, vals.get('efficiency', False))
-
- result += '''
-def Project():
- '''
- return result
-
- def _schedule_project(self, cr, uid, project, context=None):
- resource_pool = self.pool.get('resource.resource')
- calendar_id = project.resource_calendar_id and project.resource_calendar_id.id or False
- working_days = resource_pool.compute_working_calendar(cr, uid, calendar_id, context=context)
- # TODO: check if we need working_..., default values are ok.
- result = """
- def Project_%d():
- start = \'%s\'
- working_days = %s
- resource = %s
-""" % (
- project.id,
- project.date_start, working_days,
- '|'.join(['User_'+str(x.id) for x in project.members])
- )
- vacation = calendar_id and tuple(resource_pool.compute_vacation(cr, uid, calendar_id, context=context)) or False
- if vacation:
- result+= """
- vacation = %s
-""" % ( vacation, )
- return result
-
-
def schedule_phases(self, cr, uid, ids, context=None):
context = context or {}
if type(ids) in (long, int,):
@@ -321,45 +262,6 @@ def Project():
'date_end': p.end.strftime('%Y-%m-%d %H:%M:%S')
}, context=context)
return True
-
- #TODO: DO Resource allocation and compute availability
- def compute_allocation(self, rc, uid, ids, start_date, end_date, context=None):
- if context == None:
- context = {}
- allocation = {}
- return allocation
-
- def schedule_tasks(self, cr, uid, ids, context=None):
- context = context or {}
- if type(ids) in (long, int,):
- ids = [ids]
- projects = self.browse(cr, uid, ids, context=context)
- result = self._schedule_header(cr, uid, ids, context=context)
- for project in projects:
- result += self._schedule_project(cr, uid, project, context=context)
- result += self.pool.get('project.task')._generate_task(cr, uid, project.tasks, ident=4, context=context)
-
- local_dict = {}
- exec result in local_dict
- projects_gantt = Task.BalancedProject(local_dict['Project'])
-
- for project in projects:
- project_gantt = getattr(projects_gantt, 'Project_%d' % (project.id,))
- for task in project.tasks:
- if task.state in ('done','cancelled'):
- continue
-
- p = getattr(project_gantt, 'Task_%d' % (task.id,))
-
- self.pool.get('project.task').write(cr, uid, [task.id], {
- 'date_start': p.start.strftime('%Y-%m-%d %H:%M:%S'),
- 'date_end': p.end.strftime('%Y-%m-%d %H:%M:%S')
- }, context=context)
- if (not task.user_id) and (p.booked_resource):
- self.pool.get('project.task').write(cr, uid, [task.id], {
- 'user_id': int(p.booked_resource[0].name[5:]),
- }, context=context)
- return True
project()
class project_task(osv.osv):
@@ -367,30 +269,4 @@ class project_task(osv.osv):
_columns = {
'phase_id': fields.many2one('project.phase', 'Project Phase'),
}
- def _generate_task(self, cr, uid, tasks, ident=4, context=None):
- context = context or {}
- result = ""
- ident = ' '*ident
- for task in tasks:
- if task.state in ('done','cancelled'):
- continue
- result += '''
-%sdef Task_%s():
-%s todo = \"%.2fH\"
-%s effort = \"%.2fH\"''' % (ident,task.id, ident,task.remaining_hours, ident,task.total_hours)
- start = []
- for t2 in task.parent_ids:
- start.append("up.Task_%s.end" % (t2.id,))
- if start:
- result += '''
-%s start = max(%s)
-''' % (ident,','.join(start))
-
- if task.user_id:
- result += '''
-%s resource = %s
-''' % (ident, 'User_'+str(task.user_id.id))
-
- result += "\n"
- return result
project_task()
diff --git a/addons/project_long_term/project_long_term_demo.xml b/addons/project_long_term/project_long_term_demo.xml
index 252bcdd0e9d..fe3f8c8e510 100644
--- a/addons/project_long_term/project_long_term_demo.xml
+++ b/addons/project_long_term/project_long_term_demo.xml
@@ -6,6 +6,7 @@
-->
<!-- Project Phases -->
+
<record id="project_phase_1" model="project.phase">
<field eval="[(6, 0, [])]" name="previous_phase_ids"/>
<field name="name">Collect Requirement and Make SRS</field>
@@ -15,6 +16,8 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
</record>
+ <function model="project.phase" name="set_open" eval="[ref('project_phase_1')]"/>
+
<record id="project_phase_2" model="project.phase">
<field eval="[(6, 0, [ref('project_phase_1')])]" name="previous_phase_ids"/>
<field name="name">Design Model</field>
@@ -23,7 +26,8 @@
<field name="duration">20</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
</record>
-
+ <function model="project.phase" name="set_open" eval="[ref('project_phase_2')]"/>
+
<record id="project_phase_3" model="project.phase">
<field eval="[(6, 0, [ref('project_phase_2')])]" name="previous_phase_ids"/>
<field name="name">Planning and compute Risk analysis, Time chart </field>
@@ -32,7 +36,8 @@
<field name="duration">20</field>
<field name="project_id" ref="project.project_integrate_openerp"/>
</record>
-
+ <function model="project.phase" name="set_open" eval="[ref('project_phase_3')]"/>
+
<record id="project_phase_4" model="project.phase">
<field eval="[(6, 0, [ref('project_phase_2')])]" name="previous_phase_ids"/>
<field name="name">Development and Integration</field>
@@ -60,6 +65,7 @@
<field name="project_id" ref="project.project_integrate_openerp"/>
</record>
+ <function model="project.phase" name="set_open" eval="[ref('project_phase_6')]"/>
<!-- Tasks -->
<record id="project.project_task_1" model="project.task">
diff --git a/addons/project_long_term/project_long_term_view.xml b/addons/project_long_term/project_long_term_view.xml
index dfef83e4468..cdeb0a0d63d 100644
--- a/addons/project_long_term/project_long_term_view.xml
+++ b/addons/project_long_term/project_long_term_view.xml
@@ -300,9 +300,9 @@
<field name="type">form</field>
<field name="inherit_id" ref="project.view_task_form2"/>
<field name="arch" type="xml">
- <field name="sequence" position="after">
+ <xpath expr="//field[@name='effective_hours']" position="after">
<field name="phase_id"/>
- </field>
+ </xpath>
</field>
</record>
<record id="view_phase_task_search_form" model="ir.ui.view">
@@ -324,7 +324,7 @@
<field name="inherit_id" ref="project.view_task_search_form"/>
<field name="arch" type="xml">
<filter string="Project" name="group_project_id" icon="terp-folder-violet" domain="[]" context="{'group_by':'project_id'}" position="after">
- <filter string="Project Phase" name="group_project_id_phase" icon="terp-folder-violet" domain="[]" context="{'group_by':'phase_id'}" groups="base.group_extended"/>
+ <filter string="Project Phase" name="group_project_id_phase" icon="terp-folder-violet" domain="[]" context="{'group_by':'phase_id'}" groups="base.group_extended"/>
</filter>
</field>
</record>
@@ -342,22 +342,20 @@
</record>
<act_window
+ context="{'search_default_phase_id': [active_id], 'default_phase_id' : active_id}"
id="project_phase_task_list"
name="Related Tasks"
res_model="project.task"
src_model="project.phase"
view_mode="tree,form"
- context="{'search_default_phase_id': [active_id]}"
- domain="[('phase_id', '=', active_id),('project_id','=',project_id)]"
/>
<act_window
- context="{'search_default_project_id': [active_id]}"
+ context="{'search_default_project_id': active_id, 'default_project_id': active_id}"
id="act_project_phases"
name="Phases"
res_model="project.phase"
src_model="project.project"
- domain="[('project_id', '=', active_id)]"
view_mode="tree,form"
view_type="form"
/>
@@ -367,12 +365,10 @@
# ------------------------------------------------------
<menuitem action="act_project_phase_list"
- groups="base.group_extended"
id="menu_project_phase_list" parent="project.menu_project_management" sequence="2"/>
<menuitem action="act_project_phase"
icon="STOCK_INDENT"
- groups="base.group_extended"
id="menu_project_phase" parent="base.menu_project_long_term" sequence="1"/>
<menuitem id="menu_resouce_allocation" action="act_resouce_allocation"
@@ -381,12 +377,12 @@
<menuitem id="menu_pm_users_project1"
groups="base.group_extended"
- name="Users" parent="project.menu_definitions" sequence="3"/>
+ name="Resources" parent="project.menu_definitions" sequence="3"/>
<menuitem id="menu_phase_schedule" name="Scheduling" parent="base.menu_main_pm" sequence="4" groups="project.group_project_user,project.group_project_manager"/>
<menuitem action="resource.action_resource_resource_tree" id="menu_view_resource" parent="menu_pm_users_project1" sequence="2"/>
- <menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar" parent="menu_pm_users_project1" sequence="1"/>
- <menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves" parent="menu_pm_users_project1" sequence="1"/>
+ <menuitem action="resource.action_resource_calendar_form" id="menu_view_resource_calendar" parent="menu_pm_users_project1" sequence="5"/>
+ <menuitem action="resource.action_resource_calendar_leave_tree" id="menu_view_resource_calendar_leaves" parent="menu_pm_users_project1" sequence="3"/>
</data>
</openerp>