[REM] web_gantt
@@ -272,16 +272,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- CRM Meeting Gantt -->
|
||||
|
||||
<record id="view_calendar_event_gantt" model="ir.ui.view">
|
||||
<field name="name">CRM - Meetings Gantt</field>
|
||||
<field name="model">calendar.event</field>
|
||||
<field name="arch" type="xml">
|
||||
<gantt date_delay="duration" date_start="start" string="Meetings"/>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- CRM Meeting Search View -->
|
||||
<record id="view_calendar_event_search" model="ir.ui.view">
|
||||
<field name="name">CRM - Meetings Search</field>
|
||||
@@ -310,7 +300,7 @@
|
||||
<record id="action_calendar_event" model="ir.actions.act_window">
|
||||
<field name="name">Meetings</field>
|
||||
<field name="res_model">calendar.event</field>
|
||||
<field name="view_mode">calendar,tree,form,gantt</field>
|
||||
<field name="view_mode">calendar,tree,form</field>
|
||||
<field name="view_id" ref="view_calendar_event_calendar"/>
|
||||
<field name="search_view_id" ref="view_calendar_event_search"/>
|
||||
<field name="help" type="html">
|
||||
@@ -341,12 +331,6 @@
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="view_calendar_event_form"/>
|
||||
</record>
|
||||
<record model="ir.actions.act_window.view" id="action_view_calendar_event_gantt">
|
||||
<field name="act_window_id" ref="action_calendar_event"/>
|
||||
<field name="sequence" eval="4"/>
|
||||
<field name="view_mode">gantt</field>
|
||||
<field name="view_id" ref="view_calendar_event_gantt"/>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
@@ -359,7 +343,7 @@
|
||||
<record id="action_calendar_event_notify" model="ir.actions.act_window">
|
||||
<field name="name">Meetings</field>
|
||||
<field name="res_model">calendar.event</field>
|
||||
<field name="view_mode">form,calendar,tree,gantt</field>
|
||||
<field name="view_mode">form,calendar,tree</field>
|
||||
<field name="view_id" ref="view_calendar_event_form"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<field name="name">Meetings</field>
|
||||
<field name="src_model">res.partner</field>
|
||||
<field name="res_model">calendar.event</field>
|
||||
<field name="view_mode">calendar,tree,form,gantt</field>
|
||||
<field name="view_mode">calendar,tree,form</field>
|
||||
<field name="context">{'default_partner_ids': [active_id], 'search_default_partner_ids': [active_id]}</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -656,7 +656,7 @@
|
||||
name="Leave Meetings"
|
||||
src_model="hr.holidays"
|
||||
res_model="calendar.event"
|
||||
view_mode="tree,form,calendar,gantt"
|
||||
view_mode="tree,form,calendar"
|
||||
view_type="form"/>
|
||||
|
||||
<record id="hr_holidays_action_request_from_department" model="ir.actions.act_window">
|
||||
|
||||
@@ -802,14 +802,6 @@
|
||||
</calendar>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_production_gantt" model="ir.ui.view">
|
||||
<field name="name">mrp.production.gantt</field>
|
||||
<field name="model">mrp.production</field>
|
||||
<field name="arch" type="xml">
|
||||
<gantt date_stop="date_finished" date_start="date_start" progress="progress" string="Productions" default_group_by="routing_id">
|
||||
</gantt>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_production_pivot" model="ir.ui.view">
|
||||
<field name="name">mrp.production.pivot</field>
|
||||
<field name="model">mrp.production</field>
|
||||
@@ -864,7 +856,7 @@
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">mrp.production</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,kanban,form,calendar,pivot,graph,gantt</field>
|
||||
<field name="view_mode">tree,kanban,form,calendar,pivot,graph</field>
|
||||
<field name="view_id" eval="False"/>
|
||||
<field name="search_view_id" ref="view_mrp_production_filter"/>
|
||||
<field name="context">{}</field>
|
||||
|
||||
@@ -152,16 +152,6 @@
|
||||
</record>
|
||||
|
||||
|
||||
<record id="workcenter_line_gantt" model="ir.ui.view">
|
||||
<field name="name">mrp.production.workcenter.line.gantt</field>
|
||||
<field name="model">mrp.production.workcenter.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<gantt date_delay="hour" date_start="date_planned" string="Operations" default_group_by="production_id">
|
||||
</gantt>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Action for All Operations -->
|
||||
|
||||
<record model="ir.actions.act_window" id="mrp_production_wc_action_form">
|
||||
@@ -169,7 +159,7 @@
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">mrp.production.workcenter.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,gantt,calendar,graph</field>
|
||||
<field name="view_mode">tree,form,calendar,graph</field>
|
||||
<field name="search_view_id" ref="view_mrp_production_workcenter_form_view_filter"/>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
@@ -191,7 +181,7 @@
|
||||
<field name="res_model">mrp.production.workcenter.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[('production_state','in',('ready','confirmed','in_production'))]</field>
|
||||
<field name="view_mode">gantt,tree,form,graph,calendar</field>
|
||||
<field name="view_mode">tree,form,graph,calendar</field>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to start a new work order.
|
||||
@@ -205,24 +195,13 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="workcenter_line_resource_gantt" model="ir.ui.view">
|
||||
<field name="name">mrp.production.workcenter.line.resource.gantt</field>
|
||||
<field name="model">mrp.production.workcenter.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<gantt date_delay="hour" date_start="date_planned" default_group_by="workcenter_id">
|
||||
</gantt>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="mrp_production_wc_resource_planning">
|
||||
<field name="name">Work Centers</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">mrp.production.workcenter.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="domain">[('production_state','in',('ready','confirmed','in_production'))]</field>
|
||||
<field name="view_mode">gantt,tree,form,calendar,graph</field>
|
||||
<field name="view_id" ref="workcenter_line_resource_gantt"/>
|
||||
<field name="view_mode">tree,form,calendar,graph</field>
|
||||
</record>
|
||||
|
||||
<!-- Action for Confirm Operations -->
|
||||
@@ -232,7 +211,7 @@
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">mrp.production.workcenter.line</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,graph,gantt,calendar</field>
|
||||
<field name="view_mode">tree,form,graph,calendar</field>
|
||||
<field name="domain">[('production_state','=','ready')]</field>
|
||||
<field name="filter" eval="True"/>
|
||||
</record>
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
<record id="act_project_project_2_project_task_all" model="ir.actions.act_window">
|
||||
<field name="name">Tasks</field>
|
||||
<field name="res_model">project.task</field>
|
||||
<field name="view_mode">kanban,tree,form,calendar,gantt,pivot,graph</field>
|
||||
<field name="view_mode">kanban,tree,form,calendar,pivot,graph</field>
|
||||
<field name="context">{
|
||||
'search_default_project_id': [active_id],
|
||||
'default_project_id': active_id,
|
||||
@@ -299,15 +299,6 @@
|
||||
<field name="date_last_stage_update" groups="base.group_no_one"/>
|
||||
</group>
|
||||
</group>
|
||||
<group groups="project.group_time_work_estimation_tasks">
|
||||
<group string="Gantt View">
|
||||
<p class="oe_grey" colspan='2'>
|
||||
Assign dates to make this task appear in the gantt chart ( <i class="fa fa-tasks"> </i> icon on the top right)
|
||||
</p>
|
||||
<field name="date_start"/>
|
||||
<field name="date_end"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
@@ -421,16 +412,6 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_task_gantt" model="ir.ui.view">
|
||||
<field name="name">project.task.gantt</field>
|
||||
<field name="model">project.task</field>
|
||||
<field eval="2" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<gantt date_start="date_start" date_stop="date_end" progress="progress" string="Tasks" default_group_by="project_id">
|
||||
</gantt>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_project_task_pivot" model="ir.ui.view">
|
||||
<field name="name">project.task.pivot</field>
|
||||
<field name="model">project.task</field>
|
||||
@@ -469,7 +450,7 @@
|
||||
<record id="action_view_task" model="ir.actions.act_window">
|
||||
<field name="name">Tasks</field>
|
||||
<field name="res_model">project.task</field>
|
||||
<field name="view_mode">kanban,tree,form,calendar,gantt,pivot,graph</field>
|
||||
<field name="view_mode">kanban,tree,form,calendar,pivot,graph</field>
|
||||
<field name="search_view_id" ref="view_task_search_form"/>
|
||||
<field name="help" type="html">
|
||||
<p>
|
||||
@@ -505,7 +486,7 @@
|
||||
<field name="res_model">project.task</field>
|
||||
<field name="name">Project's tasks</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form,calendar,graph,gantt,kanban</field>
|
||||
<field name="view_mode">tree,form,calendar,graph,kanban</field>
|
||||
<field name="domain">[('project_id', 'child_of', [active_id])]</field>
|
||||
<field name="context">{'project_id':active_id, 'active_test':False}</field>
|
||||
</record>
|
||||
@@ -624,7 +605,7 @@
|
||||
<!-- User Form -->
|
||||
<act_window context="{'search_default_user_id': [active_id], 'default_user_id': active_id}"
|
||||
id="act_res_users_2_project_task_opened" name="Assigned Tasks"
|
||||
res_model="project.task" src_model="res.users" view_mode="tree,form,gantt,calendar,graph" view_type="form"/>
|
||||
res_model="project.task" src_model="res.users" view_mode="tree,form,calendar,graph" view_type="form"/>
|
||||
|
||||
<!-- Tags -->
|
||||
<record model="ir.ui.view" id="project_tags_search_view">
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
{
|
||||
'name': 'Web Gantt',
|
||||
'category': 'Hidden',
|
||||
'description': """
|
||||
OpenERP Web Gantt chart view.
|
||||
=============================
|
||||
|
||||
""",
|
||||
'version': '2.0',
|
||||
'depends': ['web'],
|
||||
'data' : [
|
||||
'views/web_gantt.xml',
|
||||
],
|
||||
'qweb': [
|
||||
'static/src/xml/*.xml',
|
||||
],
|
||||
'auto_install': True
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
# Arabic translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Arabic <ar@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "إنشاء"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "جانت"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Bulgarian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bulgarian <bg@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Създай"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr ""
|
||||
@@ -1,32 +0,0 @@
|
||||
# Bengali translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bengali <bn@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "তৈরি করুন"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "জ্ঞান্ট"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Bosnian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Bosnian <bs@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Kreiraj"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gant"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Catalan translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-09-13 13:36+0000\n"
|
||||
"Last-Translator: Jordi Soldevila <jordisoldevila@yahoo.es>\n"
|
||||
"Language-Team: Catalan <ca@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: 2014-09-14 08:34+0000\n"
|
||||
"X-Generator: Launchpad (build 17196)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crea"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gràfic de Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Czech translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Czech <cs@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Vytvořit"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Danish translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Danish <da@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Opret"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# German translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: German <de@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Anlegen"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Greek translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Greek <el@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Δημιουργία"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# English (Australia) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English (Australia) <en_AU@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Create"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# English (United Kingdom) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English (United Kingdom) <en_GB@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Create"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Spanish translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Spanish (Argentina) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Argentina) <es_AR@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Spanish (Chile) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Chile) <es_CL@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Spanish (Costa Rica) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Costa Rica) <es_CR@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Spanish (Dominican Republic) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Dominican Republic) <es_DO@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Spanish (Ecuador) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Ecuador) <es_EC@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Spanish (Mexico) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Spanish (Mexico) <es_MX@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Estonian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Estonian <et@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Loo"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Persian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Persian <fa@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "ایجاد"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "گانت"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Finnish translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Finnish <fi@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Luo"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt-kaavio"
|
||||
@@ -1,32 +0,0 @@
|
||||
# French translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: French <fr@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Créer"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Galician translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Galician <gl@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crear"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Gujarati translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Gujarati <gu@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "બનાવો"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr ""
|
||||
@@ -1,32 +0,0 @@
|
||||
# Hebrew translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hebrew <he@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "צור"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "גאנט"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Croatian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Croatian <hr@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Kreiraj"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantogram"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Hungarian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Hungarian <hu@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Létrehozás"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Italian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Italian <it@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Crea"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Japanese translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Japanese <ja@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "作成"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "ガント"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Georgian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Georgian <ka@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "შექმნა"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "განტი"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Korean translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Korean <ko@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "생성"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "간트"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Lao translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Lao <lo@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "ເເກ້ນ"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "ເເກ້ນ"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Lithuanian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Lithuanian <lt@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Sukurti"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Ganto diagrama"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Macedonian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Macedonian <mk@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Креирај"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Гантограм"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Mongolian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Mongolian <mn@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Үүсгэх"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Гантт"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Norwegian Bokmal translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Norwegian Bokmal <nb@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Opprett"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Dutch translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch <nl@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Aanmaken"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Dutch (Belgium) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Dutch (Belgium) <nl_BE@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Maken"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Polish translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Polish <pl@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Utwórz"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Wykres Gantta"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Portuguese translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Portuguese <pt@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Criar"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Brazilian Portuguese translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Brazilian Portuguese <pt_BR@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Criar"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Romanian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Romanian <ro@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Creeaza"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Russian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Russian <ru@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Создать"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Диаграмма Ганта"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Slovenian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Slovenian <sl@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Ustvari"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Albanian translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Albanian <sq@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr ""
|
||||
@@ -1,32 +0,0 @@
|
||||
# Serbian Latin translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Serbian Latin <sr@latin@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Kreiraj"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantov dijagram"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Swedish translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Swedish <sv@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Skapa"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Thai translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Thai <th@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "สร้าง"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "แกนต์"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Turkish translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Turkish <tr@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Oluştur"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Gantt"
|
||||
@@ -1,32 +0,0 @@
|
||||
# Vietnamese translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Vietnamese <vi@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "Tạo mới"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "Biểu đồ Gantt"
|
||||
@@ -1,31 +0,0 @@
|
||||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_gantt
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 9.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-08-25 09:00+0000\n"
|
||||
"PO-Revision-Date: 2015-08-25 09:00+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:5
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr ""
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:19
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr ""
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
# Chinese (Simplified) translation for openerp-web
|
||||
# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
|
||||
# This file is distributed under the same license as the openerp-web package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openerp-web\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2014-08-14 13:09+0000\n"
|
||||
"PO-Revision-Date: 2014-08-14 16:14+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Chinese (Simplified) <zh_CN@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: 2014-08-15 08:24+0000\n"
|
||||
"X-Generator: Launchpad (build 17156)\n"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/xml/web_gantt.xml:10
|
||||
#, python-format
|
||||
msgid "Create"
|
||||
msgstr "创建"
|
||||
|
||||
#. module: web_gantt
|
||||
#. openerp-web
|
||||
#: code:addons/web_gantt/static/src/js/gantt.js:11
|
||||
#, python-format
|
||||
msgid "Gantt"
|
||||
msgstr "甘特图"
|
||||
@@ -1,903 +0,0 @@
|
||||
dhtmlxAjax={
|
||||
get:function(url,callback){
|
||||
var t=new dtmlXMLLoaderObject(true);
|
||||
t.async=(arguments.length<3);
|
||||
t.waitCall=callback;
|
||||
t.loadXML(url)
|
||||
return t;
|
||||
},
|
||||
post:function(url,post,callback){
|
||||
var t=new dtmlXMLLoaderObject(true);
|
||||
t.async=(arguments.length<4);
|
||||
t.waitCall=callback;
|
||||
t.loadXML(url,true,post)
|
||||
return t;
|
||||
},
|
||||
getSync:function(url){
|
||||
return this.get(url,null,true)
|
||||
},
|
||||
postSync:function(url,post){
|
||||
return this.post(url,post,null,true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: xmlLoader object
|
||||
* @type: private
|
||||
* @param: funcObject - xml parser function
|
||||
* @param: object - jsControl object
|
||||
* @param: async - sync/async mode (async by default)
|
||||
* @param: rSeed - enable/disable random seed ( prevent IE caching)
|
||||
* @topic: 0
|
||||
*/
|
||||
function dtmlXMLLoaderObject(funcObject, dhtmlObject, async, rSeed){
|
||||
this.xmlDoc="";
|
||||
|
||||
if (typeof (async) != "undefined")
|
||||
this.async=async;
|
||||
else
|
||||
this.async=true;
|
||||
|
||||
this.onloadAction=funcObject||null;
|
||||
this.mainObject=dhtmlObject||null;
|
||||
this.waitCall=null;
|
||||
this.rSeed=rSeed||false;
|
||||
return this;
|
||||
};
|
||||
/**
|
||||
* @desc: xml loading handler
|
||||
* @type: private
|
||||
* @param: dtmlObject - xmlLoader object
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){
|
||||
var once = true;
|
||||
this.check=function (){
|
||||
if ((dhtmlObject)&&(dhtmlObject.onloadAction != null)){
|
||||
if ((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){
|
||||
if (!once)
|
||||
return;
|
||||
|
||||
once=false; //IE 5 fix
|
||||
if (typeof dhtmlObject.onloadAction == "function")
|
||||
dhtmlObject.onloadAction(dhtmlObject.mainObject, null, null, null, dhtmlObject);
|
||||
|
||||
if (dhtmlObject.waitCall){
|
||||
dhtmlObject.waitCall.call(this,dhtmlObject);
|
||||
dhtmlObject.waitCall=null;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
return this.check;
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc: return XML top node
|
||||
* @param: tagName - top XML node tag name (not used in IE, required for Safari and Mozilla)
|
||||
* @type: private
|
||||
* @returns: top XML node
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName, oldObj){
|
||||
if (this.xmlDoc.responseXML){
|
||||
var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName);
|
||||
if(temp.length==0 && tagName.indexOf(":")!=-1)
|
||||
var temp = this.xmlDoc.responseXML.getElementsByTagName((tagName.split(":"))[1]);
|
||||
var z = temp[0];
|
||||
} else
|
||||
var z = this.xmlDoc.documentElement;
|
||||
|
||||
if (z){
|
||||
this._retry=false;
|
||||
return z;
|
||||
}
|
||||
|
||||
if ((_isIE)&&(!this._retry)){
|
||||
//fall back to MS.XMLDOM
|
||||
var xmlString = this.xmlDoc.responseText;
|
||||
var oldObj = this.xmlDoc;
|
||||
this._retry=true;
|
||||
this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
|
||||
this.xmlDoc.async=false;
|
||||
this.xmlDoc["loadXM"+"L"](xmlString);
|
||||
|
||||
return this.getXMLTopNode(tagName, oldObj);
|
||||
}
|
||||
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
|
||||
(oldObj||this.xmlDoc),
|
||||
this.mainObject
|
||||
]);
|
||||
|
||||
return document.createElement("DIV");
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc: load XML from string
|
||||
* @type: private
|
||||
* @param: xmlString - xml string
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString){
|
||||
{
|
||||
try{
|
||||
var parser = new DOMParser();
|
||||
this.xmlDoc=parser.parseFromString(xmlString, "text/xml");
|
||||
}
|
||||
catch (e){
|
||||
this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
|
||||
this.xmlDoc.async=this.async;
|
||||
this.xmlDoc["loadXM"+"L"](xmlString);
|
||||
}
|
||||
}
|
||||
|
||||
this.onloadAction(this.mainObject, null, null, null, this);
|
||||
|
||||
if (this.waitCall){
|
||||
this.waitCall();
|
||||
this.waitCall=null;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @desc: load XML
|
||||
* @type: private
|
||||
* @param: filePath - xml file path
|
||||
* @param: postMode - send POST request
|
||||
* @param: postVars - list of vars for post request
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.loadXML=function(filePath, postMode, postVars, rpc){
|
||||
if (this.rSeed)
|
||||
filePath+=((filePath.indexOf("?") != -1) ? "&" : "?")+"a_dhx_rSeed="+(new Date()).valueOf();
|
||||
this.filePath=filePath;
|
||||
|
||||
if ((!_isIE)&&(window.XMLHttpRequest))
|
||||
this.xmlDoc=new XMLHttpRequest();
|
||||
else {
|
||||
if (document.implementation&&document.implementation.createDocument){
|
||||
this.xmlDoc=document.implementation.createDocument("", "", null);
|
||||
this.xmlDoc.onload=new this.waitLoadFunction(this);
|
||||
this.xmlDoc.load(filePath);
|
||||
return;
|
||||
} else
|
||||
this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
|
||||
if (this.async)
|
||||
this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this);
|
||||
this.xmlDoc.open(postMode ? "POST" : "GET", filePath, this.async);
|
||||
|
||||
if (rpc){
|
||||
this.xmlDoc.setRequestHeader("User-Agent", "dhtmlxRPC v0.1 ("+navigator.userAgent+")");
|
||||
this.xmlDoc.setRequestHeader("Content-type", "text/xml");
|
||||
}
|
||||
|
||||
else if (postMode)
|
||||
this.xmlDoc.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
||||
|
||||
this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest");
|
||||
this.xmlDoc.send(null||postVars);
|
||||
|
||||
if (!this.async)
|
||||
(new this.waitLoadFunction(this))();
|
||||
};
|
||||
/**
|
||||
* @desc: destructor, cleans used memory
|
||||
* @type: private
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.destructor=function(){
|
||||
this._filterXPath = null;
|
||||
this._getAllNamedChilds = null;
|
||||
this._retry = null;
|
||||
this.async = null;
|
||||
this.rSeed = null;
|
||||
this.filePath = null;
|
||||
this.onloadAction = null;
|
||||
this.mainObject = null;
|
||||
this.xmlDoc = null;
|
||||
this.doXPath = null;
|
||||
this.doXPathOpera = null;
|
||||
this.doXSLTransToObject = null;
|
||||
this.doXSLTransToString = null;
|
||||
this.loadXML = null;
|
||||
this.loadXMLString = null;
|
||||
// this.waitLoadFunction = null;
|
||||
this.doSerialization = null;
|
||||
this.xmlNodeToJSON = null;
|
||||
this.getXMLTopNode = null;
|
||||
this.setXSLParamValue = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype.xmlNodeToJSON = function(node){
|
||||
var t={};
|
||||
for (var i=0; i<node.attributes.length; i++)
|
||||
t[node.attributes[i].name]=node.attributes[i].value;
|
||||
t["_tagvalue"]=node.firstChild?node.firstChild.nodeValue:"";
|
||||
for (var i=0; i<node.childNodes.length; i++){
|
||||
var name=node.childNodes[i].tagName;
|
||||
if (name){
|
||||
if (!t[name]) t[name]=[];
|
||||
t[name].push(this.xmlNodeToJSON(node.childNodes[i]));
|
||||
}
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: Call wrapper
|
||||
* @type: private
|
||||
* @param: funcObject - action handler
|
||||
* @param: dhtmlObject - user data
|
||||
* @returns: function handler
|
||||
* @topic: 0
|
||||
*/
|
||||
function callerFunction(funcObject, dhtmlObject){
|
||||
this.handler=function(e){
|
||||
if (!e)
|
||||
e=window.event;
|
||||
funcObject(e, dhtmlObject);
|
||||
return true;
|
||||
};
|
||||
return this.handler;
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc: Calculate absolute position of html object
|
||||
* @type: private
|
||||
* @param: htmlObject - html object
|
||||
* @topic: 0
|
||||
*/
|
||||
function getAbsoluteLeft(htmlObject){
|
||||
return getOffset(htmlObject).left;
|
||||
}
|
||||
/**
|
||||
* @desc: Calculate absolute position of html object
|
||||
* @type: private
|
||||
* @param: htmlObject - html object
|
||||
* @topic: 0
|
||||
*/
|
||||
function getAbsoluteTop(htmlObject){
|
||||
return getOffset(htmlObject).top;
|
||||
}
|
||||
|
||||
function getOffsetSum(elem) {
|
||||
var top=0, left=0;
|
||||
while(elem) {
|
||||
top = top + parseInt(elem.offsetTop);
|
||||
left = left + parseInt(elem.offsetLeft);
|
||||
elem = elem.offsetParent;
|
||||
}
|
||||
return {top: top, left: left};
|
||||
}
|
||||
function getOffsetRect(elem) {
|
||||
var box = elem.getBoundingClientRect();
|
||||
var body = document.body;
|
||||
var docElem = document.documentElement;
|
||||
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
|
||||
var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
|
||||
var clientTop = docElem.clientTop || body.clientTop || 0;
|
||||
var clientLeft = docElem.clientLeft || body.clientLeft || 0;
|
||||
var top = box.top + scrollTop - clientTop;
|
||||
var left = box.left + scrollLeft - clientLeft;
|
||||
return { top: Math.round(top), left: Math.round(left) };
|
||||
}
|
||||
function getOffset(elem) {
|
||||
if (elem.getBoundingClientRect) {
|
||||
return getOffsetRect(elem);
|
||||
} else {
|
||||
return getOffsetSum(elem);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: Convert string to it boolean representation
|
||||
* @type: private
|
||||
* @param: inputString - string for covertion
|
||||
* @topic: 0
|
||||
*/
|
||||
function convertStringToBoolean(inputString){
|
||||
if (typeof (inputString) == "string")
|
||||
inputString=inputString.toLowerCase();
|
||||
|
||||
switch (inputString){
|
||||
case "1":
|
||||
case "true":
|
||||
case "yes":
|
||||
case "y":
|
||||
case 1:
|
||||
case true:
|
||||
return true;
|
||||
break;
|
||||
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: find out what symbol to use as url param delimiters in further params
|
||||
* @type: private
|
||||
* @param: str - current url string
|
||||
* @topic: 0
|
||||
*/
|
||||
function getUrlSymbol(str){
|
||||
if (str.indexOf("?") != -1)
|
||||
return "&"
|
||||
else
|
||||
return "?"
|
||||
}
|
||||
|
||||
function dhtmlDragAndDropObject(){
|
||||
if (window.dhtmlDragAndDrop)
|
||||
return window.dhtmlDragAndDrop;
|
||||
|
||||
this.lastLanding=0;
|
||||
this.dragNode=0;
|
||||
this.dragStartNode=0;
|
||||
this.dragStartObject=0;
|
||||
this.tempDOMU=null;
|
||||
this.tempDOMM=null;
|
||||
this.waitDrag=0;
|
||||
window.dhtmlDragAndDrop=this;
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
dhtmlDragAndDropObject.prototype.removeDraggableItem=function(htmlNode){
|
||||
htmlNode.onmousedown=null;
|
||||
htmlNode.dragStarter=null;
|
||||
htmlNode.dragLanding=null;
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.addDraggableItem=function(htmlNode, dhtmlObject){
|
||||
htmlNode.onmousedown=this.preCreateDragCopy;
|
||||
htmlNode.dragStarter=dhtmlObject;
|
||||
this.addDragLanding(htmlNode, dhtmlObject);
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.addDragLanding=function(htmlNode, dhtmlObject){
|
||||
htmlNode.dragLanding=dhtmlObject;
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(e){
|
||||
if ((e||window.event) && (e||event).button == 2)
|
||||
return;
|
||||
|
||||
if (window.dhtmlDragAndDrop.waitDrag){
|
||||
window.dhtmlDragAndDrop.waitDrag=0;
|
||||
document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU;
|
||||
document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM;
|
||||
return false;
|
||||
}
|
||||
|
||||
window.dhtmlDragAndDrop.waitDrag=1;
|
||||
window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup;
|
||||
window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove;
|
||||
window.dhtmlDragAndDrop.dragStartNode=this;
|
||||
window.dhtmlDragAndDrop.dragStartObject=this.dragStarter;
|
||||
document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy;
|
||||
document.body.onmousemove=window.dhtmlDragAndDrop.callDrag;
|
||||
window.dhtmlDragAndDrop.downtime = new Date().valueOf();
|
||||
|
||||
|
||||
if ((e)&&(e.preventDefault)){
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
dhtmlDragAndDropObject.prototype.callDrag=function(e){
|
||||
if (!e)
|
||||
e=window.event;
|
||||
dragger=window.dhtmlDragAndDrop;
|
||||
if ((new Date()).valueOf()-dragger.downtime<100) return;
|
||||
|
||||
if ((e.button == 0)&&(_isIE))
|
||||
return dragger.stopDrag();
|
||||
|
||||
if (!dragger.dragNode&&dragger.waitDrag){
|
||||
dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode, e);
|
||||
|
||||
if (!dragger.dragNode)
|
||||
return dragger.stopDrag();
|
||||
|
||||
dragger.dragNode.onselectstart=function(){return false;}
|
||||
dragger.gldragNode=dragger.dragNode;
|
||||
document.body.appendChild(dragger.dragNode);
|
||||
document.body.onmouseup=dragger.stopDrag;
|
||||
dragger.waitDrag=0;
|
||||
dragger.dragNode.pWindow=window;
|
||||
dragger.initFrameRoute();
|
||||
}
|
||||
|
||||
if (dragger.dragNode.parentNode != window.document.body){
|
||||
var grd = dragger.gldragNode;
|
||||
|
||||
if (dragger.gldragNode.old)
|
||||
grd=dragger.gldragNode.old;
|
||||
|
||||
//if (!document.all) dragger.calculateFramePosition();
|
||||
grd.parentNode.removeChild(grd);
|
||||
var oldBody = dragger.dragNode.pWindow;
|
||||
|
||||
if (grd.pWindow && grd.pWindow.dhtmlDragAndDrop.lastLanding)
|
||||
grd.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(grd.pWindow.dhtmlDragAndDrop.lastLanding);
|
||||
|
||||
// var oldp=dragger.dragNode.parentObject;
|
||||
if (_isIE){
|
||||
var div = document.createElement("Div");
|
||||
div.innerHTML=dragger.dragNode.outerHTML;
|
||||
dragger.dragNode=div.childNodes[0];
|
||||
} else
|
||||
dragger.dragNode=dragger.dragNode.cloneNode(true);
|
||||
|
||||
dragger.dragNode.pWindow=window;
|
||||
// dragger.dragNode.parentObject=oldp;
|
||||
|
||||
dragger.gldragNode.old=dragger.dragNode;
|
||||
document.body.appendChild(dragger.dragNode);
|
||||
oldBody.dhtmlDragAndDrop.dragNode=dragger.dragNode;
|
||||
}
|
||||
|
||||
dragger.dragNode.style.left=e.clientX+15+(dragger.fx
|
||||
? dragger.fx*(-1)
|
||||
: 0)
|
||||
+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px";
|
||||
dragger.dragNode.style.top=e.clientY+3+(dragger.fy
|
||||
? dragger.fy*(-1)
|
||||
: 0)
|
||||
+(document.body.scrollTop||document.documentElement.scrollTop)+"px";
|
||||
|
||||
if (!e.srcElement)
|
||||
var z = e.target;
|
||||
else
|
||||
z=e.srcElement;
|
||||
dragger.checkLanding(z, e);
|
||||
}
|
||||
|
||||
dhtmlDragAndDropObject.prototype.calculateFramePosition=function(n){
|
||||
//this.fx = 0, this.fy = 0;
|
||||
if (window.name){
|
||||
var el = parent.frames[window.name].frameElement.offsetParent;
|
||||
var fx = 0;
|
||||
var fy = 0;
|
||||
|
||||
while (el){
|
||||
fx+=el.offsetLeft;
|
||||
fy+=el.offsetTop;
|
||||
el=el.offsetParent;
|
||||
}
|
||||
|
||||
if ((parent.dhtmlDragAndDrop)){
|
||||
var ls = parent.dhtmlDragAndDrop.calculateFramePosition(1);
|
||||
fx+=ls.split('_')[0]*1;
|
||||
fy+=ls.split('_')[1]*1;
|
||||
}
|
||||
|
||||
if (n)
|
||||
return fx+"_"+fy;
|
||||
else
|
||||
this.fx=fx;
|
||||
this.fy=fy;
|
||||
}
|
||||
return "0_0";
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.checkLanding=function(htmlObject, e){
|
||||
if ((htmlObject)&&(htmlObject.dragLanding)){
|
||||
if (this.lastLanding)
|
||||
this.lastLanding.dragLanding._dragOut(this.lastLanding);
|
||||
this.lastLanding=htmlObject;
|
||||
this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding, this.dragStartNode, e.clientX,
|
||||
e.clientY, e);
|
||||
this.lastLanding_scr=(_isIE ? e.srcElement : e.target);
|
||||
} else {
|
||||
if ((htmlObject)&&(htmlObject.tagName != "BODY"))
|
||||
this.checkLanding(htmlObject.parentNode, e);
|
||||
else {
|
||||
if (this.lastLanding)
|
||||
this.lastLanding.dragLanding._dragOut(this.lastLanding, e.clientX, e.clientY, e);
|
||||
this.lastLanding=0;
|
||||
|
||||
if (this._onNotFound)
|
||||
this._onNotFound();
|
||||
}
|
||||
}
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.stopDrag=function(e, mode){
|
||||
dragger=window.dhtmlDragAndDrop;
|
||||
|
||||
if (!mode){
|
||||
dragger.stopFrameRoute();
|
||||
var temp = dragger.lastLanding;
|
||||
dragger.lastLanding=null;
|
||||
|
||||
if (temp)
|
||||
temp.dragLanding._drag(dragger.dragStartNode, dragger.dragStartObject, temp, (_isIE
|
||||
? event.srcElement
|
||||
: e.target));
|
||||
}
|
||||
dragger.lastLanding=null;
|
||||
|
||||
if ((dragger.dragNode)&&(dragger.dragNode.parentNode == document.body))
|
||||
dragger.dragNode.parentNode.removeChild(dragger.dragNode);
|
||||
dragger.dragNode=0;
|
||||
dragger.gldragNode=0;
|
||||
dragger.fx=0;
|
||||
dragger.fy=0;
|
||||
dragger.dragStartNode=0;
|
||||
dragger.dragStartObject=0;
|
||||
document.body.onmouseup=dragger.tempDOMU;
|
||||
document.body.onmousemove=dragger.tempDOMM;
|
||||
dragger.tempDOMU=null;
|
||||
dragger.tempDOMM=null;
|
||||
dragger.waitDrag=0;
|
||||
}
|
||||
|
||||
dhtmlDragAndDropObject.prototype.stopFrameRoute=function(win){
|
||||
if (win)
|
||||
window.dhtmlDragAndDrop.stopDrag(1, 1);
|
||||
|
||||
for (var i = 0; i < window.frames.length; i++){
|
||||
try{
|
||||
if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop))
|
||||
window.frames[i].dhtmlDragAndDrop.stopFrameRoute(window);
|
||||
} catch(e){}
|
||||
}
|
||||
|
||||
try{
|
||||
if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win))
|
||||
parent.dhtmlDragAndDrop.stopFrameRoute(window);
|
||||
} catch(e){}
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.initFrameRoute=function(win, mode){
|
||||
if (win){
|
||||
window.dhtmlDragAndDrop.preCreateDragCopy();
|
||||
window.dhtmlDragAndDrop.dragStartNode=win.dhtmlDragAndDrop.dragStartNode;
|
||||
window.dhtmlDragAndDrop.dragStartObject=win.dhtmlDragAndDrop.dragStartObject;
|
||||
window.dhtmlDragAndDrop.dragNode=win.dhtmlDragAndDrop.dragNode;
|
||||
window.dhtmlDragAndDrop.gldragNode=win.dhtmlDragAndDrop.dragNode;
|
||||
window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag;
|
||||
window.waitDrag=0;
|
||||
|
||||
if (((!_isIE)&&(mode))&&((!_isFF)||(_FFrv < 1.8)))
|
||||
window.dhtmlDragAndDrop.calculateFramePosition();
|
||||
}
|
||||
try{
|
||||
if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win))
|
||||
parent.dhtmlDragAndDrop.initFrameRoute(window);
|
||||
}catch(e){}
|
||||
|
||||
for (var i = 0; i < window.frames.length; i++){
|
||||
try{
|
||||
if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop))
|
||||
window.frames[i].dhtmlDragAndDrop.initFrameRoute(window, ((!win||mode) ? 1 : 0));
|
||||
} catch(e){}
|
||||
}
|
||||
}
|
||||
|
||||
var _isFF = false;
|
||||
var _isIE = false;
|
||||
var _isOpera = false;
|
||||
var _isKHTML = false;
|
||||
var _isMacOS = false;
|
||||
var _isChrome = false;
|
||||
|
||||
if (navigator.userAgent.indexOf('Macintosh') != -1)
|
||||
_isMacOS=true;
|
||||
|
||||
|
||||
if (navigator.userAgent.toLowerCase().indexOf('chrome')>-1)
|
||||
_isChrome=true;
|
||||
|
||||
if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){
|
||||
var _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5));
|
||||
|
||||
if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+
|
||||
_isFF=true;
|
||||
var _FFrv = 1.9;
|
||||
} else
|
||||
_isKHTML=true;
|
||||
} else if (navigator.userAgent.indexOf('Opera') != -1){
|
||||
_isOpera=true;
|
||||
_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3));
|
||||
}
|
||||
|
||||
|
||||
else if (navigator.appName.indexOf("Microsoft") != -1){
|
||||
_isIE=true;
|
||||
if (navigator.appVersion.indexOf("MSIE 8.0")!= -1 && document.compatMode != "BackCompat") _isIE=8;
|
||||
} else {
|
||||
_isFF=true;
|
||||
var _FFrv = parseFloat(navigator.userAgent.split("rv:")[1])
|
||||
}
|
||||
|
||||
|
||||
//multibrowser Xpath processor
|
||||
dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){
|
||||
if (_isKHTML || (!_isIE && !window.XPathResult))
|
||||
return this.doXPathOpera(xpathExp, docObj);
|
||||
|
||||
if (_isIE){ //IE
|
||||
if (!docObj)
|
||||
if (!this.xmlDoc.nodeName)
|
||||
docObj=this.xmlDoc.responseXML
|
||||
else
|
||||
docObj=this.xmlDoc;
|
||||
|
||||
if (!docObj)
|
||||
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
|
||||
(docObj||this.xmlDoc),
|
||||
this.mainObject
|
||||
]);
|
||||
|
||||
if (namespace != null)
|
||||
docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); //
|
||||
|
||||
if (result_type == 'single'){
|
||||
return docObj.selectSingleNode(xpathExp);
|
||||
}
|
||||
else {
|
||||
return docObj.selectNodes(xpathExp)||new Array(0);
|
||||
}
|
||||
} else { //Mozilla
|
||||
var nodeObj = docObj;
|
||||
|
||||
if (!docObj){
|
||||
if (!this.xmlDoc.nodeName){
|
||||
docObj=this.xmlDoc.responseXML
|
||||
}
|
||||
else {
|
||||
docObj=this.xmlDoc;
|
||||
}
|
||||
}
|
||||
|
||||
if (!docObj)
|
||||
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
|
||||
(docObj||this.xmlDoc),
|
||||
this.mainObject
|
||||
]);
|
||||
|
||||
if (docObj.nodeName.indexOf("document") != -1){
|
||||
nodeObj=docObj;
|
||||
}
|
||||
else {
|
||||
nodeObj=docObj;
|
||||
docObj=docObj.ownerDocument;
|
||||
}
|
||||
var retType = XPathResult.ANY_TYPE;
|
||||
|
||||
if (result_type == 'single')
|
||||
retType=XPathResult.FIRST_ORDERED_NODE_TYPE
|
||||
var rowsCol = new Array();
|
||||
var col = docObj.evaluate(xpathExp, nodeObj, function(pref){
|
||||
return namespace
|
||||
}, retType, null);
|
||||
|
||||
if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){
|
||||
return col.singleNodeValue;
|
||||
}
|
||||
var thisColMemb = col.iterateNext();
|
||||
|
||||
while (thisColMemb){
|
||||
rowsCol[rowsCol.length]=thisColMemb;
|
||||
thisColMemb=col.iterateNext();
|
||||
}
|
||||
return rowsCol;
|
||||
}
|
||||
}
|
||||
|
||||
function _dhtmlxError(type, name, params){
|
||||
if (!this.catches)
|
||||
this.catches=new Array();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
_dhtmlxError.prototype.catchError=function(type, func_name){
|
||||
this.catches[type]=func_name;
|
||||
}
|
||||
_dhtmlxError.prototype.throwError=function(type, name, params){
|
||||
if (this.catches[type])
|
||||
return this.catches[type](type, name, params);
|
||||
|
||||
if (this.catches["ALL"])
|
||||
return this.catches["ALL"](type, name, params);
|
||||
|
||||
alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]);
|
||||
return null;
|
||||
}
|
||||
|
||||
window.dhtmlxError=new _dhtmlxError();
|
||||
|
||||
|
||||
//opera fake, while 9.0 not released
|
||||
//multibrowser Xpath processor
|
||||
dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){
|
||||
//this is fake for Opera
|
||||
var z = xpathExp.replace(/[\/]+/gi, "/").split('/');
|
||||
var obj = null;
|
||||
var i = 1;
|
||||
|
||||
if (!z.length)
|
||||
return [];
|
||||
|
||||
if (z[0] == ".")
|
||||
obj=[docObj]; else if (z[0] == ""){
|
||||
obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, ""));
|
||||
i++;
|
||||
} else
|
||||
return [];
|
||||
|
||||
for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]);
|
||||
|
||||
if (z[i-1].indexOf("[") != -1)
|
||||
obj=this._filterXPath(obj, z[i-1]);
|
||||
return obj;
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){
|
||||
var c = new Array();
|
||||
var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, "");
|
||||
|
||||
for (var i = 0; i < a.length; i++)
|
||||
if (a[i].getAttribute(b))
|
||||
c[c.length]=a[i];
|
||||
|
||||
return c;
|
||||
}
|
||||
dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){
|
||||
var c = new Array();
|
||||
|
||||
if (_isKHTML)
|
||||
b=b.toUpperCase();
|
||||
|
||||
for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){
|
||||
if (_isKHTML){
|
||||
if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b)
|
||||
c[c.length]=a[i].childNodes[j];
|
||||
}
|
||||
|
||||
else if (a[i].childNodes[j].tagName == b)
|
||||
c[c.length]=a[i].childNodes[j];
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
function dhtmlXHeir(a, b){
|
||||
for (var c in b)
|
||||
if (typeof (b[c]) == "function")
|
||||
a[c]=b[c];
|
||||
return a;
|
||||
}
|
||||
|
||||
function dhtmlxEvent(el, event, handler){
|
||||
if (el.addEventListener)
|
||||
el.addEventListener(event, handler, false);
|
||||
|
||||
else if (el.attachEvent)
|
||||
el.attachEvent("on"+event, handler);
|
||||
}
|
||||
|
||||
//============= XSL Extension ===================================
|
||||
|
||||
dtmlXMLLoaderObject.prototype.xslDoc=null;
|
||||
dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){
|
||||
if (!xslDoc)
|
||||
xslDoc=this.xslDoc
|
||||
|
||||
if (xslDoc.responseXML)
|
||||
xslDoc=xslDoc.responseXML;
|
||||
var item =
|
||||
this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc,
|
||||
"http:/\/www.w3.org/1999/XSL/Transform", "single");
|
||||
|
||||
if (item != null)
|
||||
item.firstChild.nodeValue=paramValue
|
||||
}
|
||||
dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){
|
||||
if (!xslDoc)
|
||||
xslDoc=this.xslDoc;
|
||||
|
||||
if (xslDoc.responseXML)
|
||||
xslDoc=xslDoc.responseXML
|
||||
|
||||
if (!xmlDoc)
|
||||
xmlDoc=this.xmlDoc;
|
||||
|
||||
if (xmlDoc.responseXML)
|
||||
xmlDoc=xmlDoc.responseXML
|
||||
|
||||
//MOzilla
|
||||
if (!_isIE){
|
||||
if (!this.XSLProcessor){
|
||||
this.XSLProcessor=new XSLTProcessor();
|
||||
this.XSLProcessor.importStylesheet(xslDoc);
|
||||
}
|
||||
var result = this.XSLProcessor.transformToDocument(xmlDoc);
|
||||
} else {
|
||||
var result = new ActiveXObject("Msxml2.DOMDocument.3.0");
|
||||
try{
|
||||
xmlDoc.transformNodeToObject(xslDoc, result);
|
||||
}catch(e){
|
||||
result = xmlDoc.transformNode(xslDoc);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){
|
||||
var res = this.doXSLTransToObject(xslDoc, xmlDoc);
|
||||
if(typeof(res)=="string")
|
||||
return res;
|
||||
return this.doSerialization(res);
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){
|
||||
if (!xmlDoc)
|
||||
xmlDoc=this.xmlDoc;
|
||||
if (xmlDoc.responseXML)
|
||||
xmlDoc=xmlDoc.responseXML
|
||||
if (!_isIE){
|
||||
var xmlSerializer = new XMLSerializer();
|
||||
return xmlSerializer.serializeToString(xmlDoc);
|
||||
} else
|
||||
return xmlDoc.xml;
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc:
|
||||
* @type: private
|
||||
*/
|
||||
dhtmlxEventable=function(obj){
|
||||
obj.attachEvent=function(name, catcher, callObj){
|
||||
name='ev_'+name.toLowerCase();
|
||||
if (!this[name])
|
||||
this[name]=new this.eventCatcher(callObj||this);
|
||||
|
||||
return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID)
|
||||
}
|
||||
obj.callEvent=function(name, arg0){
|
||||
name='ev_'+name.toLowerCase();
|
||||
if (this[name])
|
||||
return this[name].apply(this, arg0);
|
||||
return true;
|
||||
}
|
||||
obj.checkEvent=function(name){
|
||||
return (!!this['ev_'+name.toLowerCase()])
|
||||
}
|
||||
obj.eventCatcher=function(obj){
|
||||
var dhx_catch = [];
|
||||
var z = function(){
|
||||
var res = true;
|
||||
for (var i = 0; i < dhx_catch.length; i++){
|
||||
if (dhx_catch[i] != null){
|
||||
var zr = dhx_catch[i].apply(obj, arguments);
|
||||
res=res&&zr;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
z.addEvent=function(ev){
|
||||
if (typeof (ev) != "function")
|
||||
ev=eval(ev);
|
||||
if (ev)
|
||||
return dhx_catch.push(ev)-1;
|
||||
return false;
|
||||
}
|
||||
z.removeEvent=function(id){
|
||||
dhx_catch[id]=null;
|
||||
}
|
||||
return z;
|
||||
}
|
||||
obj.detachEvent=function(id){
|
||||
if (id != false){
|
||||
var list = id.split(':'); //get EventName and ID
|
||||
this[list[0]].removeEvent(list[1]); //remove event
|
||||
}
|
||||
}
|
||||
obj.detachAllEvents = function(){
|
||||
for (var name in this){
|
||||
if (name.indexOf("ev_")==0)
|
||||
delete this[name];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
.taskPanelBorder{border-width: 2px 2px 2px 2px;border-style:solid;border-color: #737373;}
|
||||
.taskName{font-family: Tahoma, Arial; font-weight: bold;font-size: 11px;color: #FFFFFF;cursor: pointer;white-space: nowrap;}
|
||||
.moveInfo{font-family: Tahoma, Arial;font-size: 10px;color:#006600;white-space: nowrap;}
|
||||
.descTask{font-family: Tahoma, Arial;font-size: 10px;color:#276F9E;cursor: default;white-space: nowrap;}
|
||||
.descProject{font-family: Tahoma, Arial;font-size: 10px;color:#006600;cursor: default;white-space: nowrap;}
|
||||
.dayNumber, .monthName{font-family:Tahoma,Arial;font-weight:bold;font-size:9px;color:#858585;text-align:center;vertical-align:middle;}
|
||||
.monthName {border-top:1px solid #f1f3f1; border-bottom:1px solid #f1f3f1; border-left:1px solid #f1f3f1;text-align:left;padding-left:5px;}
|
||||
.poPupInfo{background: #FFFFFF;width : 170px;border: 1px dotted #279e00;padding: 4px 6px 4px 6px;float: left;}
|
||||
.poPupTime{background: #FFFFFF;border: 1px dotted #279e00;height : 25px;width : 70px;position: absolute;z-index:2;}
|
||||
.contextMenu{z-index:10;width:150px;cursor:pointer;font-family: Tahoma, Arial;font-size:12px;color:#7D7D7D;border: 1px solid #808080;}
|
||||
.taskNameItem{font-family: Tahoma, Arial;font-size: 11px;font-weight: normal;color: #7D7D7D;}
|
||||
.panelErrors{;padding: 4px 6px 4px 6px;font-family: Tahoma, Arial;font-size: 12px;color: red;white-space: nowrap;}
|
||||
.st {font-family: Arial, Helvetica, Sans-serif; font-size: 10px; font-weight: normal; color: #688060;}
|
||||
.ut {font-family: Arial, Helvetica, Sans-serif; font-size: 11px; font-weight: normal; color: #323232;}
|
||||
.lt {font-family: Arial, Helvetica, Sans-serif; font-size: 11px; font-weight: normal; color: #323232; padding: 0px 0px 0px 14px; margin: 0px; display: block;}
|
||||
|
Before Width: | Height: | Size: 162 B |
|
Before Width: | Height: | Size: 95 B |
|
Before Width: | Height: | Size: 181 B |
|
Before Width: | Height: | Size: 98 B |
|
Before Width: | Height: | Size: 543 B |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 121 B |
|
Before Width: | Height: | Size: 129 B |
|
Before Width: | Height: | Size: 124 B |
|
Before Width: | Height: | Size: 128 B |
|
Before Width: | Height: | Size: 128 B |
@@ -1,107 +0,0 @@
|
||||
<html>
|
||||
<head>
|
||||
<title>Gantt Chart</title>
|
||||
<link type="text/css" rel="stylesheet" href="codebase/dhtmlxgantt.css">
|
||||
<script type="text/javascript" language="JavaScript" src="codebase/dhtmlxcommon.js"></script>
|
||||
<script type="text/javascript" language="JavaScript" src="codebase/dhtmlxgantt.js"></script>
|
||||
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
/*<![CDATA[*/
|
||||
function createChartControl(htmlDiv1)
|
||||
{
|
||||
//project 1
|
||||
var project1 = new GanttProjectInfo(1, "Applet redesign", new Date(2010, 5, 11));
|
||||
|
||||
var parentTask1 = new GanttTaskInfo(1, "Old code review", new Date(2010, 5, 11), 208, 50, "");
|
||||
parentTask1.addChildTask(new GanttTaskInfo(2, "Convert to J#", new Date(2010, 5, 11), 100, 40, ""));
|
||||
parentTask1.addChildTask(new GanttTaskInfo(13, "Add new functions", new Date(2010, 5, 12), 80, 90, ""));
|
||||
|
||||
var parentTask2 = new GanttTaskInfo(3, "Hosted Control", new Date(2010, 6, 7), 190, 80, "1");
|
||||
var parentTask5 = new GanttTaskInfo(5, "J# interfaces", new Date(2010, 6, 14), 60, 70, "6");
|
||||
var parentTask123 = new GanttTaskInfo(123, "use GUIDs", new Date(2010, 6, 14), 60, 70, "");
|
||||
parentTask5.addChildTask(parentTask123);
|
||||
parentTask2.addChildTask(parentTask5);
|
||||
parentTask2.addChildTask(new GanttTaskInfo(6, "Task D", new Date(2010, 6, 10), 30, 80, "14"));
|
||||
|
||||
var parentTask4 = new GanttTaskInfo(7, "Unit testing", new Date(2010, 6, 15), 118, 80, "6");
|
||||
var parentTask8 = new GanttTaskInfo(8, "core (com)", new Date(2010, 6, 15), 100, 10, "");
|
||||
parentTask8.addChildTask(new GanttTaskInfo(55555, "validate uids", new Date(2010, 6, 20), 60, 10, ""));
|
||||
parentTask4.addChildTask(parentTask8);
|
||||
parentTask4.addChildTask(new GanttTaskInfo(9, "Stress test", new Date(2010, 6, 15), 80, 50, ""));
|
||||
parentTask4.addChildTask(new GanttTaskInfo(10, "User interfaces", new Date(2010, 6, 16), 80, 10, ""));
|
||||
parentTask2.addChildTask(parentTask4);
|
||||
|
||||
parentTask2.addChildTask(new GanttTaskInfo(11, "Testing, QA", new Date(2010, 6, 21), 60, 100, "6"));
|
||||
parentTask2.addChildTask(new GanttTaskInfo(12, "Task B (Jim)", new Date(2010, 6, 8), 110, 1, "14"));
|
||||
parentTask2.addChildTask(new GanttTaskInfo(14, "Task A", new Date(2010, 6, 7), 8, 10, ""));
|
||||
parentTask2.addChildTask(new GanttTaskInfo(15, "Task C", new Date(2010, 6, 9), 110, 90, "14"));
|
||||
|
||||
project1.addTask(parentTask1);
|
||||
project1.addTask(parentTask2);
|
||||
|
||||
//project 2
|
||||
var project2 = new GanttProjectInfo(2, "Web Design", new Date(2010, 5, 17));
|
||||
|
||||
var parentTask22 = new GanttTaskInfo(62, "Fill HTML pages", new Date(2010, 5, 17), 157, 50, "");
|
||||
parentTask22.addChildTask(new GanttTaskInfo(63, "Cut images", new Date(2010, 5, 22), 78, 40, ""));
|
||||
parentTask22.addChildTask(new GanttTaskInfo(64, "Manage CSS", null, 90, 90, ""));
|
||||
project2.addTask(parentTask22);
|
||||
|
||||
var parentTask70 = new GanttTaskInfo(70, "PHP coding", new Date(2010, 5, 18), 120, 10, "");
|
||||
parentTask70.addChildTask(new GanttTaskInfo(71, "Purchase D control", new Date(2010, 5, 18), 50, 0, ""));
|
||||
project2.addTask(parentTask70);
|
||||
|
||||
var ganttChartControl = new GanttChart();
|
||||
ganttChartControl.setImagePath("codebase/imgs/");
|
||||
ganttChartControl.setEditable(true);
|
||||
|
||||
ganttChartControl.addProject(project1);
|
||||
ganttChartControl.addProject(project2);
|
||||
|
||||
ganttChartControl.create(htmlDiv1);
|
||||
}
|
||||
/*]]>*/
|
||||
</script>
|
||||
|
||||
<style>
|
||||
body {font-size:12px}
|
||||
.{font-family:arial;font-size:12px}
|
||||
h1 {cursor:hand;font-size:16px;margin-left:10px;line-height:10px}
|
||||
xmp {color:green;font-size:12px;margin:0px;font-family:courier;background-color:#e6e6fa;padding:2px}
|
||||
.hdr{
|
||||
background-color:lightgrey;
|
||||
margin-bottom:10px;
|
||||
padding-left:10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body onload="createChartControl('GanttDiv');">
|
||||
|
||||
<div class="hdr">DHTML Gantt sample</div>
|
||||
|
||||
<h1>Initialize object on page</h1>
|
||||
<p>You can place this JavaScript Gantt Chart anywhere on your web page, attaching it
|
||||
to any div object.<br>
|
||||
</p>
|
||||
|
||||
|
||||
<XMP>
|
||||
<div style="width:950px;height:620px;position:absolute" id="GanttDiv"></div>
|
||||
<script>
|
||||
var gantt = new GanttChart();
|
||||
gantt.setImagePath("codebase/imgs/");
|
||||
gantt.setEditable(true);
|
||||
...
|
||||
gantt.addProject(project_1);
|
||||
...
|
||||
gantt.create("GanttDiv");
|
||||
</script>
|
||||
</XMP>
|
||||
|
||||
<br>
|
||||
<div style="width:950px;height:620px;position:absolute;" id="GanttDiv"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,907 +0,0 @@
|
||||
/*
|
||||
Copyright DHTMLX LTD. http://www.dhtmlx.com
|
||||
To use this component please contact sales@dhtmlx.com to obtain license
|
||||
*/
|
||||
dhtmlxAjax={
|
||||
get:function(url,callback){
|
||||
var t=new dtmlXMLLoaderObject(true);
|
||||
t.async=(arguments.length<3);
|
||||
t.waitCall=callback;
|
||||
t.loadXML(url)
|
||||
return t;
|
||||
},
|
||||
post:function(url,post,callback){
|
||||
var t=new dtmlXMLLoaderObject(true);
|
||||
t.async=(arguments.length<4);
|
||||
t.waitCall=callback;
|
||||
t.loadXML(url,true,post)
|
||||
return t;
|
||||
},
|
||||
getSync:function(url){
|
||||
return this.get(url,null,true)
|
||||
},
|
||||
postSync:function(url,post){
|
||||
return this.post(url,post,null,true);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: xmlLoader object
|
||||
* @type: private
|
||||
* @param: funcObject - xml parser function
|
||||
* @param: object - jsControl object
|
||||
* @param: async - sync/async mode (async by default)
|
||||
* @param: rSeed - enable/disable random seed ( prevent IE caching)
|
||||
* @topic: 0
|
||||
*/
|
||||
function dtmlXMLLoaderObject(funcObject, dhtmlObject, async, rSeed){
|
||||
this.xmlDoc="";
|
||||
|
||||
if (typeof (async) != "undefined")
|
||||
this.async=async;
|
||||
else
|
||||
this.async=true;
|
||||
|
||||
this.onloadAction=funcObject||null;
|
||||
this.mainObject=dhtmlObject||null;
|
||||
this.waitCall=null;
|
||||
this.rSeed=rSeed||false;
|
||||
return this;
|
||||
};
|
||||
/**
|
||||
* @desc: xml loading handler
|
||||
* @type: private
|
||||
* @param: dtmlObject - xmlLoader object
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.waitLoadFunction=function(dhtmlObject){
|
||||
var once = true;
|
||||
this.check=function (){
|
||||
if ((dhtmlObject)&&(dhtmlObject.onloadAction != null)){
|
||||
if ((!dhtmlObject.xmlDoc.readyState)||(dhtmlObject.xmlDoc.readyState == 4)){
|
||||
if (!once)
|
||||
return;
|
||||
|
||||
once=false; //IE 5 fix
|
||||
if (typeof dhtmlObject.onloadAction == "function")
|
||||
dhtmlObject.onloadAction(dhtmlObject.mainObject, null, null, null, dhtmlObject);
|
||||
|
||||
if (dhtmlObject.waitCall){
|
||||
dhtmlObject.waitCall.call(this,dhtmlObject);
|
||||
dhtmlObject.waitCall=null;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
return this.check;
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc: return XML top node
|
||||
* @param: tagName - top XML node tag name (not used in IE, required for Safari and Mozilla)
|
||||
* @type: private
|
||||
* @returns: top XML node
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.getXMLTopNode=function(tagName, oldObj){
|
||||
if (this.xmlDoc.responseXML){
|
||||
var temp = this.xmlDoc.responseXML.getElementsByTagName(tagName);
|
||||
if(temp.length==0 && tagName.indexOf(":")!=-1)
|
||||
var temp = this.xmlDoc.responseXML.getElementsByTagName((tagName.split(":"))[1]);
|
||||
var z = temp[0];
|
||||
} else
|
||||
var z = this.xmlDoc.documentElement;
|
||||
|
||||
if (z){
|
||||
this._retry=false;
|
||||
return z;
|
||||
}
|
||||
|
||||
if ((_isIE)&&(!this._retry)){
|
||||
//fall back to MS.XMLDOM
|
||||
var xmlString = this.xmlDoc.responseText;
|
||||
var oldObj = this.xmlDoc;
|
||||
this._retry=true;
|
||||
this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
|
||||
this.xmlDoc.async=false;
|
||||
this.xmlDoc["loadXM"+"L"](xmlString);
|
||||
|
||||
return this.getXMLTopNode(tagName, oldObj);
|
||||
}
|
||||
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
|
||||
(oldObj||this.xmlDoc),
|
||||
this.mainObject
|
||||
]);
|
||||
|
||||
return document.createElement("DIV");
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc: load XML from string
|
||||
* @type: private
|
||||
* @param: xmlString - xml string
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.loadXMLString=function(xmlString){
|
||||
{
|
||||
try{
|
||||
var parser = new DOMParser();
|
||||
this.xmlDoc=parser.parseFromString(xmlString, "text/xml");
|
||||
}
|
||||
catch (e){
|
||||
this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
|
||||
this.xmlDoc.async=this.async;
|
||||
this.xmlDoc["loadXM"+"L"](xmlString);
|
||||
}
|
||||
}
|
||||
|
||||
this.onloadAction(this.mainObject, null, null, null, this);
|
||||
|
||||
if (this.waitCall){
|
||||
this.waitCall();
|
||||
this.waitCall=null;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @desc: load XML
|
||||
* @type: private
|
||||
* @param: filePath - xml file path
|
||||
* @param: postMode - send POST request
|
||||
* @param: postVars - list of vars for post request
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.loadXML=function(filePath, postMode, postVars, rpc){
|
||||
if (this.rSeed)
|
||||
filePath+=((filePath.indexOf("?") != -1) ? "&" : "?")+"a_dhx_rSeed="+(new Date()).valueOf();
|
||||
this.filePath=filePath;
|
||||
|
||||
if ((!_isIE)&&(window.XMLHttpRequest))
|
||||
this.xmlDoc=new XMLHttpRequest();
|
||||
else {
|
||||
if (document.implementation&&document.implementation.createDocument){
|
||||
this.xmlDoc=document.implementation.createDocument("", "", null);
|
||||
this.xmlDoc.onload=new this.waitLoadFunction(this);
|
||||
this.xmlDoc.load(filePath);
|
||||
return;
|
||||
} else
|
||||
this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
|
||||
if (this.async)
|
||||
this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this);
|
||||
this.xmlDoc.open(postMode ? "POST" : "GET", filePath, this.async);
|
||||
|
||||
if (rpc){
|
||||
this.xmlDoc.setRequestHeader("User-Agent", "dhtmlxRPC v0.1 ("+navigator.userAgent+")");
|
||||
this.xmlDoc.setRequestHeader("Content-type", "text/xml");
|
||||
}
|
||||
|
||||
else if (postMode)
|
||||
this.xmlDoc.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
|
||||
|
||||
this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest");
|
||||
this.xmlDoc.send(null||postVars);
|
||||
|
||||
if (!this.async)
|
||||
(new this.waitLoadFunction(this))();
|
||||
};
|
||||
/**
|
||||
* @desc: destructor, cleans used memory
|
||||
* @type: private
|
||||
* @topic: 0
|
||||
*/
|
||||
dtmlXMLLoaderObject.prototype.destructor=function(){
|
||||
this._filterXPath = null;
|
||||
this._getAllNamedChilds = null;
|
||||
this._retry = null;
|
||||
this.async = null;
|
||||
this.rSeed = null;
|
||||
this.filePath = null;
|
||||
this.onloadAction = null;
|
||||
this.mainObject = null;
|
||||
this.xmlDoc = null;
|
||||
this.doXPath = null;
|
||||
this.doXPathOpera = null;
|
||||
this.doXSLTransToObject = null;
|
||||
this.doXSLTransToString = null;
|
||||
this.loadXML = null;
|
||||
this.loadXMLString = null;
|
||||
// this.waitLoadFunction = null;
|
||||
this.doSerialization = null;
|
||||
this.xmlNodeToJSON = null;
|
||||
this.getXMLTopNode = null;
|
||||
this.setXSLParamValue = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype.xmlNodeToJSON = function(node){
|
||||
var t={};
|
||||
for (var i=0; i<node.attributes.length; i++)
|
||||
t[node.attributes[i].name]=node.attributes[i].value;
|
||||
t["_tagvalue"]=node.firstChild?node.firstChild.nodeValue:"";
|
||||
for (var i=0; i<node.childNodes.length; i++){
|
||||
var name=node.childNodes[i].tagName;
|
||||
if (name){
|
||||
if (!t[name]) t[name]=[];
|
||||
t[name].push(this.xmlNodeToJSON(node.childNodes[i]));
|
||||
}
|
||||
}
|
||||
return t;
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: Call wrapper
|
||||
* @type: private
|
||||
* @param: funcObject - action handler
|
||||
* @param: dhtmlObject - user data
|
||||
* @returns: function handler
|
||||
* @topic: 0
|
||||
*/
|
||||
function callerFunction(funcObject, dhtmlObject){
|
||||
this.handler=function(e){
|
||||
if (!e)
|
||||
e=window.event;
|
||||
funcObject(e, dhtmlObject);
|
||||
return true;
|
||||
};
|
||||
return this.handler;
|
||||
};
|
||||
|
||||
/**
|
||||
* @desc: Calculate absolute position of html object
|
||||
* @type: private
|
||||
* @param: htmlObject - html object
|
||||
* @topic: 0
|
||||
*/
|
||||
function getAbsoluteLeft(htmlObject){
|
||||
return getOffset(htmlObject).left;
|
||||
}
|
||||
/**
|
||||
* @desc: Calculate absolute position of html object
|
||||
* @type: private
|
||||
* @param: htmlObject - html object
|
||||
* @topic: 0
|
||||
*/
|
||||
function getAbsoluteTop(htmlObject){
|
||||
return getOffset(htmlObject).top;
|
||||
}
|
||||
|
||||
function getOffsetSum(elem) {
|
||||
var top=0, left=0;
|
||||
while(elem) {
|
||||
top = top + parseInt(elem.offsetTop);
|
||||
left = left + parseInt(elem.offsetLeft);
|
||||
elem = elem.offsetParent;
|
||||
}
|
||||
return {top: top, left: left};
|
||||
}
|
||||
function getOffsetRect(elem) {
|
||||
var box = elem.getBoundingClientRect();
|
||||
var body = document.body;
|
||||
var docElem = document.documentElement;
|
||||
var scrollTop = window.pageYOffset || docElem.scrollTop || body.scrollTop;
|
||||
var scrollLeft = window.pageXOffset || docElem.scrollLeft || body.scrollLeft;
|
||||
var clientTop = docElem.clientTop || body.clientTop || 0;
|
||||
var clientLeft = docElem.clientLeft || body.clientLeft || 0;
|
||||
var top = box.top + scrollTop - clientTop;
|
||||
var left = box.left + scrollLeft - clientLeft;
|
||||
return { top: Math.round(top), left: Math.round(left) };
|
||||
}
|
||||
function getOffset(elem) {
|
||||
if (elem.getBoundingClientRect) {
|
||||
return getOffsetRect(elem);
|
||||
} else {
|
||||
return getOffsetSum(elem);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: Convert string to it boolean representation
|
||||
* @type: private
|
||||
* @param: inputString - string for covertion
|
||||
* @topic: 0
|
||||
*/
|
||||
function convertStringToBoolean(inputString){
|
||||
if (typeof (inputString) == "string")
|
||||
inputString=inputString.toLowerCase();
|
||||
|
||||
switch (inputString){
|
||||
case "1":
|
||||
case "true":
|
||||
case "yes":
|
||||
case "y":
|
||||
case 1:
|
||||
case true:
|
||||
return true;
|
||||
break;
|
||||
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc: find out what symbol to use as url param delimiters in further params
|
||||
* @type: private
|
||||
* @param: str - current url string
|
||||
* @topic: 0
|
||||
*/
|
||||
function getUrlSymbol(str){
|
||||
if (str.indexOf("?") != -1)
|
||||
return "&"
|
||||
else
|
||||
return "?"
|
||||
}
|
||||
|
||||
function dhtmlDragAndDropObject(){
|
||||
if (window.dhtmlDragAndDrop)
|
||||
return window.dhtmlDragAndDrop;
|
||||
|
||||
this.lastLanding=0;
|
||||
this.dragNode=0;
|
||||
this.dragStartNode=0;
|
||||
this.dragStartObject=0;
|
||||
this.tempDOMU=null;
|
||||
this.tempDOMM=null;
|
||||
this.waitDrag=0;
|
||||
window.dhtmlDragAndDrop=this;
|
||||
|
||||
return this;
|
||||
};
|
||||
|
||||
dhtmlDragAndDropObject.prototype.removeDraggableItem=function(htmlNode){
|
||||
htmlNode.onmousedown=null;
|
||||
htmlNode.dragStarter=null;
|
||||
htmlNode.dragLanding=null;
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.addDraggableItem=function(htmlNode, dhtmlObject){
|
||||
htmlNode.onmousedown=this.preCreateDragCopy;
|
||||
htmlNode.dragStarter=dhtmlObject;
|
||||
this.addDragLanding(htmlNode, dhtmlObject);
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.addDragLanding=function(htmlNode, dhtmlObject){
|
||||
htmlNode.dragLanding=dhtmlObject;
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(e){
|
||||
if ((e||window.event) && (e||event).button == 2)
|
||||
return;
|
||||
|
||||
if (window.dhtmlDragAndDrop.waitDrag){
|
||||
window.dhtmlDragAndDrop.waitDrag=0;
|
||||
document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU;
|
||||
document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM;
|
||||
return false;
|
||||
}
|
||||
|
||||
window.dhtmlDragAndDrop.waitDrag=1;
|
||||
window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup;
|
||||
window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove;
|
||||
window.dhtmlDragAndDrop.dragStartNode=this;
|
||||
window.dhtmlDragAndDrop.dragStartObject=this.dragStarter;
|
||||
document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy;
|
||||
document.body.onmousemove=window.dhtmlDragAndDrop.callDrag;
|
||||
window.dhtmlDragAndDrop.downtime = new Date().valueOf();
|
||||
|
||||
|
||||
if ((e)&&(e.preventDefault)){
|
||||
e.preventDefault();
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
};
|
||||
dhtmlDragAndDropObject.prototype.callDrag=function(e){
|
||||
if (!e)
|
||||
e=window.event;
|
||||
dragger=window.dhtmlDragAndDrop;
|
||||
if ((new Date()).valueOf()-dragger.downtime<100) return;
|
||||
|
||||
if ((e.button == 0)&&(_isIE))
|
||||
return dragger.stopDrag();
|
||||
|
||||
if (!dragger.dragNode&&dragger.waitDrag){
|
||||
dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode, e);
|
||||
|
||||
if (!dragger.dragNode)
|
||||
return dragger.stopDrag();
|
||||
|
||||
dragger.dragNode.onselectstart=function(){return false;}
|
||||
dragger.gldragNode=dragger.dragNode;
|
||||
document.body.appendChild(dragger.dragNode);
|
||||
document.body.onmouseup=dragger.stopDrag;
|
||||
dragger.waitDrag=0;
|
||||
dragger.dragNode.pWindow=window;
|
||||
dragger.initFrameRoute();
|
||||
}
|
||||
|
||||
if (dragger.dragNode.parentNode != window.document.body){
|
||||
var grd = dragger.gldragNode;
|
||||
|
||||
if (dragger.gldragNode.old)
|
||||
grd=dragger.gldragNode.old;
|
||||
|
||||
//if (!document.all) dragger.calculateFramePosition();
|
||||
grd.parentNode.removeChild(grd);
|
||||
var oldBody = dragger.dragNode.pWindow;
|
||||
|
||||
if (grd.pWindow && grd.pWindow.dhtmlDragAndDrop.lastLanding)
|
||||
grd.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(grd.pWindow.dhtmlDragAndDrop.lastLanding);
|
||||
|
||||
// var oldp=dragger.dragNode.parentObject;
|
||||
if (_isIE){
|
||||
var div = document.createElement("Div");
|
||||
div.innerHTML=dragger.dragNode.outerHTML;
|
||||
dragger.dragNode=div.childNodes[0];
|
||||
} else
|
||||
dragger.dragNode=dragger.dragNode.cloneNode(true);
|
||||
|
||||
dragger.dragNode.pWindow=window;
|
||||
// dragger.dragNode.parentObject=oldp;
|
||||
|
||||
dragger.gldragNode.old=dragger.dragNode;
|
||||
document.body.appendChild(dragger.dragNode);
|
||||
oldBody.dhtmlDragAndDrop.dragNode=dragger.dragNode;
|
||||
}
|
||||
|
||||
dragger.dragNode.style.left=e.clientX+15+(dragger.fx
|
||||
? dragger.fx*(-1)
|
||||
: 0)
|
||||
+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px";
|
||||
dragger.dragNode.style.top=e.clientY+3+(dragger.fy
|
||||
? dragger.fy*(-1)
|
||||
: 0)
|
||||
+(document.body.scrollTop||document.documentElement.scrollTop)+"px";
|
||||
|
||||
if (!e.srcElement)
|
||||
var z = e.target;
|
||||
else
|
||||
z=e.srcElement;
|
||||
dragger.checkLanding(z, e);
|
||||
}
|
||||
|
||||
dhtmlDragAndDropObject.prototype.calculateFramePosition=function(n){
|
||||
//this.fx = 0, this.fy = 0;
|
||||
if (window.name){
|
||||
var el = parent.frames[window.name].frameElement.offsetParent;
|
||||
var fx = 0;
|
||||
var fy = 0;
|
||||
|
||||
while (el){
|
||||
fx+=el.offsetLeft;
|
||||
fy+=el.offsetTop;
|
||||
el=el.offsetParent;
|
||||
}
|
||||
|
||||
if ((parent.dhtmlDragAndDrop)){
|
||||
var ls = parent.dhtmlDragAndDrop.calculateFramePosition(1);
|
||||
fx+=ls.split('_')[0]*1;
|
||||
fy+=ls.split('_')[1]*1;
|
||||
}
|
||||
|
||||
if (n)
|
||||
return fx+"_"+fy;
|
||||
else
|
||||
this.fx=fx;
|
||||
this.fy=fy;
|
||||
}
|
||||
return "0_0";
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.checkLanding=function(htmlObject, e){
|
||||
if ((htmlObject)&&(htmlObject.dragLanding)){
|
||||
if (this.lastLanding)
|
||||
this.lastLanding.dragLanding._dragOut(this.lastLanding);
|
||||
this.lastLanding=htmlObject;
|
||||
this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding, this.dragStartNode, e.clientX,
|
||||
e.clientY, e);
|
||||
this.lastLanding_scr=(_isIE ? e.srcElement : e.target);
|
||||
} else {
|
||||
if ((htmlObject)&&(htmlObject.tagName != "BODY"))
|
||||
this.checkLanding(htmlObject.parentNode, e);
|
||||
else {
|
||||
if (this.lastLanding)
|
||||
this.lastLanding.dragLanding._dragOut(this.lastLanding, e.clientX, e.clientY, e);
|
||||
this.lastLanding=0;
|
||||
|
||||
if (this._onNotFound)
|
||||
this._onNotFound();
|
||||
}
|
||||
}
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.stopDrag=function(e, mode){
|
||||
dragger=window.dhtmlDragAndDrop;
|
||||
|
||||
if (!mode){
|
||||
dragger.stopFrameRoute();
|
||||
var temp = dragger.lastLanding;
|
||||
dragger.lastLanding=null;
|
||||
|
||||
if (temp)
|
||||
temp.dragLanding._drag(dragger.dragStartNode, dragger.dragStartObject, temp, (_isIE
|
||||
? event.srcElement
|
||||
: e.target));
|
||||
}
|
||||
dragger.lastLanding=null;
|
||||
|
||||
if ((dragger.dragNode)&&(dragger.dragNode.parentNode == document.body))
|
||||
dragger.dragNode.parentNode.removeChild(dragger.dragNode);
|
||||
dragger.dragNode=0;
|
||||
dragger.gldragNode=0;
|
||||
dragger.fx=0;
|
||||
dragger.fy=0;
|
||||
dragger.dragStartNode=0;
|
||||
dragger.dragStartObject=0;
|
||||
document.body.onmouseup=dragger.tempDOMU;
|
||||
document.body.onmousemove=dragger.tempDOMM;
|
||||
dragger.tempDOMU=null;
|
||||
dragger.tempDOMM=null;
|
||||
dragger.waitDrag=0;
|
||||
}
|
||||
|
||||
dhtmlDragAndDropObject.prototype.stopFrameRoute=function(win){
|
||||
if (win)
|
||||
window.dhtmlDragAndDrop.stopDrag(1, 1);
|
||||
|
||||
for (var i = 0; i < window.frames.length; i++){
|
||||
try{
|
||||
if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop))
|
||||
window.frames[i].dhtmlDragAndDrop.stopFrameRoute(window);
|
||||
} catch(e){}
|
||||
}
|
||||
|
||||
try{
|
||||
if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win))
|
||||
parent.dhtmlDragAndDrop.stopFrameRoute(window);
|
||||
} catch(e){}
|
||||
}
|
||||
dhtmlDragAndDropObject.prototype.initFrameRoute=function(win, mode){
|
||||
if (win){
|
||||
window.dhtmlDragAndDrop.preCreateDragCopy();
|
||||
window.dhtmlDragAndDrop.dragStartNode=win.dhtmlDragAndDrop.dragStartNode;
|
||||
window.dhtmlDragAndDrop.dragStartObject=win.dhtmlDragAndDrop.dragStartObject;
|
||||
window.dhtmlDragAndDrop.dragNode=win.dhtmlDragAndDrop.dragNode;
|
||||
window.dhtmlDragAndDrop.gldragNode=win.dhtmlDragAndDrop.dragNode;
|
||||
window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag;
|
||||
window.waitDrag=0;
|
||||
|
||||
if (((!_isIE)&&(mode))&&((!_isFF)||(_FFrv < 1.8)))
|
||||
window.dhtmlDragAndDrop.calculateFramePosition();
|
||||
}
|
||||
try{
|
||||
if ((parent.dhtmlDragAndDrop)&&(parent != window)&&(parent != win))
|
||||
parent.dhtmlDragAndDrop.initFrameRoute(window);
|
||||
}catch(e){}
|
||||
|
||||
for (var i = 0; i < window.frames.length; i++){
|
||||
try{
|
||||
if ((window.frames[i] != win)&&(window.frames[i].dhtmlDragAndDrop))
|
||||
window.frames[i].dhtmlDragAndDrop.initFrameRoute(window, ((!win||mode) ? 1 : 0));
|
||||
} catch(e){}
|
||||
}
|
||||
}
|
||||
|
||||
var _isFF = false;
|
||||
var _isIE = false;
|
||||
var _isOpera = false;
|
||||
var _isKHTML = false;
|
||||
var _isMacOS = false;
|
||||
var _isChrome = false;
|
||||
|
||||
if (navigator.userAgent.indexOf('Macintosh') != -1)
|
||||
_isMacOS=true;
|
||||
|
||||
|
||||
if (navigator.userAgent.toLowerCase().indexOf('chrome')>-1)
|
||||
_isChrome=true;
|
||||
|
||||
if ((navigator.userAgent.indexOf('Safari') != -1)||(navigator.userAgent.indexOf('Konqueror') != -1)){
|
||||
var _KHTMLrv = parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Safari')+7, 5));
|
||||
|
||||
if (_KHTMLrv > 525){ //mimic FF behavior for Safari 3.1+
|
||||
_isFF=true;
|
||||
var _FFrv = 1.9;
|
||||
} else
|
||||
_isKHTML=true;
|
||||
} else if (navigator.userAgent.indexOf('Opera') != -1){
|
||||
_isOpera=true;
|
||||
_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf('Opera')+6, 3));
|
||||
}
|
||||
|
||||
|
||||
else if (navigator.appName.indexOf("Microsoft") != -1){
|
||||
_isIE=true;
|
||||
if (navigator.appVersion.indexOf("MSIE 8.0")!= -1 && document.compatMode != "BackCompat") _isIE=8;
|
||||
} else {
|
||||
_isFF=true;
|
||||
var _FFrv = parseFloat(navigator.userAgent.split("rv:")[1])
|
||||
}
|
||||
|
||||
|
||||
//multibrowser Xpath processor
|
||||
dtmlXMLLoaderObject.prototype.doXPath=function(xpathExp, docObj, namespace, result_type){
|
||||
if (_isKHTML || (!_isIE && !window.XPathResult))
|
||||
return this.doXPathOpera(xpathExp, docObj);
|
||||
|
||||
if (_isIE){ //IE
|
||||
if (!docObj)
|
||||
if (!this.xmlDoc.nodeName)
|
||||
docObj=this.xmlDoc.responseXML
|
||||
else
|
||||
docObj=this.xmlDoc;
|
||||
|
||||
if (!docObj)
|
||||
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
|
||||
(docObj||this.xmlDoc),
|
||||
this.mainObject
|
||||
]);
|
||||
|
||||
if (namespace != null)
|
||||
docObj.setProperty("SelectionNamespaces", "xmlns:xsl='"+namespace+"'"); //
|
||||
|
||||
if (result_type == 'single'){
|
||||
return docObj.selectSingleNode(xpathExp);
|
||||
}
|
||||
else {
|
||||
return docObj.selectNodes(xpathExp)||new Array(0);
|
||||
}
|
||||
} else { //Mozilla
|
||||
var nodeObj = docObj;
|
||||
|
||||
if (!docObj){
|
||||
if (!this.xmlDoc.nodeName){
|
||||
docObj=this.xmlDoc.responseXML
|
||||
}
|
||||
else {
|
||||
docObj=this.xmlDoc;
|
||||
}
|
||||
}
|
||||
|
||||
if (!docObj)
|
||||
dhtmlxError.throwError("LoadXML", "Incorrect XML", [
|
||||
(docObj||this.xmlDoc),
|
||||
this.mainObject
|
||||
]);
|
||||
|
||||
if (docObj.nodeName.indexOf("document") != -1){
|
||||
nodeObj=docObj;
|
||||
}
|
||||
else {
|
||||
nodeObj=docObj;
|
||||
docObj=docObj.ownerDocument;
|
||||
}
|
||||
var retType = XPathResult.ANY_TYPE;
|
||||
|
||||
if (result_type == 'single')
|
||||
retType=XPathResult.FIRST_ORDERED_NODE_TYPE
|
||||
var rowsCol = new Array();
|
||||
var col = docObj.evaluate(xpathExp, nodeObj, function(pref){
|
||||
return namespace
|
||||
}, retType, null);
|
||||
|
||||
if (retType == XPathResult.FIRST_ORDERED_NODE_TYPE){
|
||||
return col.singleNodeValue;
|
||||
}
|
||||
var thisColMemb = col.iterateNext();
|
||||
|
||||
while (thisColMemb){
|
||||
rowsCol[rowsCol.length]=thisColMemb;
|
||||
thisColMemb=col.iterateNext();
|
||||
}
|
||||
return rowsCol;
|
||||
}
|
||||
}
|
||||
|
||||
function _dhtmlxError(type, name, params){
|
||||
if (!this.catches)
|
||||
this.catches=new Array();
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
_dhtmlxError.prototype.catchError=function(type, func_name){
|
||||
this.catches[type]=func_name;
|
||||
}
|
||||
_dhtmlxError.prototype.throwError=function(type, name, params){
|
||||
if (this.catches[type])
|
||||
return this.catches[type](type, name, params);
|
||||
|
||||
if (this.catches["ALL"])
|
||||
return this.catches["ALL"](type, name, params);
|
||||
|
||||
alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]);
|
||||
return null;
|
||||
}
|
||||
|
||||
window.dhtmlxError=new _dhtmlxError();
|
||||
|
||||
|
||||
//opera fake, while 9.0 not released
|
||||
//multibrowser Xpath processor
|
||||
dtmlXMLLoaderObject.prototype.doXPathOpera=function(xpathExp, docObj){
|
||||
//this is fake for Opera
|
||||
var z = xpathExp.replace(/[\/]+/gi, "/").split('/');
|
||||
var obj = null;
|
||||
var i = 1;
|
||||
|
||||
if (!z.length)
|
||||
return [];
|
||||
|
||||
if (z[0] == ".")
|
||||
obj=[docObj]; else if (z[0] == ""){
|
||||
obj=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(z[i].replace(/\[[^\]]*\]/g, ""));
|
||||
i++;
|
||||
} else
|
||||
return [];
|
||||
|
||||
for (i; i < z.length; i++)obj=this._getAllNamedChilds(obj, z[i]);
|
||||
|
||||
if (z[i-1].indexOf("[") != -1)
|
||||
obj=this._filterXPath(obj, z[i-1]);
|
||||
return obj;
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype._filterXPath=function(a, b){
|
||||
var c = new Array();
|
||||
var b = b.replace(/[^\[]*\[\@/g, "").replace(/[\[\]\@]*/g, "");
|
||||
|
||||
for (var i = 0; i < a.length; i++)
|
||||
if (a[i].getAttribute(b))
|
||||
c[c.length]=a[i];
|
||||
|
||||
return c;
|
||||
}
|
||||
dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(a, b){
|
||||
var c = new Array();
|
||||
|
||||
if (_isKHTML)
|
||||
b=b.toUpperCase();
|
||||
|
||||
for (var i = 0; i < a.length; i++)for (var j = 0; j < a[i].childNodes.length; j++){
|
||||
if (_isKHTML){
|
||||
if (a[i].childNodes[j].tagName&&a[i].childNodes[j].tagName.toUpperCase() == b)
|
||||
c[c.length]=a[i].childNodes[j];
|
||||
}
|
||||
|
||||
else if (a[i].childNodes[j].tagName == b)
|
||||
c[c.length]=a[i].childNodes[j];
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
function dhtmlXHeir(a, b){
|
||||
for (var c in b)
|
||||
if (typeof (b[c]) == "function")
|
||||
a[c]=b[c];
|
||||
return a;
|
||||
}
|
||||
|
||||
function dhtmlxEvent(el, event, handler){
|
||||
if (el.addEventListener)
|
||||
el.addEventListener(event, handler, false);
|
||||
|
||||
else if (el.attachEvent)
|
||||
el.attachEvent("on"+event, handler);
|
||||
}
|
||||
|
||||
//============= XSL Extension ===================================
|
||||
|
||||
dtmlXMLLoaderObject.prototype.xslDoc=null;
|
||||
dtmlXMLLoaderObject.prototype.setXSLParamValue=function(paramName, paramValue, xslDoc){
|
||||
if (!xslDoc)
|
||||
xslDoc=this.xslDoc
|
||||
|
||||
if (xslDoc.responseXML)
|
||||
xslDoc=xslDoc.responseXML;
|
||||
var item =
|
||||
this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+paramName+"']", xslDoc,
|
||||
"http:/\/www.w3.org/1999/XSL/Transform", "single");
|
||||
|
||||
if (item != null)
|
||||
item.firstChild.nodeValue=paramValue
|
||||
}
|
||||
dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(xslDoc, xmlDoc){
|
||||
if (!xslDoc)
|
||||
xslDoc=this.xslDoc;
|
||||
|
||||
if (xslDoc.responseXML)
|
||||
xslDoc=xslDoc.responseXML
|
||||
|
||||
if (!xmlDoc)
|
||||
xmlDoc=this.xmlDoc;
|
||||
|
||||
if (xmlDoc.responseXML)
|
||||
xmlDoc=xmlDoc.responseXML
|
||||
|
||||
//MOzilla
|
||||
if (!_isIE){
|
||||
if (!this.XSLProcessor){
|
||||
this.XSLProcessor=new XSLTProcessor();
|
||||
this.XSLProcessor.importStylesheet(xslDoc);
|
||||
}
|
||||
var result = this.XSLProcessor.transformToDocument(xmlDoc);
|
||||
} else {
|
||||
var result = new ActiveXObject("Msxml2.DOMDocument.3.0");
|
||||
try{
|
||||
xmlDoc.transformNodeToObject(xslDoc, result);
|
||||
}catch(e){
|
||||
result = xmlDoc.transformNode(xslDoc);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype.doXSLTransToString=function(xslDoc, xmlDoc){
|
||||
var res = this.doXSLTransToObject(xslDoc, xmlDoc);
|
||||
if(typeof(res)=="string")
|
||||
return res;
|
||||
return this.doSerialization(res);
|
||||
}
|
||||
|
||||
dtmlXMLLoaderObject.prototype.doSerialization=function(xmlDoc){
|
||||
if (!xmlDoc)
|
||||
xmlDoc=this.xmlDoc;
|
||||
if (xmlDoc.responseXML)
|
||||
xmlDoc=xmlDoc.responseXML
|
||||
if (!_isIE){
|
||||
var xmlSerializer = new XMLSerializer();
|
||||
return xmlSerializer.serializeToString(xmlDoc);
|
||||
} else
|
||||
return xmlDoc.xml;
|
||||
}
|
||||
|
||||
/**
|
||||
* @desc:
|
||||
* @type: private
|
||||
*/
|
||||
dhtmlxEventable=function(obj){
|
||||
obj.attachEvent=function(name, catcher, callObj){
|
||||
name='ev_'+name.toLowerCase();
|
||||
if (!this[name])
|
||||
this[name]=new this.eventCatcher(callObj||this);
|
||||
|
||||
return(name+':'+this[name].addEvent(catcher)); //return ID (event name & event ID)
|
||||
}
|
||||
obj.callEvent=function(name, arg0){
|
||||
name='ev_'+name.toLowerCase();
|
||||
if (this[name])
|
||||
return this[name].apply(this, arg0);
|
||||
return true;
|
||||
}
|
||||
obj.checkEvent=function(name){
|
||||
return (!!this['ev_'+name.toLowerCase()])
|
||||
}
|
||||
obj.eventCatcher=function(obj){
|
||||
var dhx_catch = [];
|
||||
var z = function(){
|
||||
var res = true;
|
||||
for (var i = 0; i < dhx_catch.length; i++){
|
||||
if (dhx_catch[i] != null){
|
||||
var zr = dhx_catch[i].apply(obj, arguments);
|
||||
res=res&&zr;
|
||||
}
|
||||
}
|
||||
return res;
|
||||
}
|
||||
z.addEvent=function(ev){
|
||||
if (typeof (ev) != "function")
|
||||
ev=eval(ev);
|
||||
if (ev)
|
||||
return dhx_catch.push(ev)-1;
|
||||
return false;
|
||||
}
|
||||
z.removeEvent=function(id){
|
||||
dhx_catch[id]=null;
|
||||
}
|
||||
return z;
|
||||
}
|
||||
obj.detachEvent=function(id){
|
||||
if (id != false){
|
||||
var list = id.split(':'); //get EventName and ID
|
||||
this[list[0]].removeEvent(list[1]); //remove event
|
||||
}
|
||||
}
|
||||
obj.detachAllEvents = function(){
|
||||
for (var name in this){
|
||||
if (name.indexOf("ev_")==0)
|
||||
delete this[name];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,266 +0,0 @@
|
||||
odoo.define('web_gantt.GanttView', function (require) {
|
||||
"use strict";
|
||||
/*---------------------------------------------------------
|
||||
* Odoo web_gantt
|
||||
*---------------------------------------------------------*/
|
||||
|
||||
var core = require('web.core');
|
||||
var form_common = require('web.form_common');
|
||||
var formats = require('web.formats');
|
||||
var Model = require('web.DataModel');
|
||||
var time = require('web.time');
|
||||
var View = require('web.View');
|
||||
|
||||
var _lt = core._lt;
|
||||
var QWeb = core.qweb;
|
||||
|
||||
|
||||
var GanttView = View.extend({
|
||||
display_name: _lt('Gantt'),
|
||||
icon: 'fa-tasks',
|
||||
view_type: "gantt",
|
||||
init: function() {
|
||||
this._super.apply(this, arguments);
|
||||
this.has_been_loaded = $.Deferred();
|
||||
this.chart_id = _.uniqueId();
|
||||
},
|
||||
view_loading: function(r) {
|
||||
return this.load_gantt(r);
|
||||
},
|
||||
load_gantt: function(fields_view_get, fields_get) {
|
||||
var self = this;
|
||||
this.fields_view = fields_view_get;
|
||||
this.$el.addClass(this.fields_view.arch.attrs['class']);
|
||||
return self.alive(new Model(this.dataset.model)
|
||||
.call('fields_get')).then(function (fields) {
|
||||
self.fields = fields;
|
||||
self.has_been_loaded.resolve();
|
||||
});
|
||||
},
|
||||
do_search: function (domains, contexts, group_bys) {
|
||||
var self = this;
|
||||
self.last_domains = domains;
|
||||
self.last_contexts = contexts;
|
||||
self.last_group_bys = group_bys;
|
||||
// select the group by
|
||||
var n_group_bys = [];
|
||||
if (this.fields_view.arch.attrs.default_group_by) {
|
||||
n_group_bys = this.fields_view.arch.attrs.default_group_by.split(',');
|
||||
}
|
||||
if (group_bys.length) {
|
||||
n_group_bys = group_bys;
|
||||
}
|
||||
// gather the fields to get
|
||||
var fields = _.compact(_.map(["date_start", "date_delay", "date_stop", "progress"], function(key) {
|
||||
return self.fields_view.arch.attrs[key] || '';
|
||||
}));
|
||||
fields = _.uniq(fields.concat(n_group_bys));
|
||||
|
||||
return $.when(this.has_been_loaded).then(function() {
|
||||
return self.dataset.read_slice(fields, {
|
||||
domain: domains,
|
||||
context: contexts
|
||||
}).then(function(data) {
|
||||
return self.on_data_loaded(data, n_group_bys);
|
||||
});
|
||||
});
|
||||
},
|
||||
reload: function() {
|
||||
if (this.last_domains !== undefined)
|
||||
return this.do_search(this.last_domains, this.last_contexts, this.last_group_bys);
|
||||
},
|
||||
on_data_loaded: function(tasks, group_bys) {
|
||||
var self = this;
|
||||
var ids = _.pluck(tasks, "id");
|
||||
return this.dataset.name_get(ids).then(function(names) {
|
||||
var ntasks = _.map(tasks, function(task) {
|
||||
return _.extend({__name: _.detect(names, function(name) { return name[0] == task.id; })[1]}, task);
|
||||
});
|
||||
return self.on_data_loaded_2(ntasks, group_bys);
|
||||
});
|
||||
},
|
||||
on_data_loaded_2: function(tasks, group_bys) {
|
||||
var self = this;
|
||||
$(".oe_gantt", this.$el).html("");
|
||||
|
||||
//prevent more that 1 group by
|
||||
if (group_bys.length > 0) {
|
||||
group_bys = [group_bys[0]];
|
||||
}
|
||||
// if there is no group by, simulate it
|
||||
if (group_bys.length === 0) {
|
||||
group_bys = ["_pseudo_group_by"];
|
||||
_.each(tasks, function(el) {
|
||||
el._pseudo_group_by = "Gantt View";
|
||||
});
|
||||
this.fields._pseudo_group_by = {type: "string"};
|
||||
}
|
||||
|
||||
// get the groups
|
||||
var split_groups = function(tasks, group_bys) {
|
||||
if (group_bys.length === 0)
|
||||
return tasks;
|
||||
var groups = [];
|
||||
_.each(tasks, function(task) {
|
||||
var group_name = task[_.first(group_bys)];
|
||||
var group = _.find(groups, function(group) { return _.isEqual(group.name, group_name); });
|
||||
if (group === undefined) {
|
||||
group = {name:group_name, tasks: [], __is_group: true};
|
||||
groups.push(group);
|
||||
}
|
||||
group.tasks.push(task);
|
||||
});
|
||||
_.each(groups, function(group) {
|
||||
group.tasks = split_groups(group.tasks, _.rest(group_bys));
|
||||
});
|
||||
return groups;
|
||||
};
|
||||
var groups = split_groups(tasks, group_bys);
|
||||
|
||||
// track ids of task items for context menu
|
||||
var task_ids = {};
|
||||
// creation of the chart
|
||||
var generate_task_info = function(task, plevel) {
|
||||
if (_.isNumber(task[self.fields_view.arch.attrs.progress])) {
|
||||
var percent = task[self.fields_view.arch.attrs.progress] || 0;
|
||||
} else {
|
||||
var percent = 100;
|
||||
}
|
||||
var level = plevel || 0;
|
||||
if (task.__is_group) {
|
||||
var task_infos = _.compact(_.map(task.tasks, function(sub_task) {
|
||||
return generate_task_info(sub_task, level + 1);
|
||||
}));
|
||||
if (task_infos.length === 0)
|
||||
return;
|
||||
var task_start = _.reduce(_.pluck(task_infos, "task_start"), function(date, memo) {
|
||||
return memo === undefined || date < memo ? date : memo;
|
||||
}, undefined);
|
||||
var task_stop = _.reduce(_.pluck(task_infos, "task_stop"), function(date, memo) {
|
||||
return memo === undefined || date > memo ? date : memo;
|
||||
}, undefined);
|
||||
var duration = (task_stop.getTime() - task_start.getTime()) / (1000 * 60 * 60);
|
||||
var group_name = task.name ? formats.format_value(task.name, self.fields[group_bys[level]]) : "-";
|
||||
if (level === 0) {
|
||||
var group = new GanttProjectInfo(_.uniqueId("gantt_project_"), group_name, task_start);
|
||||
_.each(task_infos, function(el) {
|
||||
group.addTask(el.task_info);
|
||||
});
|
||||
return group;
|
||||
} else {
|
||||
var group = new GanttTaskInfo(_.uniqueId("gantt_project_task_"), group_name, task_start, duration || 1, percent);
|
||||
_.each(task_infos, function(el) {
|
||||
group.addChildTask(el.task_info);
|
||||
});
|
||||
return {task_info: group, task_start: task_start, task_stop: task_stop};
|
||||
}
|
||||
} else {
|
||||
var task_name = task.__name;
|
||||
var duration_in_business_hours = false;
|
||||
var task_start = time.auto_str_to_date(task[self.fields_view.arch.attrs.date_start]);
|
||||
if (!task_start)
|
||||
return;
|
||||
var task_stop;
|
||||
if (self.fields_view.arch.attrs.date_stop) {
|
||||
task_stop = time.auto_str_to_date(task[self.fields_view.arch.attrs.date_stop]);
|
||||
if (!task_stop)
|
||||
task_stop = task_start;
|
||||
} else { // we assume date_duration is defined
|
||||
var tmp = formats.format_value(task[self.fields_view.arch.attrs.date_delay],
|
||||
self.fields[self.fields_view.arch.attrs.date_delay]);
|
||||
if (!tmp)
|
||||
return;
|
||||
var m_task_start = moment(task_start).add(formats.parse_value(tmp, {type:"float"}), 'hours');
|
||||
task_stop = m_task_start.toDate();
|
||||
}
|
||||
var duration = (task_stop.getTime() - task_start.getTime()) / (1000 * 60 * 60);
|
||||
var id = _.uniqueId("gantt_task_");
|
||||
if (!duration_in_business_hours){
|
||||
duration = (duration / 24) * 8;
|
||||
}
|
||||
var task_info = new GanttTaskInfo(id, task_name, task_start, (duration) || 1, percent);
|
||||
task_info.internal_task = task;
|
||||
task_ids[id] = task_info;
|
||||
return {task_info: task_info, task_start: task_start, task_stop: task_stop};
|
||||
}
|
||||
};
|
||||
var gantt = new GanttChart();
|
||||
_.each(_.compact(_.map(groups, function(e) {return generate_task_info(e, 0);})), function(project) {
|
||||
gantt.addProject(project);
|
||||
});
|
||||
gantt.setEditable(true);
|
||||
gantt.setImagePath("/web_gantt/static/lib/dhtmlxGantt/codebase/imgs/");
|
||||
gantt.attachEvent("onTaskEndDrag", function(task) {
|
||||
self.on_task_changed(task);
|
||||
});
|
||||
gantt.attachEvent("onTaskEndResize", function(task) {
|
||||
self.on_task_changed(task);
|
||||
});
|
||||
// Horrible hack to make sure that something is in the dom with the required id.
|
||||
// The problem is that the view manager renders the view in a document fragment.
|
||||
var $div_with_id = $('<div>').addClass('o_gantt_container').attr('id', this.chart_id);
|
||||
$div_with_id.prependTo(document.body);
|
||||
gantt.create(this.chart_id);
|
||||
|
||||
this.$el.empty().append($div_with_id);
|
||||
|
||||
// bind event to display task when we click the item in the tree
|
||||
$(".taskNameItem", self.$el).click(function(event) {
|
||||
var task_info = task_ids[event.target.id];
|
||||
if (task_info) {
|
||||
self.on_task_display(task_info.internal_task);
|
||||
}
|
||||
});
|
||||
if (this.is_action_enabled('create')) {
|
||||
// insertion of create button
|
||||
var td = $($("table td", self.$el)[0]);
|
||||
var rendered = QWeb.render("GanttView-create-button");
|
||||
$(rendered).prependTo(td);
|
||||
$(".oe_gantt_button_create", this.$el).click(this.on_task_create);
|
||||
}
|
||||
// Fix for IE to display the content of gantt view.
|
||||
this.$el.find(".oe_gantt td:first > div, .oe_gantt td:eq(1) > div > div").css("overflow", "");
|
||||
},
|
||||
on_task_changed: function(task_obj) {
|
||||
var self = this;
|
||||
var itask = task_obj.TaskInfo.internal_task;
|
||||
var start = task_obj.getEST();
|
||||
var duration = task_obj.getDuration();
|
||||
var duration_in_business_hours = !!self.fields_view.arch.attrs.date_delay;
|
||||
if (!duration_in_business_hours){
|
||||
duration = (duration / 8 ) * 24;
|
||||
}
|
||||
var end = moment(start).add(duration, 'hours').toDate();
|
||||
var data = {};
|
||||
data[self.fields_view.arch.attrs.date_start] =
|
||||
time.auto_date_to_str(start, self.fields[self.fields_view.arch.attrs.date_start].type);
|
||||
if (self.fields_view.arch.attrs.date_stop) {
|
||||
data[self.fields_view.arch.attrs.date_stop] =
|
||||
time.auto_date_to_str(end, self.fields[self.fields_view.arch.attrs.date_stop].type);
|
||||
} else { // we assume date_duration is defined
|
||||
data[self.fields_view.arch.attrs.date_delay] = duration;
|
||||
}
|
||||
this.dataset.write(itask.id, data);
|
||||
},
|
||||
on_task_display: function(task) {
|
||||
var pop = new form_common.FormViewDialog(this, {
|
||||
res_model: this.dataset.model,
|
||||
res_id: task.id,
|
||||
}).open();
|
||||
pop.on('write_completed', this, this.reload);
|
||||
},
|
||||
on_task_create: function() {
|
||||
var self = this;
|
||||
new form_common.FormViewDialog(this, {
|
||||
res_model: self.dataset.model,
|
||||
on_selected: function() {
|
||||
self.reload();
|
||||
}
|
||||
}).open();
|
||||
},
|
||||
});
|
||||
|
||||
core.view_registry.add('gantt', GanttView);
|
||||
|
||||
return GanttView;
|
||||
});
|
||||
@@ -1,7 +0,0 @@
|
||||
.o_gantt_container {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
bottom: 16px;
|
||||
right: 16px;
|
||||
left: 16px;
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<templates>
|
||||
<t t-name="GanttView-create-button">
|
||||
<button class="oe_button oe_gantt_button_create">Create</button>
|
||||
</t>
|
||||
</templates>
|
||||
@@ -1,15 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<template id="assets_backend" name="web_gantt assets" inherit_id="web.assets_backend">
|
||||
<xpath expr="." position="inside">
|
||||
<link rel="stylesheet" href="/web_gantt/static/src/less/gantt.less"/>
|
||||
<link rel="stylesheet" href="/web_gantt/static/lib/dhtmlxGantt/codebase/dhtmlxgantt.css"/>
|
||||
|
||||
<script type="text/javascript" src="/web_gantt/static/lib/dhtmlxGantt/sources/dhtmlxcommon.js"></script>
|
||||
<script type="text/javascript" src="/web_gantt/static/lib/dhtmlxGantt/sources/dhtmlxgantt.js"></script>
|
||||
<script type="text/javascript" src="/web_gantt/static/src/js/gantt.js"></script>
|
||||
</xpath>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||