Merge lp:~serpentcs/hotel-management-system/hotel-7.0 into lp:hotel-management-system

Proposed by Vanooteghem on 2014-09-28
Status: Needs review
Proposed branch: lp:~serpentcs/hotel-management-system/hotel-7.0
Merge into: lp:hotel-management-system
Diff against target: 13960 lines (+7702/-2935) (has conflicts)
91 files modified
board_frontdesk/Doc/ChangeLog.txt (+8/-0)
board_frontdesk/__init__.py (+15/-12)
board_frontdesk/__openerp__.py (+20/-19)
board_frontdesk/board_frontdesk_view.xml (+40/-49)
board_frontdesk/i18n/fr.po (+76/-0)
hotel/Doc/ChangeLog.txt (+23/-0)
hotel/__init__.py (+14/-12)
hotel/__openerp__.py (+37/-9)
hotel/hotel.py (+344/-311)
hotel/hotel_data.xml (+16/-35)
hotel/hotel_folio_workflow.xml (+4/-19)
hotel/hotel_scheduler.xml (+17/-0)
hotel/hotel_sequence.xml (+18/-0)
hotel/hotel_view.xml (+855/-3)
hotel/i18n/fr.po (+752/-0)
hotel/i18n/hotel.pot (+562/-341)
hotel/report/__init__.py (+11/-10)
hotel/report/hotel_report.py (+22/-23)
hotel/report/hotel_report.xml (+1/-0)
hotel/report/total_folio.rml (+33/-21)
hotel/security/ir.model.access.csv (+33/-12)
hotel/static/src/css/room_kanban.css (+4/-0)
hotel/wizard/__init__.py (+10/-9)
hotel/wizard/hotel_wizard.py (+26/-31)
hotel/wizard/hotel_wizard.xml (+37/-35)
hotel_housekeeping/Doc/ChangeLog.txt (+17/-0)
hotel_housekeeping/__init__.py (+12/-11)
hotel_housekeeping/__openerp__.py (+24/-24)
hotel_housekeeping/hotel_housekeeping.py (+76/-80)
hotel_housekeeping/hotel_housekeeping_view.xml (+86/-89)
hotel_housekeeping/i18n/fr.po (+356/-0)
hotel_housekeeping/report/__init__.py (+11/-10)
hotel_housekeeping/report/activity_detail.rml (+35/-24)
hotel_housekeeping/report/hotel_housekeeping_report.xml (+2/-3)
hotel_housekeeping/report/housekeeping_report.py (+48/-35)
hotel_housekeeping/security/ir.model.access.csv (+13/-6)
hotel_housekeeping/wizard/__init__.py (+11/-10)
hotel_housekeeping/wizard/hotel_housekeeping_wizard.xml (+19/-17)
hotel_housekeeping/wizard/housekeeping_wizard.py (+24/-29)
hotel_reservation/Doc/ChangeLog.txt (+23/-0)
hotel_reservation/__init__.py (+12/-11)
hotel_reservation/__openerp__.py (+34/-11)
hotel_reservation/hotel_reservation.py (+315/-114)
hotel_reservation/hotel_reservation_data.xml (+56/-67)
hotel_reservation/hotel_reservation_sequence.xml (+1/-1)
hotel_reservation/hotel_reservation_view.xml (+205/-77)
hotel_reservation/hotel_scheduler.xml (+15/-0)
hotel_reservation/i18n/fr.po (+356/-0)
hotel_reservation/i18n/hotel_reservation.pot (+482/-297)
hotel_reservation/report/__init__.py (+10/-9)
hotel_reservation/report/checkinlist.rml (+25/-24)
hotel_reservation/report/checkoutlist.rml (+32/-29)
hotel_reservation/report/hotel_reservation_report.py (+82/-50)
hotel_reservation/report/maxroom.rml (+34/-7)
hotel_reservation/report/room_res.rml (+69/-75)
hotel_reservation/security/ir.model.access.csv (+9/-2)
hotel_reservation/static/src/css/room_summary.css (+24/-0)
hotel_reservation/static/src/js/hotel_room_summary.js (+99/-0)
hotel_reservation/static/src/xml/hotel_room_summary.xml (+31/-0)
hotel_reservation/wizard/__init__.py (+10/-9)
hotel_reservation/wizard/hotel_reservation_wizard.py (+54/-70)
hotel_reservation/wizard/hotel_reservation_wizard.xml (+35/-38)
hotel_restaurant/Doc/ChangeLog.txt (+14/-0)
hotel_restaurant/__init__.py (+12/-12)
hotel_restaurant/__openerp__.py (+23/-22)
hotel_restaurant/hotel_restaurant.py (+155/-215)
hotel_restaurant/hotel_restaurant_data.xml (+104/-21)
hotel_restaurant/hotel_restaurant_view.xml (+232/-116)
hotel_restaurant/hotel_restaurant_workflow.xml (+15/-4)
hotel_restaurant/i18n/fr.po (+591/-0)
hotel_restaurant/report/__init__.py (+10/-9)
hotel_restaurant/report/bill.rml (+51/-38)
hotel_restaurant/report/hotel_restaurant_report.py (+19/-20)
hotel_restaurant/report/hotel_restaurant_report.xml (+2/-1)
hotel_restaurant/report/kot.rml (+47/-55)
hotel_restaurant/report/res_table.rml (+25/-16)
hotel_restaurant/wizard/__init__.py (+10/-9)
hotel_restaurant/wizard/hotel_restaurant_wizard.py (+20/-32)
hotel_restaurant/wizard/hotel_restaurant_wizard.xml (+24/-21)
report_hotel_reservation/Doc/ChangeLog.txt (+11/-0)
report_hotel_reservation/__init__.py (+4/-5)
report_hotel_reservation/__openerp__.py (+13/-12)
report_hotel_reservation/i18n/fr.po (+357/-0)
report_hotel_reservation/report_hotel_reservation.py (+9/-15)
report_hotel_reservation/report_hotel_reservation_view.xml (+17/-25)
report_hotel_restaurant/Doc/ChangeLog.txt (+11/-0)
report_hotel_restaurant/__init__.py (+4/-5)
report_hotel_restaurant/__openerp__.py (+15/-15)
report_hotel_restaurant/i18n/fr.po (+108/-0)
report_hotel_restaurant/report_hotel_restaurant.py (+11/-15)
report_hotel_restaurant/report_hotel_restaurant_view.xml (+63/-72)
Text conflict in hotel/__openerp__.py
Text conflict in hotel/hotel_view.xml
Conflict adding file hotel/static.  Moved existing file to hotel/static.moved.
Text conflict in hotel_reservation/__openerp__.py
To merge this branch: bzr merge lp:~serpentcs/hotel-management-system/hotel-7.0
Reviewer Review Type Date Requested Status
Hotel Editors 2014-09-28 Pending
Review via email: mp+236253@code.launchpad.net
To post a comment you must log in.

Unmerged revisions

67. By Dhwani ( Serpent Consulting Services) on 2014-09-09

[IMP]: Improved the room category code

66. By Serpent Consulting Services on 2014-08-22

FIX : Corrected wrong domain on Hotel View(Courtesy :Andreas Andreou <email address hidden> )

65. By Dhwani ( Serpent Consulting Services) on 2014-08-07

[IMP]: Improved the code for folio

64. By Serpent Consulting Services on 2014-07-21

[ADD] FR translations added. Courtesy to Richmond FIKO <email address hidden>

63. By Dhwani ( Serpent Consulting Services) on 2014-05-27

[FIX]: Fixed the issue of room price while change the pricelist

62. By Dhwani ( Serpent Consulting Services) on 2014-04-18

[IMP]: Imprvoed the reservation code.

61. By Dhwani ( Serpent Consulting Services) on 2014-04-05

[IMP]: Improved the code

60. By Dhwani ( Serpent Consulting Services) on 2014-04-04

[IMP]: Standardized the modules as per v7

59. By Serpent Consulting Services on 2014-02-19

Some optimizations and py standards corrected

58. By Serpent Consulting Services on 2014-02-19

Company name updated

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'board_frontdesk/Doc'
2=== added file 'board_frontdesk/Doc/ChangeLog.txt'
3--- board_frontdesk/Doc/ChangeLog.txt 1970-01-01 00:00:00 +0000
4+++ board_frontdesk/Doc/ChangeLog.txt 2014-09-28 13:18:16 +0000
5@@ -0,0 +1,8 @@
6+============================================================================================================================
7+ Version Change Log (board_frontdesk)
8+============================================================================================================================
9+0.03 on 2014-01-07 by Krunal Soni
10+ * Added Accurate licensing terms and Copyright(C) on top inside license info in each py file.
11+
12+0.02 on 2013-11-13 by Sudhir Arya
13+ * Standardized the module as per v7 standards.
14
15=== modified file 'board_frontdesk/__init__.py'
16--- board_frontdesk/__init__.py 2012-05-18 07:39:13 +0000
17+++ board_frontdesk/__init__.py 2014-09-28 13:18:16 +0000
18@@ -1,20 +1,23 @@
19-# -*- encoding: utf-8 -*-
20+# -*- coding: utf-8 -*-
21 ##############################################################################
22-#
23+#
24 # OpenERP, Open Source Management Solution
25-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
26+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
27+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
28 #
29 # This program is free software: you can redistribute it and/or modify
30-# it under the terms of the GNU Affero General Public License as
31-# published by the Free Software Foundation, either version 3 of the
32-# License, or (at your option) any later version.
33+# it under the terms of the GNU General Public License as published by
34+# the Free Software Foundation, either version 3 of the License, or
35+# (at your option) any later version.
36 #
37 # This program is distributed in the hope that it will be useful,
38 # but WITHOUT ANY WARRANTY; without even the implied warranty of
39 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40-# GNU Affero General Public License for more details.
41-#
42-# You should have received a copy of the GNU Affero General Public License
43-# along with this program. If not, see <http://www.gnu.org/licenses/>.
44-#
45-##############################################################################
46\ No newline at end of file
47+# GNU General Public License for more details.
48+#
49+# You should have received a copy of the GNU General Public License
50+# along with this program. If not, see <http://www.gnu.org/licenses/>
51+#
52+##############################################################################
53+
54+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
55\ No newline at end of file
56
57=== modified file 'board_frontdesk/__openerp__.py'
58--- board_frontdesk/__openerp__.py 2012-05-22 14:06:57 +0000
59+++ board_frontdesk/__openerp__.py 2014-09-28 13:18:16 +0000
60@@ -1,42 +1,43 @@
61-# -*- encoding: utf-8 -*-
62+# -*- coding: utf-8 -*-
63 ##############################################################################
64-#
65+#
66 # OpenERP, Open Source Management Solution
67-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
68+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
69+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
70 #
71 # This program is free software: you can redistribute it and/or modify
72-# it under the terms of the GNU Affero General Public License as
73-# published by the Free Software Foundation, either version 3 of the
74-# License, or (at your option) any later version.
75+# it under the terms of the GNU General Public License as published by
76+# the Free Software Foundation, either version 3 of the License, or
77+# (at your option) any later version.
78 #
79 # This program is distributed in the hope that it will be useful,
80 # but WITHOUT ANY WARRANTY; without even the implied warranty of
81 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
82-# GNU Affero General Public License for more details.
83+# GNU General Public License for more details.
84 #
85-# You should have received a copy of the GNU Affero General Public License
86-# along with this program. If not, see <http://www.gnu.org/licenses/>.
87+# You should have received a copy of the GNU General Public License
88+# along with this program. If not, see <http://www.gnu.org/licenses/>
89 #
90 ##############################################################################
91 {
92 "name":"Board for Hotel FrontDesk",
93- "version":"1.0",
94- "author":"Tiny",
95+ "version" : "0.03",
96+ "author":"Serpent Consulting Services Pvt. Ltd.", "OpenERP SA"
97 "category":"Board/Hotel FrontDesk",
98+ "website": ["http://www.serpentcs.com", "http://www.openerp.com"],
99 "depends":[
100 "board",
101- "report_hotel_reservation",
102-
103-
104+ "hotel_reservation",
105 ],
106- "demo_xml":[],
107- "update_xml":["board_frontdesk_view.xml"],
108 "description": """
109 This module implements a dashboard for hotel FrontDesk that includes:
110 * Calendar view of Today's Check-In and Check-Out
111 * Calendar view of Weekly Check-In and Check-Out
112 * Calendar view of Monthly Check-In and Check-Out
113 """,
114- "active":False,
115- "installable":True,
116-}
117\ No newline at end of file
118+ "data":["board_frontdesk_view.xml"],
119+ "auto_install": False,
120+ "installable": True
121+}
122+
123+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
124\ No newline at end of file
125
126=== modified file 'board_frontdesk/board_frontdesk_view.xml'
127--- board_frontdesk/board_frontdesk_view.xml 2012-05-22 14:06:57 +0000
128+++ board_frontdesk/board_frontdesk_view.xml 2014-09-28 13:18:16 +0000
129@@ -1,51 +1,42 @@
130 <?xml version="1.0"?>
131 <openerp>
132- <data>
133-
134-<!-- <record model="board.note.type" id="note_frontdesk_type">-->
135-<!-- <field name="name">FrontDesk</field>-->
136-<!-- </record>-->
137-
138- <record model="ir.actions.act_window" id="action_view_frontdesk_cal">
139- <field name="name">FrontDesk</field>
140- <field name="res_model">hotel.reservation</field>
141- <field name="view_type">form</field>
142- <field name="view_mode">calendar,form</field>
143- <field name="view_id" ref="hotel_reservation.hotel_calendar_view" />
144- </record>
145-
146- <record model="ir.ui.view" id="board_frontdesk_form">
147- <field name="name">board.frontdesk.form</field>
148- <field name="model">board.board</field>
149- <field name="type">form</field>
150- <field name="arch" type="xml">
151- <form string="FrontDesk board">
152- <hpaned>
153- <child1>
154- <action
155- string="Reservation"
156- name="%(action_view_frontdesk_cal)d"
157- />
158- </child1>
159- </hpaned>
160- </form>
161- </field>
162- </record>
163-
164- <record model="ir.actions.act_window" id="open_board_frontdesk">
165- <field name="name">FrontDesk Dashboard</field>
166- <field name="res_model">board.board</field>
167- <field name="view_type">form</field>
168- <field name="usage">menu</field>
169- <field name="view_id" ref="board_frontdesk_form"/>
170- </record>
171-
172- <menuitem
173- name="Hotel FrontDesk Board"
174- action="open_board_frontdesk"
175- sequence="1"
176- id="menu_board_frontdesk" icon="terp-graph"
177- parent="base.menu_dashboard_admin"/>
178-
179- </data>
180-</openerp>
181+ <data>
182+
183+ <record model="ir.actions.act_window" id="action_view_frontdesk_cal">
184+ <field name="name">FrontDesk</field>
185+ <field name="res_model">hotel.reservation</field>
186+ <field name="view_type">form</field>
187+ <field name="view_mode">tree,form,calendar</field>
188+ <field name="view_id" ref="hotel_reservation.hotel_calendar_view"/>
189+ </record>
190+
191+ <record model="ir.ui.view" id="board_frontdesk_form">
192+ <field name="name">board.frontdesk.form</field>
193+ <field name="model">board.board</field>
194+ <field name="arch" type="xml">
195+ <form string="FrontDesk board" version="7.0">
196+ <board style="2-1">
197+ <column>
198+ <action string="Reservation" name="%(action_view_frontdesk_cal)d"/>
199+ </column>
200+ </board>
201+ </form>
202+ </field>
203+ </record>
204+
205+ <record model="ir.actions.act_window" id="open_board_frontdesk">
206+ <field name="name">FrontDesk Dashboard</field>
207+ <field name="res_model">board.board</field>
208+ <field name="view_type">form</field>
209+ <field name="view_mode">form</field>
210+ <field name="view_id" ref="board_frontdesk_form"/>
211+ </record>
212+
213+ <menuitem id="menu_board_frontdesk"
214+ name="Hotel FrontDesk Board"
215+ action="open_board_frontdesk"
216+ sequence="46"
217+ parent="base.menu_reporting_dashboard"/>
218+
219+ </data>
220+</openerp>
221\ No newline at end of file
222
223=== modified file 'board_frontdesk/i18n/board_frontdesk.pot' (properties changed: +x to -x)
224=== added file 'board_frontdesk/i18n/fr.po'
225--- board_frontdesk/i18n/fr.po 1970-01-01 00:00:00 +0000
226+++ board_frontdesk/i18n/fr.po 2014-09-28 13:18:16 +0000
227@@ -0,0 +1,76 @@
228+# Translation of OpenERP Server.
229+# This file contains the translation of the following modules:
230+# * board_frontdesk
231+#
232+msgid ""
233+msgstr ""
234+"Project-Id-Version: OpenERP Server 5.0.6\n"
235+"Report-Msgid-Bugs-To: support@openerp.com\n"
236+"POT-Creation-Date: 2009-11-26 06:18:01+0000\n"
237+"PO-Revision-Date: 2014-07-18 17:17-0000\n"
238+"Last-Translator: <>\n"
239+"Language-Team: \n"
240+"MIME-Version: 1.0\n"
241+"Content-Type: text/plain; charset=UTF-8\n"
242+"Content-Transfer-Encoding: 8bit\n"
243+"Plural-Forms: \n"
244+"Language: fr\n"
245+"X-Generator: Poedit 1.6.6\n"
246+
247+#. module: board_frontdesk
248+#: model:ir.ui.menu,name:board_frontdesk.menu_board_frontdesk
249+msgid "Hotel FrontDesk Board"
250+msgstr "Réception Hôtel"
251+
252+#. module: board_frontdesk
253+#: constraint:ir.ui.view:0
254+msgid "Invalid XML for View Architecture!"
255+msgstr "XML invalide pour cette vue!"
256+
257+#. module: board_frontdesk
258+#: model:ir.actions.act_window,name:board_frontdesk.open_board_frontdesk
259+msgid "FrontDesk Dashboard"
260+msgstr "Tableau de bord Accueil"
261+
262+#. module: board_frontdesk
263+#: model:ir.module.module,description:board_frontdesk.module_meta_information
264+msgid ""
265+"\n"
266+"This module implements a dashboard for hotel FrontDesk that includes:\n"
267+" * Calendar view of Today's Check-In and Check-Out\n"
268+" * Calendar view of Weekly Check-In and Check-Out\n"
269+" * Calendar view of Monthly Check-In and Check-Out\n"
270+" "
271+msgstr ""
272+"\n"
273+"Ce module intègre un tableau de bord pour la Réception de l'hôtel composé "
274+"de:\n"
275+" * Un calendrier des Arrivés et Départs quotidiens\n"
276+" * Un calendrier des Arrivés et Départs hebdomadaires\n"
277+" * Un calendrier des Arrivés et Départs mensuels\n"
278+" "
279+
280+#. module: board_frontdesk
281+#: constraint:ir.actions.act_window:0
282+msgid "Invalid model name in the action definition."
283+msgstr "Nom du modèle incorrect dans \"action definition\""
284+
285+#. module: board_frontdesk
286+#: model:ir.actions.act_window,name:board_frontdesk.action_view_frontdesk_cal
287+msgid "FrontDesk"
288+msgstr "Accueil"
289+
290+#. module: board_frontdesk
291+#: view:board.board:0
292+msgid "Reservation"
293+msgstr "Réservation"
294+
295+#. module: board_frontdesk
296+#: model:ir.module.module,shortdesc:board_frontdesk.module_meta_information
297+msgid "Board for Hotel FrontDesk"
298+msgstr "Tableau Réception"
299+
300+#. module: board_frontdesk
301+#: view:board.board:0
302+msgid "FrontDesk board"
303+msgstr "Tableau Réception"
304
305=== modified file 'board_frontdesk/i18n/fr_BE.po' (properties changed: +x to -x)
306=== added directory 'hotel/Doc'
307=== added file 'hotel/Doc/ChangeLog.txt'
308--- hotel/Doc/ChangeLog.txt 1970-01-01 00:00:00 +0000
309+++ hotel/Doc/ChangeLog.txt 2014-09-28 13:18:16 +0000
310@@ -0,0 +1,23 @@
311+============================================================================================================================
312+ Version Change Log (hotel)
313+============================================================================================================================
314+0.07 on 2014-04-04 by Dhwani
315+ * Standardized the module as per v7 standards.
316+
317+0.06 on 2014-01-11 by Krunal Soni
318+ * Checked code quality and improved report format.
319+
320+0.05 on 2014-01-07 by Krunal Soni
321+ * Added Accurate licensing terms and Copyright(C) on top inside license info in each py file.
322+
323+0.04 on 2013-11-19 by Sudhir Arya
324+ * Fixed onchanage errors, bugs in generate folio and enhanced the code.
325+
326+0.03 on 2013-11-18 by Sudhir Arya
327+ * Added access rights to some objects.
328+
329+0.02 on 2013-11-13 by Sudhir Arya
330+ * Standardized the module as per v7 standards.
331+
332+1.01 --> Oct 1,2013 : Anil Kesariya
333+ * Added Access control for manager user Improved labels and Fixed the error.
334\ No newline at end of file
335
336=== modified file 'hotel/__init__.py'
337--- hotel/__init__.py 2012-05-22 14:06:57 +0000
338+++ hotel/__init__.py 2014-09-28 13:18:16 +0000
339@@ -1,25 +1,27 @@
340-# -*- encoding: utf-8 -*-
341+# -*- coding: utf-8 -*-
342 ##############################################################################
343-#
344+#
345 # OpenERP, Open Source Management Solution
346-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
347+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
348+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
349 #
350 # This program is free software: you can redistribute it and/or modify
351-# it under the terms of the GNU Affero General Public License as
352-# published by the Free Software Foundation, either version 3 of the
353-# License, or (at your option) any later version.
354+# it under the terms of the GNU General Public License as published by
355+# the Free Software Foundation, either version 3 of the License, or
356+# (at your option) any later version.
357 #
358 # This program is distributed in the hope that it will be useful,
359 # but WITHOUT ANY WARRANTY; without even the implied warranty of
360 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
361-# GNU Affero General Public License for more details.
362+# GNU General Public License for more details.
363 #
364-# You should have received a copy of the GNU Affero General Public License
365-# along with this program. If not, see <http://www.gnu.org/licenses/>.
366+# You should have received a copy of the GNU General Public License
367+# along with this program. If not, see <http://www.gnu.org/licenses/>
368 #
369 ##############################################################################
370-import hotel
371-import wizard
372-import report
373+
374+from . import hotel
375+from . import wizard
376+from . import report
377
378 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
379
380=== modified file 'hotel/__openerp__.py'
381--- hotel/__openerp__.py 2012-11-24 23:33:44 +0000
382+++ hotel/__openerp__.py 2014-09-28 13:18:16 +0000
383@@ -1,28 +1,35 @@
384-# -*- encoding: utf-8 -*-
385+# -*- coding: utf-8 -*-
386 ##############################################################################
387-#
388+#
389 # OpenERP, Open Source Management Solution
390-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
391+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
392+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
393 #
394 # This program is free software: you can redistribute it and/or modify
395-# it under the terms of the GNU Affero General Public License as
396-# published by the Free Software Foundation, either version 3 of the
397-# License, or (at your option) any later version.
398+# it under the terms of the GNU General Public License as published by
399+# the Free Software Foundation, either version 3 of the License, or
400+# (at your option) any later version.
401 #
402 # This program is distributed in the hope that it will be useful,
403 # but WITHOUT ANY WARRANTY; without even the implied warranty of
404 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
405-# GNU Affero General Public License for more details.
406+# GNU General Public License for more details.
407 #
408-# You should have received a copy of the GNU Affero General Public License
409-# along with this program. If not, see <http://www.gnu.org/licenses/>.
410+# You should have received a copy of the GNU General Public License
411+# along with this program. If not, see <http://www.gnu.org/licenses/>
412 #
413 ##############################################################################
414
415 {
416+<<<<<<< TREE
417 "name" : "Hotel Management Base",
418 "version" : "1.0",
419 "author" : "Tiny",
420+=======
421+ "name" : "Hotel Management",
422+ "version" : "0.07",
423+ "author": ["Serpent Consulting Services Pvt. Ltd.", "OpenERP SA" ],
424+>>>>>>> MERGE-SOURCE
425 "category" : "Generic Modules/Hotel Management",
426 "description": """
427 Module for Hotel/Resort/Rooms/Property management. You can manage:
428@@ -35,6 +42,7 @@
429
430 Different reports are also provided, mainly for hotel statistics.
431 """,
432+<<<<<<< TREE
433 "depends" : ["sale"],
434 "init_xml" : [],
435 "demo_xml" : [
436@@ -52,6 +60,26 @@
437 "active": False,
438 "installable": True,
439 'application': True,
440+=======
441+ "website": ["http://www.serpentcs.com", "http://www.openerp.com"],
442+ "depends" : ["sale_stock"],
443+ "demo" : [
444+ ],
445+ "data": [
446+ "security/hotel_security.xml",
447+ "security/ir.model.access.csv",
448+ "hotel_sequence.xml",
449+ "hotel_folio_workflow.xml",
450+# "hotel_scheduler.xml",
451+ "report/hotel_report.xml",
452+ "hotel_view.xml",
453+ "hotel_data.xml",
454+ "wizard/hotel_wizard.xml",
455+ ],
456+ 'css': ["static/src/css/room_kanban.css"],
457+ "auto_install": False,
458+ "installable": True
459+>>>>>>> MERGE-SOURCE
460 }
461
462 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
463
464=== modified file 'hotel/data/hotel-color.png' (properties changed: -x to +x)
465=== modified file 'hotel/data/hotel-grey.png' (properties changed: -x to +x)
466=== modified file 'hotel/hotel.py'
467--- hotel/hotel.py 2012-05-25 11:25:10 +0000
468+++ hotel/hotel.py 2014-09-28 13:18:16 +0000
469@@ -1,172 +1,164 @@
470-# -*- encoding: utf-8 -*-
471+# -*- coding: utf-8 -*-
472 ##############################################################################
473-#
474+#
475 # OpenERP, Open Source Management Solution
476-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
477+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
478+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
479 #
480 # This program is free software: you can redistribute it and/or modify
481-# it under the terms of the GNU Affero General Public License as
482-# published by the Free Software Foundation, either version 3 of the
483-# License, or (at your option) any later version.
484+# it under the terms of the GNU General Public License as published by
485+# the Free Software Foundation, either version 3 of the License, or
486+# (at your option) any later version.
487 #
488 # This program is distributed in the hope that it will be useful,
489 # but WITHOUT ANY WARRANTY; without even the implied warranty of
490 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
491-# GNU Affero General Public License for more details.
492+# GNU General Public License for more details.
493 #
494-# You should have received a copy of the GNU Affero General Public License
495-# along with this program. If not, see <http://www.gnu.org/licenses/>.
496+# You should have received a copy of the GNU General Public License
497+# along with this program. If not, see <http://www.gnu.org/licenses/>
498 #
499 ##############################################################################
500-from osv import fields, osv
501+
502+from openerp.osv import fields, osv
503 import time
504-import netsvc
505-#import ir
506-from mx import DateTime
507+from openerp import netsvc
508 import datetime
509-from tools import config
510+from openerp.tools.translate import _
511+from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT
512
513-class hotel_floor(osv.osv):
514+class hotel_floor(osv.Model):
515 _name = "hotel.floor"
516 _description = "Floor"
517 _columns = {
518 'name': fields.char('Floor Name', size=64, required=True, select=True),
519- 'sequence' : fields.integer('Sequence', size=64),
520- }
521-hotel_floor()
522+ 'sequence': fields.integer('Sequence', size=64),
523+ }
524
525-class product_category(osv.osv):
526+class product_category(osv.Model):
527 _inherit = "product.category"
528 _columns = {
529- 'isroomtype':fields.boolean('Is Room Type'),
530- 'isamenitype':fields.boolean('Is amenities Type'),
531- 'isservicetype':fields.boolean('Is Service Type'),
532+ 'isroomtype': fields.boolean('Is Room Type'),
533+ 'isamenitype': fields.boolean('Is amenities Type'),
534+ 'isservicetype': fields.boolean('Is Service Type'),
535 }
536-product_category()
537
538-class hotel_room_type(osv.osv):
539- _name = "hotel.room_type"
540- _inherits = {'product.category':'cat_id'}
541+class hotel_room_type(osv.Model):
542+ _name = "hotel.room.type"
543+ _inherits = {'product.category': 'cat_id'}
544 _description = "Room Type"
545- _columns = {
546- 'cat_id':fields.many2one('product.category', 'category', required=True, select=True, ondelete='cascade'),
547-
548+ _columns = {
549+ 'cat_id': fields.many2one('product.category', 'category', required=True, select=True, ondelete='cascade'),
550 }
551 _defaults = {
552- 'isroomtype': lambda * a: 1,
553- }
554-hotel_room_type()
555-
556-
557-class product_product(osv.osv):
558+ 'isroomtype': 1,
559+ }
560+
561+class product_product(osv.Model):
562 _inherit = "product.product"
563 _columns = {
564- 'isroom':fields.boolean('Is Room'),
565- 'iscategid':fields.boolean('Is categ id'),
566- 'isservice':fields.boolean('Is Service id'),
567-
568+ 'isroom': fields.boolean('Is Room'),
569+ 'iscategid': fields.boolean('Is categ id'),
570+ 'isservice': fields.boolean('Is Service id'),
571 }
572-product_product()
573
574-class hotel_room_amenities_type(osv.osv):
575- _name = 'hotel.room_amenities_type'
576+class hotel_room_amenities_type(osv.Model):
577+ _name = 'hotel.room.amenities.type'
578 _description = 'amenities Type'
579 _inherits = {'product.category':'cat_id'}
580 _columns = {
581- 'cat_id':fields.many2one('product.category', 'category', required=True, ondelete='cascade'),
582- }
583+ 'cat_id': fields.many2one('product.category', 'category', required=True, ondelete='cascade'),
584+ }
585 _defaults = {
586- 'isamenitype': lambda * a: 1,
587-
588+ 'isamenitype': 1,
589 }
590
591-hotel_room_amenities_type()
592-
593-class hotel_room_amenities(osv.osv):
594- _name = 'hotel.room_amenities'
595+class hotel_room_amenities(osv.Model):
596+ _name = 'hotel.room.amenities'
597 _description = 'Room amenities'
598 _inherits = {'product.product':'room_categ_id'}
599 _columns = {
600- 'room_categ_id':fields.many2one('product.product', 'Product Category', required=True, ondelete='cascade'),
601- 'rcateg_id':fields.many2one('hotel.room_amenities_type', 'Amenity Catagory'),
602- 'amenity_rate':fields.integer('Amenity Rate'),
603- }
604+ 'room_categ_id': fields.many2one('product.product', 'Product Category', required=True, ondelete='cascade'),
605+ 'rcateg_id': fields.many2one('hotel.room.amenities.type', 'Amenity Catagory'),
606+ }
607 _defaults = {
608- 'iscategid': lambda * a: 1,
609- }
610-
611-hotel_room_amenities()
612+ 'iscategid': 1,
613+ }
614
615-class hotel_room(osv.osv):
616-
617+class hotel_room(osv.Model):
618 _name = 'hotel.room'
619- _inherits = {'product.product':'product_id'}
620+ _inherits = {'product.product': 'product_id'}
621 _description = 'Hotel Room'
622 _columns = {
623-
624 'product_id': fields.many2one('product.product', 'Product_id', required=True, ondelete='cascade'),
625- 'floor_id':fields.many2one('hotel.floor', 'Floor No'),
626- 'max_adult':fields.integer('Max Adult'),
627- 'max_child':fields.integer('Max Child'),
628- 'avail_status':fields.selection([('assigned', 'Assigned'), (' unassigned', 'Unassigned')], 'Room Status'),
629- 'room_amenities':fields.many2many('hotel.room_amenities', 'temp_tab', 'room_amenities', 'rcateg_id', 'Room Amenities'),
630- }
631+ 'floor_id': fields.many2one('hotel.floor', 'Floor No', help='At which floor the room is located.'),
632+ 'max_adult': fields.integer('Max Adult'),
633+ 'max_child': fields.integer('Max Child'),
634+ 'room_amenities': fields.many2many('hotel.room.amenities', 'temp_tab', 'room_amenities', 'rcateg_id', 'Room Amenities', help='List of room amenities. '),
635+ 'status': fields.selection([('available', 'Available'), ('occupied', 'Occupied')], 'Status'),
636+# 'room_reservation_line_ids': fields.one2many('hotel.room.reservation.line','room_id','Room Reservation Line'),
637+ 'room_rent_ids': fields.one2many('room.rent', 'rent_id', 'Room Rent'),
638+ }
639 _defaults = {
640- 'isroom': lambda * a: 1,
641- 'rental': lambda * a: 1,
642- }
643-
644-hotel_room()
645-
646-class hotel_folio(osv.osv):
647-
648- def _incoterm_get(self, cr, uid, context={}):
649- return self.pool.get('sale.order')._incoterm_get(cr, uid, context={})
650-
651- def copy(self, cr, uid, id, default=None, context={}):
652- return self.pool.get('sale.order').copy(cr, uid, id, default=None, context={})
653-
654+ 'isroom': 1,
655+ 'rental': 1,
656+ 'status': 'available',
657+ }
658+
659+ def set_room_status_occupied(self, cr, uid, ids, context=None):
660+ return self.write(cr, uid, ids, {'status': 'occupied'}, context=context)
661+
662+ def set_room_status_available(self, cr, uid, ids, context=None):
663+ return self.write(cr, uid, ids, {'status': 'available'}, context=context)
664+
665+class room_rent(osv.Model):
666+ _name = 'room.rent'
667+ _columns = {
668+ 'rent_id': fields.many2one('hotel.room', 'Room Rent'),
669+ 'price': fields.float('Price (Per night)'),
670+ 'mon': fields.boolean('Monday'),
671+ 'tue': fields.boolean('Tuesday'),
672+ 'wed': fields.boolean('Wednesday'),
673+ 'thu': fields.boolean('Thursday'),
674+ 'fri': fields.boolean('Friday'),
675+ 'sat': fields.boolean('Saturday'),
676+ 'sun': fields.boolean('Sunday'),
677+ }
678+
679+class hotel_folio(osv.Model):
680+
681+ def copy(self, cr, uid, id, default=None, context=None):
682+ return self.pool.get('sale.order').copy(cr, uid, id, default=None, context=None)
683+
684 def _invoiced(self, cursor, user, ids, name, arg, context=None):
685- return self.pool.get('sale.order')._invoiced(cursor, user, ids, name, arg, context=None)
686+ return self.pool.get('sale.order')._invoiced(cursor, user, ids, name, arg, context=None)
687
688 def _invoiced_search(self, cursor, user, obj, name, args):
689- return self.pool.get('sale.order')._invoiced_search(cursor, user, obj, name, args)
690-
691- def _amount_untaxed(self, cr, uid, ids, field_name, arg, context):
692- return self.pool.get('sale.order')._amount_untaxed(cr, uid, ids, field_name, arg, context)
693-
694- def _amount_tax(self, cr, uid, ids, field_name, arg, context):
695- return self.pool.get('sale.order')._amount_tax(cr, uid, ids, field_name, arg, context)
696-
697- def _amount_total(self, cr, uid, ids, field_name, arg, context):
698- return self.pool.get('sale.order')._amount_total(cr, uid, ids, field_name, arg, context)
699-
700+ return self.pool.get('sale.order')._invoiced_search(cursor, user, obj, name, args)
701+
702 _name = 'hotel.folio'
703-
704 _description = 'hotel folio new'
705-
706- _inherits = {'sale.order':'order_id'}
707-
708+ _inherits = {'sale.order': 'order_id'}
709 _rec_name = 'order_id'
710-
711+ _order = 'id desc'
712 _columns = {
713- 'order_id':fields.many2one('sale.order', 'order_id', required=True, ondelete='cascade'),
714- 'checkin_date': fields.datetime('Check In', required=True, readonly=True, states={'draft':[('readonly', False)]}),
715- 'checkout_date': fields.datetime('Check Out', required=True, readonly=True, states={'draft':[('readonly', False)]}),
716- 'room_lines': fields.one2many('hotel_folio.line', 'folio_id'),
717- 'service_lines': fields.one2many('hotel_service.line', 'folio_id'),
718- 'hotel_policy':fields.selection([('prepaid', 'On Booking'), ('manual', 'On Check In'), ('picking', 'On Checkout')], 'Hotel Policy', required=True),
719- 'duration':fields.float('Duration'),
720+ 'name': fields.char('Folio Number', size=24, readonly=True),
721+ 'order_id': fields.many2one('sale.order', 'Order', required=True, ondelete='cascade'),
722+ 'checkin_date': fields.datetime('Check In', required=True, readonly=True, states={'draft':[('readonly', False)]}),
723+ 'checkout_date': fields.datetime('Check Out', required=True, readonly=True, states={'draft':[('readonly', False)]}),
724+ 'room_lines': fields.one2many('hotel.folio.line', 'folio_id', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Hotel room reservation detail."),
725+ 'service_lines': fields.one2many('hotel.service.line', 'folio_id', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, help="Hotel services detail provide to customer and it will include in main Invoice."),
726+ 'hotel_policy': fields.selection([('prepaid', 'On Booking'), ('manual', 'On Check In'), ('picking', 'On Checkout')], 'Hotel Policy', help="Hotel policy for payment that either the guest has to payment at booking time or check-in check-out time."),
727+ 'duration': fields.float('Duration in Days', readonly=True, help="Number of days which will automatically count from the check-in and check-out date. "),
728 }
729-
730 _defaults = {
731- 'hotel_policy':'manual'
732- }
733-
734+ 'name': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'hotel.folio'),
735+ 'hotel_policy': 'manual'
736+ }
737 _sql_constraints = [
738- ('check_in_out', 'CHECK (checkin_date<=checkout_date)', 'Check in Date Should be less than the Check Out Date!'),
739- ]
740-
741+ ('check_in_out', 'CHECK (checkin_date<=checkout_date)', 'Check in Date Should be less than the Check Out Date!'),
742+ ]
743+
744 def _check_room_vacant(self, cr, uid, ids, context=None):
745 folio = self.browse(cr, uid, ids[0], context=context)
746 rooms = []
747@@ -175,13 +167,22 @@
748 return False
749 rooms.append(room.product_id)
750 return True
751-
752+
753 _constraints = [
754- (_check_room_vacant, 'You can not allocate the same room twice!', ['room_lines'])
755+ (_check_room_vacant, 'You cannot allocate the same room twice!', ['room_lines'])
756 ]
757-
758+
759 def onchange_dates(self, cr, uid, ids, checkin_date=False, checkout_date=False, duration=False):
760+ # This mathod gives the duration between check in checkout if customer will leave only for some hour it would be considers as
761+ # a whole day. If customer will checkin checkout for more or equal hours , which configured in company as additional hours than
762+ # it would be consider as full day
763 value = {}
764+ company_obj = self.pool.get('res.company')
765+ configured_addition_hours = 0
766+ company_ids = company_obj.search(cr, uid, [])
767+ if company_ids:
768+ company = company_obj.browse(cr, uid, company_ids[0])
769+ configured_addition_hours = company.additional_hours
770 if not duration:
771 duration = 0
772 if checkin_date and checkout_date:
773@@ -189,6 +190,10 @@
774 chkout_dt = datetime.datetime.strptime(checkout_date, '%Y-%m-%d %H:%M:%S')
775 dur = chkout_dt - chkin_dt
776 duration = dur.days
777+ if configured_addition_hours > 0:
778+ additional_hours = abs((dur.seconds / 60) / 60)
779+ if additional_hours >= configured_addition_hours:
780+ duration += 1
781 value.update({'value':{'duration':duration}})
782 else:
783 if checkin_date:
784@@ -197,76 +202,77 @@
785 checkout_date = datetime.datetime.strftime(chkout_dt, '%Y-%m-%d %H:%M:%S')
786 value.update({'value':{'checkout_date':checkout_date}})
787 return value
788-
789+
790 def create(self, cr, uid, vals, context=None, check=True):
791 tmp_room_lines = vals.get('room_lines', [])
792- tmp_service_lines = vals.get('service_lines', [])
793 vals['order_policy'] = vals.get('hotel_policy', 'manual')
794- if not vals.has_key("folio_id"):
795- vals.update({'room_lines':[], 'service_lines':[]})
796- folio_id = super(hotel_folio, self).create(cr, uid, vals, context)
797- for line in tmp_room_lines:
798- line[2].update({'folio_id':folio_id})
799- for line in tmp_service_lines:
800- line[2].update({'folio_id':folio_id})
801- vals.update({'room_lines':tmp_room_lines, 'service_lines':tmp_service_lines})
802- super(hotel_folio, self).write(cr, uid, [folio_id], vals, context)
803+ if not 'service_lines' and 'folio_id' in vals:
804+# if not 'folio_id' in vals:
805+ vals.update({'room_lines':[]})
806+ folio_id = super(hotel_folio, self).create(cr, uid, vals, context=context)
807+ for line in (tmp_room_lines):
808+ line[2].update({'folio_id':folio_id})
809+ vals.update({'room_lines':tmp_room_lines})
810+ super(hotel_folio, self).write(cr, uid, [folio_id], vals, context=context)
811 else:
812- folio_id = super(hotel_folio, self).create(cr, uid, vals, context)
813+ folio_id = super(hotel_folio, self).create(cr, uid, vals, context=context)
814 return folio_id
815-
816-
817+
818 def onchange_shop_id(self, cr, uid, ids, shop_id):
819- return self.pool.get('sale.order').onchange_shop_id(cr, uid, ids, shop_id)
820-
821- def onchange_partner_id(self, cr, uid, ids, part):
822- return self.pool.get('sale.order').onchange_partner_id(cr, uid, ids, part)
823-
824- def button_dummy(self, cr, uid, ids, context={}):
825- return self.pool.get('sale.order').button_dummy(cr, uid, ids, context={})
826-
827+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
828+ return self.pool.get('sale.order').onchange_shop_id(cr, uid, order_ids, shop_id)
829+
830+ def onchange_partner_id(self, cr, uid, ids, part, context=None):
831+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids, context=context)]
832+ return self.pool.get('sale.order').onchange_partner_id(cr, uid, order_ids, part, context=None)
833+
834+ def button_dummy(self, cr, uid, ids, context=None):
835+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
836+ return self.pool.get('sale.order').button_dummy(cr, uid, order_ids, context={})
837+
838 def action_invoice_create(self, cr, uid, ids, grouped=False, states=['confirmed', 'done']):
839- i = self.pool.get('sale.order').action_invoice_create(cr, uid, ids, grouped=False, states=['confirmed', 'done'])
840- for line in self.browse(cr, uid, ids, context={}):
841- self.write(cr, uid, [line.id], {'invoiced':True})
842- if grouped:
843- self.write(cr, uid, [line.id], {'state' : 'progress'})
844- else:
845- self.write(cr, uid, [line.id], {'state' : 'progress'})
846- return i
847+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
848+ invoice_id = self.pool.get('sale.order').action_invoice_create(cr, uid, order_ids, grouped=False, states=['confirmed', 'done'])
849+ for line in self.browse(cr, uid, ids):
850+ values = {
851+ 'invoiced': True,
852+ 'state': 'progress' if grouped else 'progress',
853+ }
854+ line.write(values)
855+ return invoice_id
856
857-
858- def action_invoice_cancel(self, cr, uid, ids, context={}):
859- res = self.pool.get('sale.order').action_invoice_cancel(cr, uid, ids, context={})
860- for sale in self.browse(cr, uid, ids):
861+ def action_invoice_cancel(self, cr, uid, ids, context=None):
862+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
863+ res = self.pool.get('sale.order').action_invoice_cancel(cr, uid, order_ids, context=context)
864+ for sale in self.browse(cr, uid, ids, context=context):
865 for line in sale.order_line:
866- self.pool.get('sale.order.line').write(cr, uid, [line.id], {'invoiced': invoiced})
867- self.write(cr, uid, ids, {'state':'invoice_except', 'invoice_id':False})
868- return res
869- def action_cancel(self, cr, uid, ids, context={}):
870- c = self.pool.get('sale.order').action_cancel(cr, uid, ids, context={})
871- ok = True
872- for sale in self.browse(cr, uid, ids):
873- for r in self.read(cr, uid, ids, ['picking_ids']):
874- for pick in r['picking_ids']:
875- wf_service = netsvc.LocalService("workflow")
876- wf_service.trg_validate(uid, 'stock.picking', pick, 'button_cancel', cr)
877- for r in self.read(cr, uid, ids, ['invoice_ids']):
878- for inv in r['invoice_ids']:
879- wf_service = netsvc.LocalService("workflow")
880- wf_service.trg_validate(uid, 'account.invoice', inv, 'invoice_cancel', cr)
881-
882- self.write(cr, uid, ids, {'state':'cancel'})
883- return c
884-
885+ line.write({'invoiced': 'invoiced'})
886+ self.write(cr, uid, ids, {'state':'invoice_except'}, context=context)
887+ return res
888+
889+ def action_cancel(self, cr, uid, ids, context=None):
890+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids, context=context)]
891+ rv = self.pool.get('sale.order').action_cancel(cr, uid, order_ids, context=context)
892+ wf_service = netsvc.LocalService("workflow")
893+ for sale in self.browse(cr, uid, ids, context=context):
894+ for pick in sale.picking_ids:
895+ wf_service.trg_validate(uid, 'stock.picking', pick.id, 'button_cancel', cr)
896+ for invoice in sale.invoice_ids:
897+ wf_service.trg_validate(uid, 'account.invoice', invoice.id, 'invoice_cancel', cr)
898+ sale.write({'state':'cancel'})
899+ return rv
900+
901 def action_wait(self, cr, uid, ids, *args):
902- res = self.pool.get('sale.order').action_wait(cr, uid, ids, *args)
903- for o in self.browse(cr, uid, ids):
904- if (o.order_policy == 'manual') and (not o.invoice_ids):
905- self.write(cr, uid, [o.id], {'state': 'manual'})
906- else:
907- self.write(cr, uid, [o.id], {'state': 'progress'})
908- return res
909+ sale_order_obj = self.pool.get('sale.order')
910+ res = False
911+ for o in self.browse(cr, uid, ids):
912+ res = sale_order_obj.action_wait(cr, uid, [o.order_id.id], *args)
913+ if (o.order_policy == 'manual') and (not o.invoice_ids):
914+ self.write(cr, uid, [o.id], {'state': 'manual'})
915+ else:
916+ self.write(cr, uid, [o.id], {'state': 'progress'})
917+ return res
918+
919 def test_state(self, cr, uid, ids, mode, *args):
920 write_done_ids = []
921 write_cancel_ids = []
922@@ -275,221 +281,248 @@
923 self.pool.get('sale.order.line').write(cr, uid, write_done_ids, {'state': 'done'})
924 if write_cancel_ids:
925 self.pool.get('sale.order.line').write(cr, uid, write_cancel_ids, {'state': 'cancel'})
926- return res
927+ return res
928+
929 def procurement_lines_get(self, cr, uid, ids, *args):
930- res = self.pool.get('sale.order').procurement_lines_get(cr, uid, ids, *args)
931- return res
932- def action_ship_create(self, cr, uid, ids, *args):
933- res = self.pool.get('sale.order').action_ship_create(cr, uid, ids, *args)
934+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
935+ return self.pool.get('sale.order').procurement_lines_get(cr, uid, order_ids, *args)
936+
937+ def action_ship_create(self, cr, uid, ids, context=None):
938+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
939+ return self.pool.get('sale.order').action_ship_create(cr, uid, order_ids, context=None)
940+
941+ def action_ship_end(self, cr, uid, ids, context=None):
942+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
943+ res = self.pool.get('sale.order').action_ship_end(cr, uid, order_ids, context=context)
944+ for order in self.browse(cr, uid, ids, context=context):
945+ order.write ({'shipped':True})
946 return res
947- def action_ship_end(self, cr, uid, ids, context={}):
948- res = self.pool.get('sale.order').action_ship_end(cr, uid, ids, context={})
949- for order in self.browse(cr, uid, ids):
950- val = {'shipped':True}
951- self.write(cr, uid, [order.id], val)
952- return res
953- def _log_event(self, cr, uid, ids, factor=0.7, name='Open Order'):
954- return self.pool.get('sale.order')._log_event(cr, uid, ids, factor=0.7, name='Open Order')
955+
956 def has_stockable_products(self, cr, uid, ids, *args):
957- return self.pool.get('sale.order').has_stockable_products(cr, uid, ids, *args)
958+ order_ids = [folio.order_id.id for folio in self.browse(cr, uid, ids)]
959+ return self.pool.get('sale.order').has_stockable_products(cr, uid, order_ids, *args)
960+
961 def action_cancel_draft(self, cr, uid, ids, *args):
962- d = self.pool.get('sale.order').action_cancel_draft(cr, uid, ids, *args)
963- self.write(cr, uid, ids, {'state':'draft', 'invoice_ids':[], 'shipped':0})
964- self.pool.get('sale.order.line').write(cr, uid, ids, {'invoiced':False, 'state':'draft', 'invoice_lines':[(6, 0, [])]})
965- return d
966-
967-hotel_folio()
968-
969-class hotel_folio_line(osv.osv):
970-
971- def copy(self, cr, uid, id, default=None, context={}):
972- return self.pool.get('sale.order.line').copy(cr, uid, id, default=None, context={})
973- def _amount_line_net(self, cr, uid, ids, field_name, arg, context):
974- return self.pool.get('sale.order.line')._amount_line_net(cr, uid, ids, field_name, arg, context)
975+ if not len(ids):
976+ return False
977+ cr.execute('select id from sale_order_line where order_id IN %s and state=%s', (tuple(ids), 'cancel'))
978+ line_ids = map(lambda x: x[0], cr.fetchall())
979+ self.write(cr, uid, ids, {'state': 'draft', 'invoice_ids': [], 'shipped': 0})
980+ self.pool.get('sale.order.line').write(cr, uid, line_ids, {'invoiced': False, 'state': 'draft', 'invoice_lines': [(6, 0, [])]})
981+ wf_service = netsvc.LocalService("workflow")
982+ for inv_id in ids:
983+ # Deleting the existing instance of workflow for SO
984+ wf_service.trg_delete(uid, 'sale.order', inv_id, cr)
985+ wf_service.trg_create(uid, 'sale.order', inv_id, cr)
986+ for (id, name) in self.name_get(cr, uid, ids):
987+ message = _("The sales order '%s' has been set in draft state.") % (name,)
988+ self.log(cr, uid, id, message)
989+ return True
990+
991+class hotel_folio_line(osv.Model):
992+
993+ def copy(self, cr, uid, id, default=None, context=None):
994+ return self.pool.get('sale.order.line').copy(cr, uid, id, default=None, context=context)
995+
996 def _amount_line(self, cr, uid, ids, field_name, arg, context):
997- return self.pool.get('sale.order.line')._amount_line(cr, uid, ids, field_name, arg, context)
998+ return self.pool.get('sale.order.line')._amount_line(cr, uid, ids, field_name, arg, context)
999+
1000 def _number_packages(self, cr, uid, ids, field_name, arg, context):
1001- return self.pool.get('sale.order.line')._number_packages(cr, uid, ids, field_name, arg, context)
1002- def _get_1st_packaging(self, cr, uid, context={}):
1003- return self.pool.get('sale.order.line')._get_1st_packaging(cr, uid, context={})
1004- def _get_checkin_date(self, cr, uid, context={}):
1005+ return self.pool.get('sale.order.line')._number_packages(cr, uid, ids, field_name, arg, context)
1006+
1007+ def _get_checkin_date(self, cr, uid, context=None):
1008 if 'checkin_date' in context:
1009 return context['checkin_date']
1010 return time.strftime('%Y-%m-%d %H:%M:%S')
1011- def _get_checkout_date(self, cr, uid, context={}):
1012+
1013+ def _get_checkout_date(self, cr, uid, context=None):
1014 if 'checkin_date' in context:
1015 return context['checkout_date']
1016 return time.strftime('%Y-%m-%d %H:%M:%S')
1017-
1018- _name = 'hotel_folio.line'
1019- _description = 'hotel folio1 room line'
1020+
1021+ _name = 'hotel.folio.line'
1022+ _description = 'hotel folio room line'
1023 _inherits = {'sale.order.line':'order_line_id'}
1024 _columns = {
1025- 'order_line_id':fields.many2one('sale.order.line', 'order_line_id', required=True, ondelete='cascade'),
1026- 'folio_id':fields.many2one('hotel.folio', 'folio_id', ondelete='cascade'),
1027- 'checkin_date': fields.datetime('Check In', required=True),
1028- 'checkout_date': fields.datetime('Check Out', required=True),
1029+ 'order_line_id': fields.many2one('sale.order.line', 'Order Line', required=True, ondelete='cascade'),
1030+ 'folio_id': fields.many2one('hotel.folio', 'Folio', ondelete='cascade'),
1031+ 'checkin_date': fields.datetime('Check In', required=True),
1032+ 'checkout_date': fields.datetime('Check Out', required=True),
1033 }
1034 _defaults = {
1035- 'checkin_date':_get_checkin_date,
1036- 'checkout_date':_get_checkout_date,
1037-
1038+ 'checkin_date':_get_checkin_date,
1039+ 'checkout_date':_get_checkout_date,
1040 }
1041-
1042+
1043 def create(self, cr, uid, vals, context=None, check=True):
1044- if not context:
1045- context = {}
1046- if vals.has_key("folio_id"):
1047- folio = self.pool.get("hotel.folio").browse(cr, uid, [vals['folio_id']])[0]
1048+ if 'folio_id' in vals:
1049+ folio = self.pool.get("hotel.folio").browse(cr, uid, vals['folio_id'], context=context)
1050 vals.update({'order_id':folio.order_id.id})
1051- roomline = super(osv.osv, self).create(cr, uid, vals, context)
1052- return roomline
1053-
1054+ return super(osv.Model, self).create(cr, uid, vals, context)
1055+
1056+ def unlink(self, cr, uid, ids, context=None):
1057+ sale_line_obj = self.pool.get('sale.order.line')
1058+ for line in self.browse(cr, uid, ids, context=context):
1059+ if line.order_line_id:
1060+ sale_line_obj.unlink(cr, uid, [line.order_line_id.id], context=context)
1061+ return super(hotel_folio_line, self).unlink(cr, uid, ids, context=None)
1062+
1063 def uos_change(self, cr, uid, ids, product_uos, product_uos_qty=0, product_id=None):
1064- return self.pool.get('sale.order.line').uos_change(cr, uid, ids, product_uos, product_uos_qty=0, product_id=None)
1065-
1066+ line_ids = [folio.order_line_id.id for folio in self.browse(cr, uid, ids)]
1067+ return self.pool.get('sale.order.line').uos_change(cr, uid, line_ids, product_uos, product_uos_qty=0, product_id=None)
1068+
1069 def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
1070 uom=False, qty_uos=0, uos=False, name='', partner_id=False,
1071 lang=False, update_tax=True, date_order=False):
1072- return self.pool.get('sale.order.line').product_id_change(cr, uid, ids, pricelist, product, qty=0,
1073+ line_ids = [folio.order_line_id.id for folio in self.browse(cr, uid, ids)]
1074+ return self.pool.get('sale.order.line').product_id_change(cr, uid, line_ids, pricelist, product, qty=0,
1075 uom=False, qty_uos=0, uos=False, name='', partner_id=partner_id,
1076 lang=False, update_tax=True, date_order=False)
1077-
1078+
1079 def product_uom_change(self, cursor, user, ids, pricelist, product, qty=0,
1080 uom=False, qty_uos=0, uos=False, name='', partner_id=False,
1081 lang=False, update_tax=True, date_order=False):
1082- return self.pool.get('sale.order.line').product_uom_change(cursor, user, ids, pricelist, product, qty=0,
1083+ return self.product_id_change(cursor, user, ids, pricelist, product, qty=0,
1084 uom=False, qty_uos=0, uos=False, name='', partner_id=partner_id,
1085 lang=False, update_tax=True, date_order=False)
1086-
1087- def on_change_checkout(self, cr, uid, ids, checkin_date=time.strftime('%Y-%m-%d %H:%M:%S'), checkout_date=time.strftime('%Y-%m-%d %H:%M:%S'), context=None):
1088+
1089+ def on_change_checkout(self, cr, uid, ids, checkin_date=None, checkout_date=None, context=None):
1090+ if not checkin_date:
1091+ checkin_date = time.strftime('%Y-%m-%d %H:%M:%S')
1092+ if not checkout_date:
1093+ checkout_date = time.strftime('%Y-%m-%d %H:%M:%S')
1094 qty = 1
1095 if checkout_date < checkin_date:
1096- raise osv.except_osv ('Error !', 'Checkout must be greater or equal checkin date')
1097+ raise osv.except_osv(_('Error !'), _('Checkout must be greater or equal checkin date'))
1098 if checkin_date:
1099 diffDate = datetime.datetime(*time.strptime(checkout_date, '%Y-%m-%d %H:%M:%S')[:5]) - datetime.datetime(*time.strptime(checkin_date, '%Y-%m-%d %H:%M:%S')[:5])
1100 qty = diffDate.days
1101 if qty == 0:
1102 qty = 1
1103 return {'value':{'product_uom_qty':qty}}
1104-
1105- def button_confirm(self, cr, uid, ids, context={}):
1106-
1107- return self.pool.get('sale.order.line').button_confirm(cr, uid, ids, context={})
1108- def button_done(self, cr, uid, ids, context={}):
1109- res = self.pool.get('sale.order.line').button_done(cr, uid, ids, context={})
1110+
1111+ def button_confirm(self, cr, uid, ids, context=None):
1112+ line_ids = [folio.order_line_id.id for folio in self.browse(cr, uid, ids)]
1113+ return self.pool.get('sale.order.line').button_confirm(cr, uid, line_ids, context=context)
1114+
1115+ def button_done(self, cr, uid, ids, context=None):
1116+ line_ids = [folio.order_line_id.id for folio in self.browse(cr, uid, ids)]
1117+ res = self.pool.get('sale.order.line').button_done(cr, uid, line_ids, context=context)
1118 wf_service = netsvc.LocalService("workflow")
1119 res = self.write(cr, uid, ids, {'state':'done'})
1120 for line in self.browse(cr, uid, ids, context):
1121- wf_service.trg_write(uid, 'sale.order', line.order_id.id, cr)
1122+ wf_service.trg_write(uid, 'sale.order', line.order_line_id.order_id.id, cr)
1123 return res
1124
1125-
1126- def uos_change(self, cr, uid, ids, product_uos, product_uos_qty=0, product_id=None):
1127- return self.pool.get('sale.order.line').uos_change(cr, uid, ids, product_uos, product_uos_qty=0, product_id=None)
1128- def copy(self, cr, uid, id, default=None, context={}):
1129- return self.pool.get('sale.order.line').copy(cr, uid, id, default=None, context={})
1130-
1131-
1132-
1133-hotel_folio_line()
1134-
1135-class hotel_service_line(osv.osv):
1136-
1137- def copy(self, cr, uid, id, default=None, context={}):
1138- return self.pool.get('sale.order.line').copy(cr, uid, id, default=None, context={})
1139- def _amount_line_net(self, cr, uid, ids, field_name, arg, context):
1140- return self.pool.get('sale.order.line')._amount_line_net(cr, uid, ids, field_name, arg, context)
1141+ def copy_data(self, cr, uid, id, default=None, context=None):
1142+ line_id = self.browse(cr, uid, id).order_line_id.id
1143+ return self.pool.get('sale.order.line').copy_data(cr, uid, line_id, default=None, context=context)
1144+
1145+class hotel_service_line(osv.Model):
1146+
1147+ def copy(self, cr, uid, id, default=None, context=None):
1148+ line_id = self.browse(cr, uid, id).service_line_id.id
1149+ return self.pool.get('sale.order.line').copy(cr, uid, line_id, default=None, context=context)
1150+
1151 def _amount_line(self, cr, uid, ids, field_name, arg, context):
1152- return self.pool.get('sale.order.line')._amount_line(cr, uid, ids, field_name, arg, context)
1153+ line_ids = [folio.service_line_id.id for folio in self.browse(cr, uid, ids)]
1154+ return self.pool.get('sale.order.line')._amount_line(cr, uid, line_ids, field_name, arg, context)
1155+
1156 def _number_packages(self, cr, uid, ids, field_name, arg, context):
1157- return self.pool.get('sale.order.line')._number_packages(cr, uid, ids, field_name, arg, context)
1158- def _get_1st_packaging(self, cr, uid, context={}):
1159- return self.pool.get('sale.order.line')._get_1st_packaging(cr, uid, context={})
1160-
1161-
1162- _name = 'hotel_service.line'
1163+ line_ids = [folio.service_line_id.id for folio in self.browse(cr, uid, ids)]
1164+ return self.pool.get('sale.order.line')._number_packages(cr, uid, line_ids, field_name, arg, context)
1165+
1166+ _name = 'hotel.service.line'
1167 _description = 'hotel Service line'
1168 _inherits = {'sale.order.line':'service_line_id'}
1169 _columns = {
1170- 'service_line_id':fields.many2one('sale.order.line', 'service_line_id', required=True, ondelete='cascade'),
1171- 'folio_id':fields.many2one('hotel.folio', 'folio_id', ondelete='cascade'),
1172-
1173+ 'service_line_id': fields.many2one('sale.order.line', 'Service Line', required=True, ondelete='cascade'),
1174+ 'folio_id': fields.many2one('hotel.folio', 'Folio', ondelete='cascade'),
1175 }
1176
1177 def create(self, cr, uid, vals, context=None, check=True):
1178- if not context:
1179- context = {}
1180- if vals.has_key("folio_id"):
1181- folio = self.pool.get("hotel.folio").browse(cr, uid, [vals['folio_id']])[0]
1182+ if 'folio_id' in vals:
1183+ folio = self.pool.get("hotel.folio").browse(cr, uid, vals['folio_id'], context=context)
1184 vals.update({'order_id':folio.order_id.id})
1185- roomline = super(osv.osv, self).create(cr, uid, vals, context)
1186- return roomline
1187-
1188- def uos_change(self, cr, uid, ids, product_uos, product_uos_qty=0, product_id=None):
1189- return self.pool.get('sale.order.line').uos_change(cr, uid, ids, product_uos, product_uos_qty=0, product_id=None)
1190-
1191+ return super(osv.Model, self).create(cr, uid, vals, context=context)
1192+
1193+ def unlink(self, cr, uid, ids, context=None):
1194+ sale_line_obj = self.pool.get('sale.order.line')
1195+ for line in self.browse(cr, uid, ids, context=context):
1196+ if line.service_line_id:
1197+ sale_line_obj.unlink(cr, uid, [line.service_line_id.id], context=context)
1198+ return super(hotel_service_line, self).unlink(cr, uid, ids, context=None)
1199+
1200 def product_id_change(self, cr, uid, ids, pricelist, product, qty=0,
1201 uom=False, qty_uos=0, uos=False, name='', partner_id=False,
1202 lang=False, update_tax=True, date_order=False):
1203- return self.pool.get('sale.order.line').product_id_change(cr, uid, ids, pricelist, product, qty=0,
1204+ line_ids = [folio.service_line_id.id for folio in self.browse(cr, uid, ids)]
1205+ return self.pool.get('sale.order.line').product_id_change(cr, uid, line_ids, pricelist, product, qty=0,
1206 uom=False, qty_uos=0, uos=False, name='', partner_id=partner_id,
1207 lang=False, update_tax=True, date_order=False)
1208+
1209 def product_uom_change(self, cursor, user, ids, pricelist, product, qty=0,
1210 uom=False, qty_uos=0, uos=False, name='', partner_id=False,
1211 lang=False, update_tax=True, date_order=False):
1212- return self.pool.get('sale.order.line').product_uom_change(cursor, user, ids, pricelist, product, qty=0,
1213+ return self.product_id_change(cursor, user, ids, pricelist, product, qty=0,
1214 uom=False, qty_uos=0, uos=False, name='', partner_id=partner_id,
1215 lang=False, update_tax=True, date_order=False)
1216- def on_change_checkout(self, cr, uid, ids, checkin_date=time.strftime('%Y-%m-%d %H:%M:%S'), checkout_date=time.strftime('%Y-%m-%d %H:%M:%S'), context=None):
1217+
1218+ def on_change_checkout(self, cr, uid, ids, checkin_date=None, checkout_date=None, context=None):
1219+ if not checkin_date:
1220+ checkin_date = time.strftime('%Y-%m-%d %H:%M:%S')
1221+ if not checkout_date:
1222+ checkout_date = time.strftime('%Y-%m-%d %H:%M:%S')
1223 qty = 1
1224 if checkout_date < checkin_date:
1225- raise osv.except_osv ('Error !', 'Checkout must be greater or equal checkin date')
1226+ raise osv.except_osv(_('Error !'), _('Checkout must be greater or equal checkin date'))
1227 if checkin_date:
1228 diffDate = datetime.datetime(*time.strptime(checkout_date, '%Y-%m-%d %H:%M:%S')[:5]) - datetime.datetime(*time.strptime(checkin_date, '%Y-%m-%d %H:%M:%S')[:5])
1229 qty = diffDate.days
1230 return {'value':{'product_uom_qty':qty}}
1231-
1232- def button_confirm(self, cr, uid, ids, context={}):
1233-
1234- return self.pool.get('sale.order.line').button_confirm(cr, uid, ids, context={})
1235- def button_done(self, cr, uid, ids, context={}):
1236- return self.pool.get('sale.order.line').button_done(cr, uid, ids, context={})
1237+
1238+ def button_confirm(self, cr, uid, ids, context=None):
1239+ line_ids = [folio.service_line_id.id for folio in self.browse(cr, uid, ids)]
1240+ return self.pool.get('sale.order.line').button_confirm(cr, uid, line_ids, context=context)
1241+
1242+ def button_done(self, cr, uid, ids, context=None):
1243+ line_ids = [folio.service_line_id.id for folio in self.browse(cr, uid, ids)]
1244+ return self.pool.get('sale.order.line').button_done(cr, uid, line_ids, context=context)
1245+
1246 def uos_change(self, cr, uid, ids, product_uos, product_uos_qty=0, product_id=None):
1247- return self.pool.get('sale.order.line').uos_change(cr, uid, ids, product_uos, product_uos_qty=0, product_id=None)
1248- def copy(self, cr, uid, id, default=None, context={}):
1249- return self.pool.get('sale.order.line').copy(cr, uid, id, default=None, context={})
1250-
1251-
1252-
1253-hotel_service_line()
1254-
1255-class hotel_service_type(osv.osv):
1256- _name = "hotel.service_type"
1257+ line_ids = [folio.service_line_id.id for folio in self.browse(cr, uid, ids)]
1258+ return self.pool.get('sale.order.line').uos_change(cr, uid, line_ids, product_uos, product_uos_qty=0, product_id=None)
1259+
1260+ def copy_data(self, cr, uid, id, default=None, context=None):
1261+ line_id = self.browse(cr, uid, id).service_line_id.id
1262+ return self.pool.get('sale.order.line').copy_data(cr, uid, line_id, default=default, context=context)
1263+
1264+class hotel_service_type(osv.Model):
1265+ _name = "hotel.service.type"
1266 _inherits = {'product.category':'ser_id'}
1267 _description = "Service Type"
1268 _columns = {
1269- 'ser_id':fields.many2one('product.category', 'category', required=True, select=True, ondelete='cascade'),
1270-
1271+ 'ser_id': fields.many2one('product.category', 'Category', required=True, select=True, ondelete='cascade'),
1272 }
1273 _defaults = {
1274- 'isservicetype': lambda * a: 1,
1275- }
1276-hotel_service_type()
1277+ 'isservicetype': 1,
1278+ }
1279
1280-class hotel_services(osv.osv):
1281-
1282+class hotel_services(osv.Model):
1283 _name = 'hotel.services'
1284 _description = 'Hotel Services and its charges'
1285 _inherits = {'product.product':'service_id'}
1286 _columns = {
1287- 'service_id': fields.many2one('product.product', 'Service_id', required=True, ondelete='cascade'),
1288-
1289- }
1290+ 'service_id': fields.many2one('product.product', 'Service id', required=True, ondelete='cascade'),
1291+ }
1292 _defaults = {
1293- 'isservice': lambda * a: 1,
1294- }
1295-hotel_services()
1296+ 'isservice': 1,
1297+ }
1298
1299+class res_company(osv.Model):
1300+ _inherit = 'res.company'
1301+ _columns = {
1302+ 'additional_hours': fields.integer('Additional Hours', help="Provide the min hours value for check in, checkout days, whatever the hours will be provided here based on that extra days will be calculated."),
1303+ }
1304
1305 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
1306
1307=== modified file 'hotel/hotel_data.xml'
1308--- hotel/hotel_data.xml 2012-05-22 14:06:57 +0000
1309+++ hotel/hotel_data.xml 2014-09-28 13:18:16 +0000
1310@@ -1,9 +1,8 @@
1311-<?xml version="1.0" ?>
1312+<?xml version="1.0" encoding="utf-8"?>
1313 <openerp>
1314 <data noupdate="1">
1315
1316 <!-- Floor -->
1317-
1318 <record id="hotel_floor_ground0" model="hotel.floor">
1319 <field eval="&quot;Ground&quot;" name="name"/>
1320 </record>
1321@@ -21,74 +20,60 @@
1322 </record>
1323
1324 <!-- hotel_room_amenities_type -->
1325-
1326-
1327- <record id="hotel_room_amenities_type_0" model="hotel.room_amenities_type">
1328+ <record id="hotel_room_amenities_type_0" model="hotel.room.amenities.type">
1329 <field name="parent_id" ref="null" />
1330 <field name="name">All Aminities</field>
1331-
1332 </record>
1333- <record id="hotel_room_amenities_type_1" model="hotel.room_amenities_type">
1334+ <record id="hotel_room_amenities_type_1" model="hotel.room.amenities.type">
1335 <field name="parent_id" model="product.category" search="[('isamenitype','=',True)]" ref="hotel_room_amenities_type_0"/>
1336 <field name="name">Beds</field>
1337 </record>
1338- <record id="hotel_room_amenities_type_2" model="hotel.room_amenities_type">
1339+ <record id="hotel_room_amenities_type_2" model="hotel.room.amenities.type">
1340 <field name="parent_id" model="product.category" search="[('isamenitype','=',True)]" ref="hotel_room_amenities_type_0"/>
1341 <field name="name">Tables</field>
1342 </record>
1343- <record id="hotel_room_amenities_type_3" model="hotel.room_amenities_type">
1344+ <record id="hotel_room_amenities_type_3" model="hotel.room.amenities.type">
1345 <field name="parent_id" model="product.category" search="[('isamenitype','=',True)]" ref="hotel_room_amenities_type_1"/>
1346 <field name="name">Single Bed</field>
1347 </record>
1348- <record id="hotel_room_amenities_type_4" model="hotel.room_amenities_type">
1349+ <record id="hotel_room_amenities_type_4" model="hotel.room.amenities.type">
1350 <field name="parent_id" model="product.category" search="[('isamenitype','=',True)]" ref="hotel_room_amenities_type_1"/>
1351 <field name="name">Double Bed</field>
1352 </record>
1353
1354 <!-- hotel_room_type -->
1355-
1356- <record id="hotel_room_type_0" model="hotel.room_type">
1357- <field name="parent_id" ref="null" />
1358+ <record id="hotel_room_type_0" model="hotel.room.type">
1359+ <field name="parent_id" ref="null" />
1360 <field name="name">All Rooms</field>
1361 </record>
1362- <record id="hotel_room_type_1" model="hotel.room_type">
1363+ <record id="hotel_room_type_1" model="hotel.room.type">
1364 <field name="parent_id" model="product.category" search="[('isroomtype','=',True)]" ref="hotel_room_type_0"/>
1365 <field name="name">Single</field>
1366 </record>
1367- <record id="hotel_room_type_2" model="hotel.room_type">
1368+ <record id="hotel_room_type_2" model="hotel.room.type">
1369 <field name="parent_id" model="product.category" search="[('isroomtype','=',True)]" ref="hotel_room_type_0"/>
1370 <field name="name">Double</field>
1371 </record>
1372-
1373-
1374- <record id="hotel_room_type_3" model="hotel.room_type">
1375+ <record id="hotel_room_type_3" model="hotel.room.type">
1376 <field name="parent_id" model="product.category" search="[('isroomtype','=',True)]" ref="hotel_room_type_0"/>
1377 <field name="name">No Room</field>
1378 </record>
1379-
1380- <record id="hotel_room_type_3" model="hotel.room_type">
1381- <field name="parent_id" model="product.category" search="[('isroomtype','=',True)]" ref="hotel_room_type_0"/>
1382- <field name="name">No Room</field>
1383- </record>
1384- <!-- hotel_service_type -->
1385-
1386- <record id="hotel_service_type_0" model="hotel.service_type">
1387+
1388+ <!-- hotel_service_type -->
1389+ <record id="hotel_service_type_0" model="hotel.service.type">
1390 <field name="parent_id" ref="null" />
1391 <field name="name">All Services</field>
1392 </record>
1393- <record id="hotel_service_type_1" model="hotel.service_type">
1394+ <record id="hotel_service_type_1" model="hotel.service.type">
1395 <field name="parent_id" model="product.category" search="[('isservicetype','=',True)]" ref="hotel_service_type_0"/>
1396 <field name="name">Fixed</field>
1397 </record>
1398- <record id="hotel_service_type_2" model="hotel.service_type">
1399+ <record id="hotel_service_type_2" model="hotel.service.type">
1400 <field name="parent_id" model="product.category" search="[('isservicetype','=',True)]" ref="hotel_service_type_0"/>
1401 <field name="name">Variable</field>
1402 </record>
1403-
1404-
1405
1406 <!-- hotel_room -->
1407-
1408 <record id="hotel_room_6" model="hotel.room">
1409 <field name="name">No Room Available</field>
1410 <field name="categ_id" model="product.category" search="[('isroomtype','=',True),('name','=','No Room')]" ref="hotel_room_type_3"/>
1411@@ -99,7 +84,6 @@
1412 <field name="categ_id" model="product.category" search="[('isroomtype','=',True),('name','=','Single')]" ref="hotel_room_type_1"/>
1413 <field name="list_price">100.00</field>
1414 </record>
1415-
1416 <record id="hotel_room_1" model="hotel.room">
1417 <field name="name">Single-102</field>
1418 <field name="categ_id" model="product.category" search="[('isroomtype','=',True),('name','=','Single')]" ref="hotel_room_type_1"/>
1419@@ -132,8 +116,6 @@
1420 </record>
1421
1422 <!-- hotel_services -->
1423-
1424-
1425 <record id="hotel_service_6" model="hotel.services">
1426 <field name="name">Internet</field>
1427 <field name="categ_id" model="product.category" search="[('isservicetype','=',True),('name','=','Fixed')]" ref="hotel_service_type_1"/>
1428@@ -150,6 +132,5 @@
1429 <field name="list_price">150.00</field>
1430 </record>
1431
1432-
1433 </data>
1434 </openerp>
1435\ No newline at end of file
1436
1437=== modified file 'hotel/hotel_folio_workflow.xml'
1438--- hotel/hotel_folio_workflow.xml 2012-05-22 14:06:57 +0000
1439+++ hotel/hotel_folio_workflow.xml 2014-09-28 13:18:16 +0000
1440@@ -1,22 +1,20 @@
1441-<?xml version="1.0"?>
1442+<?xml version="1.0" encoding="utf-8"?>
1443 <openerp>
1444 <data>
1445 <record model="workflow" id="wkf_hotel">
1446- <field name="name">hotel.folio.basic</field>
1447- <field name="osv">hotel.folio</field>
1448- <field name="on_create">True</field>
1449+ <field name="name">hotel.folio.basic</field>
1450+ <field name="osv">hotel.folio</field>
1451+ <field name="on_create">True</field>
1452 </record>
1453
1454 #----------------------------------------------
1455 # Activity
1456 #----------------------------------------------
1457-
1458 <record model="workflow.activity" id="act_draft">
1459 <field name="wkf_id" ref="wkf_hotel"/>
1460 <field name="flow_start">True</field>
1461 <field name="name">draft</field>
1462 </record>
1463-
1464 <record model="workflow.activity" id="act_router">
1465 <field name="wkf_id" ref="wkf_hotel"/>
1466 <field name="name">router</field>
1467@@ -32,7 +30,6 @@
1468 <field name="wkf_id" ref="wkf_hotel"/>
1469 <field name="name">wait_ship</field>
1470 </record>
1471-
1472 <record model="workflow.activity" id="act_done">
1473 <field name="wkf_id" ref="wkf_hotel"/>
1474 <field name="name">done</field>
1475@@ -62,7 +59,6 @@
1476 <field name="kind">stopall</field>
1477 <field name="action">action_cancel()</field>
1478 </record>
1479-
1480 <record model="workflow.activity" id="act_invoice">
1481 <field name="wkf_id" ref="wkf_hotel"/>
1482 <field name="name">invoice</field>
1483@@ -88,7 +84,6 @@
1484 <field name="kind">stopall</field>
1485 <field name="action">action_cancel()</field>
1486 </record>
1487-
1488 <record model="workflow.activity" id="act_ship">
1489 <field name="wkf_id" ref="wkf_hotel"/>
1490 <field name="name">ship</field>
1491@@ -138,48 +133,39 @@
1492 <field name="act_to" ref="act_invoice_end"/>
1493 <field name="condition">(order_policy=='picking')</field>
1494 </record>
1495-
1496-
1497 <record model="workflow.transition" id="trans_router_wait_invoice">
1498 <field name="act_from" ref="act_router"/>
1499 <field name="act_to" ref="act_wait_invoice"/>
1500 </record>
1501-
1502 <record model="workflow.transition" id="trans_router_wait_ship">
1503 <field name="act_from" ref="act_router"/>
1504 <field name="act_to" ref="act_wait_ship"/>
1505 </record>
1506-
1507 <record model="workflow.transition" id="trans_wait_invoice_cancel2">
1508 <field name="act_from" ref="act_wait_invoice"/>
1509 <field name="act_to" ref="act_cancel2"/>
1510 <field name="signal">cancel</field>
1511 </record>
1512-
1513 <record model="workflow.transition" id="trans_wait_ship_cancel3">
1514 <field name="act_from" ref="act_wait_ship"/>
1515 <field name="act_to" ref="act_cancel3"/>
1516 <field name="signal">cancel</field>
1517 </record>
1518-
1519 <record model="workflow.transition" id="trans_wait_ship_ship">
1520 <field name="act_from" ref="act_wait_ship"/>
1521 <field name="act_to" ref="act_ship"/>
1522 <field name="condition">(order_policy!='prepaid') or invoiced</field>
1523 </record>
1524-
1525 <record model="workflow.transition" id="trans_wait_invoice_invoice">
1526 <field name="act_from" ref="act_wait_invoice"/>
1527 <field name="act_to" ref="act_invoice"/>
1528 <field name="condition">(order_policy=='prepaid') or ((order_policy=='postpaid') and shipped)</field>
1529 </record>
1530-
1531 <record model="workflow.transition" id="trans_wait_invoice_invoice_manual">
1532 <field name="act_from" ref="act_wait_invoice"/>
1533 <field name="act_to" ref="act_invoice"/>
1534 <field name="signal">manual_invoice</field>
1535 </record>
1536-
1537 <record model="workflow.transition" id="trans_invoice_invoice_end">
1538 <field name="act_from" ref="act_invoice"/>
1539 <field name="act_to" ref="act_invoice_end"/>
1540@@ -209,7 +195,6 @@
1541 <field name="act_from" ref="act_ship_end"/>
1542 <field name="act_to" ref="act_done"/>
1543 </record>
1544-
1545 <record model="workflow.transition" id="trans_ship_ship_end">
1546 <field name="act_from" ref="act_ship"/>
1547 <field name="act_to" ref="act_ship_end"/>
1548
1549=== added file 'hotel/hotel_scheduler.xml'
1550--- hotel/hotel_scheduler.xml 1970-01-01 00:00:00 +0000
1551+++ hotel/hotel_scheduler.xml 2014-09-28 13:18:16 +0000
1552@@ -0,0 +1,17 @@
1553+<?xml version="1.0" encoding='UTF-8'?>
1554+<openerp>
1555+ <data>
1556+
1557+ <record model="ir.cron" id="room_analytic_cron">
1558+ <field name="name">Room analysis</field>
1559+ <field name="interval_number">1</field>
1560+ <field name="interval_type">minutes</field>
1561+ <field name="numbercall">-1</field>
1562+ <field name="doall" eval="False"/>
1563+ <field name="model" eval="'hotel.room'"/>
1564+ <field name="function" eval="'cron_room_line'"/>
1565+ <field name="args" eval="'()'" />
1566+ </record>
1567+
1568+ </data>
1569+</openerp>
1570\ No newline at end of file
1571
1572=== added file 'hotel/hotel_sequence.xml'
1573--- hotel/hotel_sequence.xml 1970-01-01 00:00:00 +0000
1574+++ hotel/hotel_sequence.xml 2014-09-28 13:18:16 +0000
1575@@ -0,0 +1,18 @@
1576+<?xml version="1.0" encoding="UTF-8"?>
1577+<openerp>
1578+ <data noupdate="1">
1579+
1580+ <!-- Sequences for hotel.folio -->
1581+ <record model="ir.sequence.type" id="seq_type_hotel_folio">
1582+ <field name="name">Hotel Folio</field>
1583+ <field name="code">hotel.folio</field>
1584+ </record>
1585+ <record model="ir.sequence" id="seq_hotel_folio">
1586+ <field name="name">Hotel Folio</field>
1587+ <field name="code">hotel.folio</field>
1588+ <field name="prefix">Folio/</field>
1589+ <field name="padding">5</field>
1590+ </record>
1591+
1592+ </data>
1593+</openerp>
1594\ No newline at end of file
1595
1596=== modified file 'hotel/hotel_view.xml'
1597--- hotel/hotel_view.xml 2012-11-23 03:00:23 +0000
1598+++ hotel/hotel_view.xml 2014-09-28 13:18:16 +0000
1599@@ -1,8 +1,9 @@
1600-<?xml version="1.0"?>
1601+<?xml version="1.0" encoding="utf-8"?>
1602 <openerp>
1603- <data>
1604- <menuitem id="hotel_management_menu" name="Hotel Management" web_icon="data/hotel-grey.png"
1605+ <data>
1606+ <menuitem id="hotel_management_menu" name="Hotel Management" web_icon="data/hotel-grey.png"
1607 web_icon_hover="data/hotel-color.png"/>
1608+<<<<<<< TREE
1609 <menuitem id="hotel_configuration_menu" name="Configuration" sequence="20" parent ="hotel_management_menu"/>
1610 <menuitem id="hotel_report_menu" name="Reports" sequence="6" parent ="hotel_management_menu"/>
1611
1612@@ -437,3 +438,854 @@
1613
1614 </data>
1615 </openerp>
1616+=======
1617+ <menuitem id="hotel_configuration_menu" name="Configuration" sequence="20" parent ="hotel_management_menu"/>
1618+ <menuitem id="hotel_report_menu" name="Reports" sequence="6" parent="hotel_management_menu"/>
1619+
1620+ <!-- ###############################################
1621+ #############Company Configuration#############
1622+ ###############################################
1623+ -->
1624+
1625+ <record id="res_company_inherit_config_hotel" model="ir.ui.view">
1626+ <field name="name">res.company.inherit.config.hotel</field>
1627+ <field name="model">res.company</field>
1628+ <field name="inherit_id" ref="base.view_company_form" />
1629+ <field name="arch" type="xml">
1630+ <xpath expr="//field[@name='currency_id']" position="after">
1631+ <field name="additional_hours"/>
1632+ </xpath>
1633+ </field>
1634+ </record>
1635+ <!--====================================================
1636+ Floor
1637+ ==================================================== -->
1638+
1639+ <record model="ir.ui.view" id="view_hotel_floor_form">
1640+ <field name="name">hotel.floor.form</field>
1641+ <field name="model">hotel.floor</field>
1642+ <field name="arch" type="xml">
1643+ <form string=" Hotel Floor" version="7.0">
1644+ <sheet>
1645+ <group>
1646+ <field name="name" colspan="1"/>
1647+ <field name="sequence" select="1"/>
1648+ </group>
1649+ </sheet>
1650+ </form>
1651+ </field>
1652+ </record>
1653+ <record model="ir.ui.view" id="view_hotel_floor_tree">
1654+ <field name="name">hotel.floor.tree</field>
1655+ <field name="model">hotel.floor</field>
1656+ <field name="arch" type="xml">
1657+ <tree string=" Hotel Floors">
1658+ <field name="name" colspan="1"/>
1659+ <field name="sequence" select="1"/>
1660+ </tree>
1661+ </field>
1662+ </record>
1663+ <record model="ir.actions.act_window" id="open_hotel_floor_form_tree">
1664+ <field name="name">Floor Structure</field>
1665+ <field name="res_model">hotel.floor</field>
1666+ <field name="view_type">form</field>
1667+ <field name="view_mode">tree,form</field>
1668+ </record>
1669+ <menuitem name="Floor"
1670+ id="menu_open_hotel_floor_form_tree"
1671+ action="open_hotel_floor_form_tree"
1672+ sequence="21"
1673+ parent="hotel_configuration_menu"/>
1674+
1675+ <!--====================================================================
1676+ Amenities Type
1677+ ====================================================================-->
1678+
1679+ <record model="ir.ui.view" id="view_hotel_room_amenities_type_form">
1680+ <field name="name">hotel.room_amenities_type_form</field>
1681+ <field name="model">hotel.room.amenities.type</field>
1682+ <field name="arch" type="xml">
1683+ <form string="Hotel Room Amenities Type" version="7.0">
1684+ <sheet>
1685+ <group>
1686+ <field name="name"/>
1687+ <field name="parent_id" domain="[('isamenitype','=',True)]"/>
1688+ </group>
1689+ </sheet>
1690+ </form>
1691+ </field>
1692+ </record>
1693+ <record model="ir.ui.view" id="view_hotel_room_amenities_type_list">
1694+ <field name="name">hotel.room_amenities_type_list</field>
1695+ <field name="model">hotel.room.amenities.type</field>
1696+ <field name="arch" type="xml">
1697+ <tree string="Hotel Room Amenities Type">
1698+ <field name="complete_name"/>
1699+ </tree>
1700+ </field>
1701+ </record>
1702+ <record model="ir.actions.act_window" id="action_hotel_room_amenities_type_view_form">
1703+ <field name="name">Hotel Room Amenities Type</field>
1704+ <field name="res_model">hotel.room.amenities.type</field>
1705+ <field name="view_type">form</field>
1706+ <field name="view_mode">tree,form</field>
1707+ </record>
1708+ <menuitem id="menu_amenity" name="Amenity" parent="hotel.hotel_configuration_menu" sequence="2"/>
1709+ <menuitem name="Amenity Types"
1710+ id="menu_action_hotel_room_amenities_type_view_form"
1711+ action="action_hotel_room_amenities_type_view_form"
1712+ sequence="3"
1713+ parent="hotel.menu_amenity"/>
1714+
1715+ <!--===============================================================
1716+ Room Amenities
1717+ ===============================================================-->
1718+
1719+ <record id="view_hotel_room_amenities_form" model="ir.ui.view" >
1720+ <field name="name">hotel.room.amenities.form</field>
1721+ <field name="model">hotel.room.amenities</field>
1722+ <field name="arch" type="xml">
1723+ <form string="Hotel Room Amenities" version="7.0">
1724+ <sheet>
1725+ <h1>
1726+ <label string="Amenity" />
1727+ <field name="name" select="1"/>
1728+ </h1>
1729+ <group>
1730+ <field name="default_code" select="1"/>
1731+ </group>
1732+ <notebook>
1733+ <page string="Information">
1734+ <group colspan="4" col="4">
1735+ <field name="type" select="2"/>
1736+ <field name="product_manager" select="2"/>
1737+ <!-- <field name="procure_method"/> -->
1738+ <field name="state" select="2"/>
1739+ <field name="categ_id" select="1" domain="[('isamenitype','=',True)]"/>
1740+ <field name="uom_id"/>
1741+ <field name="uom_po_id"/>
1742+ </group>
1743+ <newline/>
1744+ <separator colspan='4' string="Supplier Taxes"/>
1745+ <field name="supplier_taxes_id" colspan="4" nolabel='1' help='Define supplier taxes if there any on the Amenity. '/>
1746+ <newline/>
1747+ <separator colspan='4' string="Customer Taxes"/>
1748+ <field name="taxes_id" colspan="4" nolabel='1' help='List of customer taxes applied on the Amenity. '/>
1749+ </page>
1750+
1751+ <page string="Procurement">
1752+ <group colspan="4" col="4">
1753+ <!-- <field name="supply_method"/> -->
1754+ <field name="active" select="2"/>
1755+ <field name="list_price"/>
1756+ <field name="cost_method"/>
1757+ <field name="sale_ok" select="2"/>
1758+ <field name="standard_price"/>
1759+ <field name="rental" select="2"/>
1760+ <field name="uos_id" />
1761+ <field name="uos_coeff" />
1762+ </group>
1763+ <newline />
1764+ <group>
1765+ <separator string="Suppliers" />
1766+ <field name="seller_ids" colspan="4" nolabel="1" widget="one2many_list"/>
1767+ </group>
1768+ </page>
1769+ <page string="Descriptions">
1770+ <separator string="Description" />
1771+ <field name="description" colspan="4" nolabel="1" />
1772+ <separator string="Sale Description"/>
1773+ <field name="description_sale" colspan="4" nolabel="1"/>
1774+ <separator string="Purchase Description"/>
1775+ <field name="description_purchase" colspan="4" nolabel="1"/>
1776+ </page>
1777+ </notebook>
1778+ </sheet>
1779+ </form>
1780+ </field>
1781+ </record>
1782+
1783+ <record model="ir.ui.view" id="view_hotel_room_amenities_search">
1784+ <field name="name">hotel.room_amenities_search</field>
1785+ <field name="model">hotel.room.amenities</field>
1786+ <field name="arch" type="xml">
1787+ <search string="Hotel Room Amenities">
1788+ <field name="name" />
1789+ <field name="categ_id" select="1"/>
1790+ <field name="list_price" string="Amenity rate"/>
1791+ <newline/>
1792+ <group expand="0" string="Group By...">
1793+ <filter name="categ_id" string="Catagory" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
1794+ </group>
1795+ </search>
1796+ </field>
1797+ </record>
1798+ <record model="ir.ui.view" id="view_hotel_room_amenities_list">
1799+ <field name="name">hotel.room_amenities_list</field>
1800+ <field name="model">hotel.room.amenities</field>
1801+ <field name="arch" type="xml">
1802+ <tree string="Hotel Room Amenities">
1803+ <field name="name" />
1804+ <field name="categ_id" select="1"/>
1805+ <field name="list_price" string="Amenity rate"/>
1806+ </tree>
1807+ </field>
1808+ </record>
1809+ <record model="ir.actions.act_window" id="action_hotel_room_amenities_view_form">
1810+ <field name="name">Hotel Room Amenities</field>
1811+ <field name="res_model">hotel.room.amenities</field>
1812+ <field name="view_type">form</field>
1813+ <field name="view_mode">tree,form</field>
1814+ <field name="view_id" ref="view_hotel_room_amenities_list"/>
1815+ </record>
1816+ <menuitem name="Amenities"
1817+ id="menu_action_hotel_room_amenities_view_form"
1818+ action="action_hotel_room_amenities_view_form"
1819+ sequence="2"
1820+ parent="hotel.menu_amenity"/>
1821+
1822+ <!--========================================================
1823+ Room Type
1824+ ========================================================-->
1825+ <record model="ir.ui.view" id="view_hotel_room_type_form">
1826+ <field name="name">hotel.room_type.form</field>
1827+ <field name="model">hotel.room.type</field>
1828+ <field name="arch" type="xml">
1829+ <form string=" Hotel Room Type" version="7.0">
1830+ <sheet>
1831+ <group>
1832+ <field name="name" select="1"/>
1833+ <field name="parent_id" domain="[('isroomtype','=',True)]" select="1"/>
1834+ </group>
1835+ </sheet>
1836+ </form>
1837+ </field>
1838+ </record>
1839+ <record model="ir.ui.view" id="view_hotel_room_type_tree">
1840+ <field name="name">hotel.room_type.tree</field>
1841+ <field name="model">hotel.room.type</field>
1842+ <field name="arch" type="xml">
1843+ <tree string=" Hotel Room Type">
1844+ <field name="complete_name"/>
1845+ </tree>
1846+ </field>
1847+ </record>
1848+ <record model="ir.actions.act_window" id="open_hotel_room_type_form_tree">
1849+ <field name="name">Room Type</field>
1850+ <field name="res_model">hotel.room.type</field>
1851+ <field name="view_type">form</field>
1852+ <field name="view_mode">tree,form</field>
1853+ </record>
1854+ <menuitem id="menu_hotel_room" name="Room" parent="hotel.hotel_configuration_menu" sequence="2"/>
1855+ <menuitem name="Room Types"
1856+ id="menu_open_hotel_room_type_form_tree"
1857+ action="open_hotel_room_type_form_tree"
1858+ sequence="6"
1859+ parent="hotel.menu_hotel_room"/>
1860+
1861+ <!--===================================================
1862+ Rooms
1863+ =================================================== -->
1864+
1865+ <record model="ir.ui.view" id="view_hotel_room_form">
1866+ <field name="name">hotel.room.form</field>
1867+ <field name="model">hotel.room</field>
1868+ <field name="arch" type="xml">
1869+ <form string="Hotel Room" version="7.0">
1870+ <header>
1871+ <field name="state" string="Room Status" widget='statusbar'/>
1872+ </header>
1873+ <sheet>
1874+ <div class="oe_title">
1875+ <label for="name" string="Name" />
1876+ <h1>
1877+ <field name="name" select="1"/>
1878+ </h1>
1879+ <label for="status" string="Status" />
1880+ <h2>
1881+ <field name="status" />
1882+ </h2>
1883+ </div>
1884+ <notebook>
1885+ <page string="Information">
1886+ <group colspan="4" col="4">
1887+ <field name="floor_id" string = "Floor" />
1888+ <field name="categ_id" select="1" domain="[('isroomtype','=',True)]"/>
1889+ <field name="product_manager" select="2"/>
1890+ <field name="uom_id" invisible="1"/>
1891+ </group>
1892+ <newline/>
1893+ <separator colspan='4' string="Supplier Taxes"/>
1894+ <field name="supplier_taxes_id" colspan="4" nolabel='1' help='List of supplier taxes if there any on the defined room. '/>
1895+ <newline/>
1896+ <separator colspan='4' string="Customer Taxes"/>
1897+ <field name="taxes_id" colspan="4" nolabel='1' help='Customer taxes apply on the perticular room. '/>
1898+ </page>
1899+ <page string = "Room Amenities">
1900+ <separator string=" Room Amenities"/>
1901+ <field name="room_amenities" colspan="4" nolabel="1"/>
1902+ </page>
1903+ <page string="Procurement">
1904+ <group colspan="4" col="4">
1905+ <field name="active" select="2"/>
1906+ <field name="list_price"/> -->
1907+ <field name="rental" select="2"/>
1908+ <field name="standard_price"/>
1909+ <field name="cost_method"/>
1910+ <field name="uos_id"/>
1911+ <field name="uos_coeff" />
1912+ <newline/>
1913+ <separator string="Room Rent" />
1914+ <field name="room_rent_ids" colspan="4" nolabel='1' >
1915+ <form string="Room Rent" version="7.0">
1916+ <group colspan="4" col="2">
1917+ <field name="price"/>
1918+ </group>
1919+ <group colspan="4" col="8">
1920+ <field name="mon"/>
1921+ <field name="tue"/>
1922+ <field name="wed"/>
1923+ <field name="thu"/>
1924+ <field name="fri"/>
1925+ <field name="sat"/>
1926+ <field name="sun"/>
1927+ </group>
1928+ </form>
1929+ <tree string="Room Rent" editable="bottom" >
1930+ <field name="price"/>
1931+ <field name="mon"/>
1932+ <field name="tue"/>
1933+ <field name="wed"/>
1934+ <field name="thu"/>
1935+ <field name="fri"/>
1936+ <field name="sat"/>
1937+ <field name="sun"/>
1938+ </tree>
1939+ </field>
1940+ </group>
1941+ <newline/>
1942+ <group>
1943+ <separator string="Suppliers" />
1944+ <field name="seller_ids" colspan="4" nolabel="1" widget="one2many_list"/>
1945+ </group>
1946+ </page>
1947+ <page string="Descriptions">
1948+ <separator string="Description" />
1949+ <field name="description" colspan="4" nolabel="1" />
1950+ </page>
1951+ </notebook>
1952+ </sheet>
1953+ </form>
1954+ </field>
1955+ </record>
1956+
1957+ <record model="ir.ui.view" id="view_hotel_room_search">
1958+ <field name="name">hotel.room.search</field>
1959+ <field name="model">hotel.room</field>
1960+ <field name="arch" type="xml">
1961+ <search string="Hotel Room" >
1962+ <field name="name" />
1963+ <field name="categ_id" select="1"/>
1964+ <field name="list_price" string="Room rate"/>
1965+ <field name="state" string="Status"/>
1966+ <newline/>
1967+ <filter string="Available" domain="[('state','=', 'unassigned')]" help="Available Rooms" />
1968+ <group expand="0" string="Group By...">
1969+ <filter name="state" string="state" domain="[]" context="{'group_by':'state'}" />
1970+ </group>
1971+ </search>
1972+ </field>
1973+ </record>
1974+
1975+ <record model="ir.ui.view" id="view_hotel_room_tree">
1976+ <field name="name">hotel.room.tree</field>
1977+ <field name="model">hotel.room</field>
1978+ <field name="arch" type="xml">
1979+ <tree string="Hotel Room" >
1980+ <field name="name" />
1981+ <field name="categ_id" select="1"/>
1982+ <field name="list_price" string="Room rate"/>
1983+ <field name="status"/>
1984+ </tree>
1985+ </field>
1986+ </record>
1987+
1988+ <record model="ir.ui.view" id="view_hotel_room_kanban">
1989+ <field name="name">hotel.room.kanban</field>
1990+ <field name="model">hotel.room</field>
1991+ <field name="arch" type="xml">
1992+ <kanban version="7.0" default_group_by="status" >
1993+ <field name="product_id" />
1994+ <field name="status" />
1995+ <field name="color" />
1996+ <templates>
1997+ <t t-name="kanban-box">
1998+ <!-- <div class="oe_kanban_vignette oe_semantic_html_override"> -->
1999+ <div t-attf-class="oe_kanban_color_#{kanban_getcolor(record.color.raw_value)} oe_kanban_card oe_kanban_project oe_kanban_global_click">
2000+ <div class="oe_dropdown_toggle oe_dropdown_kanban" groups="base.group_user">
2001+ <span class="oe_e">í</span>
2002+ <ul class="oe_dropdown_menu">
2003+ <t t-if="widget.view.is_action_enabled('edit')"><li><a type="edit">Edit</a></li></t>
2004+ <t t-if="widget.view.is_action_enabled('delete')"><li><a type="delete">Delete</a></li></t>
2005+ <li><ul class="oe_kanban_colorpicker" data-field="color"/></li>
2006+ </ul>
2007+ </div>
2008+ <!-- <div class="oe_kanban_details"> -->
2009+ <div class="oe_kanban_content">
2010+ <div class="oe_kanban_project_list">
2011+ <h4>
2012+ <a type="open">
2013+ <t t-if="record.code.raw_value" style="margin-right: 10px">[<field name="code" />] </t> <field name="name"/>
2014+ </a>
2015+ </h4>
2016+ <div name="tags"/>
2017+ <ul>
2018+ <li>Status: <field name="status"></field></li>
2019+ <li>Rate: <field name="list_price"></field></li>
2020+ </ul>
2021+ </div>
2022+ <div class="oe_kanban_bottom_right">
2023+ <a t-if="record.status.raw_value === 'available'" type="object" string="Available" name="set_room_status_occupied" class="oe_kanban_status oe_kanban_status_green "> </a>
2024+ <a t-if="record.status.raw_value === 'occupied'" type="object" string="occupied" name="set_room_status_available" class="oe_kanban_status oe_kanban_status_red " > </a>
2025+ </div>
2026+ </div>
2027+ </div>
2028+ </t>
2029+ </templates>
2030+ </kanban>
2031+ </field>
2032+ </record>
2033+
2034+ <record model="ir.actions.act_window" id="action_hotel_room_form">
2035+ <field name="name">Hotel Room</field>
2036+ <field name="res_model">hotel.room</field>
2037+ <field name="view_type">form</field>
2038+ <field name="view_mode">kanban,tree,form</field>
2039+ </record>
2040+
2041+ <menuitem name="Rooms"
2042+ id="menu_open_hotel_room_form"
2043+ action="action_hotel_room_form"
2044+ sequence="5"
2045+ parent="hotel.menu_hotel_room"/>
2046+
2047+ <!-- Services -->
2048+ <record model="ir.ui.view" id="view_hotel_service_type_form">
2049+ <field name="name">hotel.service_type.form</field>
2050+ <field name="model">hotel.service.type</field>
2051+ <field name="arch" type="xml">
2052+ <form string="Service Type" version="7.0">
2053+ <sheet>
2054+ <group>
2055+ <field name="name" select="1"/>
2056+ <field name="parent_id" domain="[('isservicetype','=',True)]" select="1"/>
2057+ </group>
2058+ </sheet>
2059+ </form>
2060+ </field>
2061+ </record>
2062+ <record model="ir.ui.view" id="view_hotel_service_type_tree">
2063+ <field name="name">hotel.service_type.tree</field>
2064+ <field name="model">hotel.service.type</field>
2065+ <field name="arch" type="xml">
2066+ <tree string="Service Type">
2067+ <field name="complete_name"/>
2068+ </tree>
2069+ </field>
2070+ </record>
2071+ <record model="ir.actions.act_window" id="open_hotel_service_type_form_tree">
2072+ <field name="name">Service Type</field>
2073+ <field name="res_model">hotel.service.type</field>
2074+ <field name="view_type">form</field>
2075+ <field name="view_mode">tree,form</field>
2076+ </record>
2077+ <menuitem id="menu_hotel_service" name="Services" parent="hotel.hotel_configuration_menu" sequence="2"/>
2078+ <menuitem name="Service Types"
2079+ id="menu_open_hotel_service_type_form_tree"
2080+ action="open_hotel_service_type_form_tree"
2081+ sequence="9"
2082+ parent="hotel.menu_hotel_service"/>
2083+
2084+ <record model="ir.ui.view" id="view_hotel_services_form">
2085+ <field name="name">.hotel.services.form</field>
2086+ <field name="model">hotel.services</field>
2087+ <field name="arch" type="xml">
2088+ <form string="Hotel Services" version="7.0">
2089+ <sheet>
2090+ <h1>
2091+ <label string="Service" />
2092+ <field name="name" select="1"/>
2093+ </h1>
2094+ <group>
2095+ <field name="default_code" select="1" />
2096+ </group>
2097+ <notebook>
2098+ <page string="Information">
2099+ <group>
2100+ <group colspan="4" col="4">
2101+ <field name="type" select="2"/>
2102+ <!-- <field name="procure_method"/> -->
2103+ <field name="state" select="2"/>
2104+ <field name="categ_id" domain="[('isservicetype','=',True)]" select="1"/>
2105+ <field name="product_manager" select="2"/>
2106+ <field name="uom_id"/>
2107+ <field name="uom_po_id"/>
2108+ </group>
2109+ </group>
2110+ <newline/>
2111+ <separator colspan='4' string="Supplier Taxes"/>
2112+ <field name="supplier_taxes_id" colspan="4" nolabel='1' help='List of supplier taxes related to the service provided by hotel.'/>
2113+ <newline/>
2114+ <separator colspan='4' string="Customer Taxes"/>
2115+ <field name="taxes_id" colspan="4" nolabel='1' help='Customer taxes applied on the service.'/>
2116+ </page>
2117+ <page string="Procurement">
2118+ <group colspan="4" col="4">
2119+ <!-- <field name="supply_method"/> -->
2120+ <field name="active" select="2"/>
2121+ <field name="list_price"/>
2122+ <field name="cost_method"/>
2123+ <field name="sale_ok" select="2"/>
2124+ <field name="standard_price"/>
2125+ <field name="rental" select="2"/>
2126+ <field name="uos_id" />
2127+ <field name="uos_coeff" />
2128+ </group>
2129+ <newline />
2130+ <group>
2131+ <separator string="Suplliers" />
2132+ <field name="seller_ids" colspan="4" nolabel="1" widget="one2many_list"/>
2133+ </group>
2134+ </page>
2135+ <page string="Descriptions">
2136+ <separator string="Description" />
2137+ <field name="description" colspan="4" nolabel="1" />
2138+ <separator string="Sale Description"/>
2139+ <field name="description_sale" colspan="4" nolabel="1"/>
2140+ <separator string="Purchase Description"/>
2141+ <field name="description_purchase" colspan="4" nolabel="1"/>
2142+ </page>
2143+ </notebook>
2144+ </sheet>
2145+ </form>
2146+ </field>
2147+ </record>
2148+
2149+ <record model="ir.ui.view" id="view_hotel_services_search">
2150+ <field name="name">hotel.services.search</field>
2151+ <field name="model">hotel.services</field>
2152+ <field name="arch" type="xml">
2153+ <search string="Hotel Services" >
2154+ <field name="name" />
2155+ <field name="categ_id" select="1"/>
2156+ <field name="list_price" string="Service rate"/>
2157+ <newline/>
2158+ <group expand="0" string="Group By...">
2159+ <filter name="categ_id" string="Catagory" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
2160+ </group>
2161+ </search>
2162+ </field>
2163+ </record>
2164+
2165+ <record model="ir.ui.view" id="view_hotel_services_tree">
2166+ <field name="name">hotel.services.tree</field>
2167+ <field name="model">hotel.services</field>
2168+ <field name="arch" type="xml">
2169+ <tree string="Hotel Services" >
2170+ <field name="name" />
2171+ <field name="categ_id" select="1"/>
2172+ <field name="list_price" string="Service rate"/>
2173+ </tree>
2174+ </field>
2175+ </record>
2176+ <record model="ir.actions.act_window" id="action_hotel_services_form">
2177+ <field name="name">Hotel Services</field>
2178+ <field name="res_model">hotel.services</field>
2179+ <field name="view_type">form</field>
2180+ <field name="view_mode">tree,form</field>
2181+ </record>
2182+
2183+ <menuitem name="Services"
2184+ id="menu_open_hotel_services_form"
2185+ action="action_hotel_services_form"
2186+ sequence="8"
2187+ parent="hotel.menu_hotel_service"/>
2188+
2189+ <!--========================================================
2190+ Hotel Folio
2191+ ========================================================-->
2192+ <record model="ir.ui.view" id="view_hotel_folio1_form">
2193+ <field name="name">hotel.folio.form</field>
2194+ <field name="model">hotel.folio</field>
2195+ <field name="arch" type="xml">
2196+ <form string="Folio" version="7.0">
2197+ <header>
2198+ <button name="order_confirm" string="Confirm Folio" states="draft" icon="gtk-apply" class="oe_highlight"/>
2199+ <button name="invoice_recreate" string="Recreate Invoice" states="invoice_except" icon="gtk-redo"/>
2200+ <button name="invoice_corrected" string="Invoice Corrected" states="invoice_except" icon="gtk-paste-v"/>
2201+ <button name="ship_recreate" string="Recreate Procurement" states="shipping_except" icon="gtk-redo"/>
2202+ <button name="ship_corrected" string="Procurement Corrected" states="shipping_except" icon="gtk-paste-v"/>
2203+ <button name="manual_invoice" states="manual" string="Create Invoice" icon="gtk-new"/>
2204+ <button name="ship_cancel" string="Cancel Folio" states="shipping_except" icon="gtk-cancel" class="oe_highlight" />
2205+ <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-file"/>
2206+ <button name="action_cancel" string="Cancel Folio" states="manual,progress" type="object" icon="gtk-cancel"/>
2207+ <button name="cancel" string="Cancel Folio" states="draft" icon="gtk-cancel"/>
2208+ <button name="invoice_cancel" string="Cancel Folio" states="invoice_except" icon="gtk-cancel"/>
2209+ <field name="state" select="2" widget="statusbar" statusbar_visible="draft,sent,invoiced,done"/>
2210+ </header>
2211+ <sheet>
2212+ <label string="Folio Number"/>
2213+ <h1>
2214+ <field name="name" colspan="4"/>
2215+ </h1>
2216+ <group colspan="4" col="4">
2217+ <field name="date_order"/>
2218+ <field name="invoiced"/>
2219+ <field name="shop_id" string="Branch"/>
2220+ </group>
2221+ <notebook colspan="4">
2222+ <page string="Folio">
2223+ <group colspan="4" col="4">
2224+ <field name="partner_id" on_change="onchange_partner_id(partner_id)" required="1" string="Guest Name"/>
2225+ <field name="partner_invoice_id" domain="[('parent_id','=',partner_id)]" />
2226+ <field name="pricelist_id" domain="[('type','=','sale')]" />
2227+ <field name="project_id"/>
2228+ <field name="partner_shipping_id" domain="[('parent_id','=',partner_id)]" invisible="1" />
2229+ </group>
2230+ <newline/>
2231+ <group colspan="4" col="6">
2232+ <field name="checkin_date" on_change="onchange_dates(checkin_date,checkout_date)" />
2233+ <field name="checkout_date" on_change="onchange_dates(checkin_date,checkout_date)"/>
2234+ <field name="duration" on_change="onchange_dates(checkin_date,False,duration)"/>
2235+ </group>
2236+ <separator string="Room Lines" colspan="4"/>
2237+ <field name="room_lines" colspan="4" string="Room Line" default_get="{'checkin_date': checkin_date,'checkout_date':checkout_date}" nolabel="1">
2238+ <form string="Room Line" version="7.0">
2239+ <notebook>
2240+ <page string="Folio Line">
2241+ <group>
2242+ <field name="checkin_date"/>
2243+ <field name="checkout_date" on_change="on_change_checkout(checkin_date,checkout_date)" />
2244+ <separator string="Automatic Declaration" colspan="4"/>
2245+ <field name="product_uom_qty"
2246+ on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order)"
2247+ context="{'partner_id':parent.partner_id,'quantity':product_uom_qty,'pricelist':parent.pricelist_id,'shop':parent.shop_id,'uom':product_uom}"
2248+ invisible="1"/>
2249+ <field name="product_uom"
2250+ on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order)"
2251+ string="Rent(UOM)"/>
2252+ <field name="product_id"
2253+ on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, True, parent.date_order)"
2254+ context="{'partner_id':parent.partner_id,'quantity':product_uom_qty,'pricelist':parent.pricelist_id,'shop':parent.shop_id,'uom':product_uom}"
2255+ colspan="4" select="1" domain="[('isroom','=',True)]" string="Room No"/>
2256+ </group>
2257+ <separator string="Manual Description"
2258+ colspan="4" />
2259+ <field name="name" colspan="4" select="2" placeholder="---Description---"/>
2260+ <group>
2261+ <field name="price_unit" select="2" string="Rent"/>
2262+ <field name="discount"/>
2263+ <newline/>
2264+ <field name="tax_id" colspan="4" nolabel="1"/>
2265+ <separator string="States" colspan="4"/>
2266+ <field name="state" select="2"/>
2267+ <field name="invoiced" select="2"/>
2268+ </group>
2269+ </page>
2270+ <page string="Extra Info">
2271+ <group>
2272+ <field name="product_uos_qty"/>
2273+ <field name="product_uos" />
2274+ <field name="address_allotment_id" select="2"/>
2275+ </group>
2276+ <!-- <separator string="Properties" colspan="4"/> -->
2277+ </page>
2278+ <page string="History">
2279+ <separator string="Invoice Lines" colspan="4"/>
2280+ <field name="invoice_lines" colspan="4" nolabel="1"/>
2281+ </page>
2282+ </notebook>
2283+ </form>
2284+ <tree string = "Room Line">
2285+ <field name="name"/>
2286+ <field name="checkin_date"/>
2287+ <field name="checkout_date"/>
2288+ <field name="product_id" string="Room No"/>
2289+ <field name="product_uom" string="Rent(UOM)"/>
2290+ <field name="price_unit" string="Rent"/>
2291+ <field name="price_subtotal"/>
2292+ <field name="state"/>
2293+ </tree>
2294+ </field>
2295+ <separator string="Service Lines" colspan="4"/>
2296+ <field name="service_lines" colspan="4" string = "Service Line" nolabel="1">
2297+ <form string="Service Line" version="7.0">
2298+ <notebook>
2299+ <page string="Service Line">
2300+ <separator string="Automatic Declaration" colspan="4"/>
2301+ <group>
2302+ <field name="product_uom_qty"
2303+ on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order)"
2304+ context="{'partner_id':parent.partner_id,'quantity':product_uom_qty,'pricelist':parent.pricelist_id,'shop':parent.shop_id,'uom':product_uom}"
2305+ select="1"/>
2306+ <field name="product_uom"
2307+ on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order)"
2308+ />
2309+ <field name="product_id"
2310+ on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, True, parent.date_order)"
2311+ context="{'partner_id':parent.partner_id,'quantity':product_uom_qty,'pricelist':parent.pricelist_id,'shop':parent.shop_id,'uom':product_uom}"
2312+ select="1" domain="[('isservice','=',True)]" />
2313+ </group>
2314+ <separator string="Manual Description"
2315+ colspan="4"/>
2316+ <field name="name" colspan="4" select="2" placeholder="---Description---"/>
2317+ <group>
2318+ <field name="price_unit" select="2"/>
2319+ <field name="discount"/>
2320+ </group>
2321+ <newline/>
2322+ <field name="tax_id" colspan="4"/>
2323+ <group>
2324+ <separator string="States" colspan="4"/>
2325+ <field name="state" select="2"/>
2326+ <field name="invoiced" select="2"/>
2327+ </group>
2328+ </page>
2329+ <page string="Extra Info">
2330+ <group>
2331+ <field name="product_uos_qty"/>
2332+ <field name="product_uos" />
2333+ <field name="address_allotment_id" select="2"/>
2334+ </group>
2335+ <!-- <separator string="Properties" colspan="4"/> -->
2336+ </page>
2337+ <page string="History">
2338+ <separator string="Invoice Lines" colspan="4"/>
2339+ <field name="invoice_lines" colspan="4" nolabel="1"/>
2340+ </page>
2341+ </notebook>
2342+ </form>
2343+ <tree string="Service Line">
2344+ <field name="name"/>
2345+ <field name="product_id" />
2346+ <field name="product_uom_qty"/>
2347+ <field name="price_unit"/>
2348+ <field name="price_subtotal"/>
2349+ <field name="state"/>
2350+ </tree>
2351+ </field>
2352+ <group colspan="2" class="oe_subtotal_footer oe_right">
2353+ <field name="amount_untaxed" sum="Untaxed amount" widget='monetary' />
2354+ <field name="amount_tax" widget='monetary'/>
2355+ <div class="oe_subtotal_footer_separator oe_inline">
2356+ <label for="amount_total" />
2357+ <button name="button_dummy" string="Compute" states="draft" type="object" icon="terp-sale" class="oe_highlight"/>
2358+ </div>
2359+ <field name="amount_total" nolabel="1" sum="Total amount" widget='monetary'/>
2360+ </group>
2361+ <div class="oe_clear"/>
2362+ </page>
2363+ <page string="Other data">
2364+ <group>
2365+ <field name="user_id"/>
2366+ <field name="order_policy" invisible="1"/>
2367+ <field name="hotel_policy" attrs="{'readonly':[('state','not in',('draft'))]}"/>
2368+ <field name="client_order_ref" />
2369+ </group>
2370+ </page>
2371+ <page string="History">
2372+ <separator string="Related invoices" colspan="4"/>
2373+ <field name="invoice_ids" colspan="4" nolabel="1"/>
2374+ </page>
2375+ </notebook>
2376+ </sheet>
2377+ </form>
2378+ </field>
2379+ </record>
2380+ <record model="ir.ui.view" id="view_hotel_folio1_tree">
2381+ <field name="name">hotel.folio.tree</field>
2382+ <field name="model">hotel.folio</field>
2383+ <field name="arch" type="xml">
2384+ <tree string="Hotel Folio" colors="blue:state == 'draft';gray:state == 'done'">
2385+ <field name="checkin_date" />
2386+ <field name="checkout_date" />
2387+ <field name="name" select="1"/>
2388+ <field name="partner_id" select="1"/>
2389+ <field name="date_order" select="1"/>
2390+ <field name="state"/>
2391+ <field name="amount_total" sum="Total amount"/>
2392+ </tree>
2393+ </field>
2394+ </record>
2395+
2396+ <record model="ir.ui.view" id="hotel_folio_calendar_view">
2397+ <field name="name">Hotel- Folios Calendar</field>
2398+ <field name="model">hotel.folio</field>
2399+ <field name="arch" type="xml">
2400+ <calendar string="Folios" date_start="checkin_date" color="user_id" date_stop="checkout_date">
2401+ <field name="name"/>
2402+ <field name="partner_id"/>
2403+ <field name="duration"/>
2404+ </calendar>
2405+ </field>
2406+ </record>
2407+
2408+ <record model="ir.actions.act_window" id="open_hotel_folio1_form_tree_all">
2409+ <field name="name">Hotel Folio</field>
2410+ <field name="res_model">hotel.folio</field>
2411+ <field name="view_type">form</field>
2412+ <field name="view_mode">tree,form,calendar</field>
2413+ </record>
2414+
2415+ <menuitem id="menu_all_folio" name="Folio" parent="hotel.hotel_management_menu" sequence="4"/>
2416+ <menuitem name="Generate Folio"
2417+ id="menu_open_hotel_folio1_form_tree_all"
2418+ action="open_hotel_folio1_form_tree_all"
2419+ sequence="5"
2420+ parent ="menu_all_folio"/>
2421+
2422+ <!-- Categories for Room, Amenities, Services -->
2423+ <record model="ir.actions.act_window" id="hotel_room_category_action">
2424+ <field name="name">Rooms by Category</field>
2425+ <field name="type">ir.actions.act_window</field>
2426+ <field name="res_model">product.category</field>
2427+ <field name="domain">[('parent_id','=',False),('isroomtype','=',True)]</field>
2428+ <field name="view_type">tree</field>
2429+ <field name="view_id" ref="product.product_category_tree_view"/>
2430+ </record>
2431+ <menuitem name="Room by Category"
2432+ id="menu_hotel_room_category_action"
2433+ action="hotel_room_category_action"
2434+ sequence="7"
2435+ parent="hotel.menu_hotel_room"/>
2436+
2437+ <record model="ir.actions.act_window" id="hotel_amenity_category_action">
2438+ <field name="name">Amenities by Category</field>
2439+ <field name="type">ir.actions.act_window</field>
2440+ <field name="res_model">product.category</field>
2441+ <field name="domain">[('parent_id','=',False),('isamenitype','=',True)]</field>
2442+ <field name="view_type">tree</field>
2443+ <field name="view_id" ref="product.product_category_tree_view"/>
2444+ </record>
2445+ <menuitem name="Amenities by Category"
2446+ id="menu_hotel_amenity_category_action"
2447+ action="hotel_amenity_category_action"
2448+ sequence="4"
2449+ parent="hotel.menu_amenity"/>
2450+
2451+ <record model="ir.actions.act_window" id="hotel_service_category_action">
2452+ <field name="name">Services by Category</field>
2453+ <field name="type">ir.actions.act_window</field>
2454+ <field name="res_model">product.category</field>
2455+ <field name="domain">[('parent_id','=',False),('isservicetype','=',True)]</field>
2456+ <field name="view_type">tree</field>
2457+ <field name="view_id" ref="product.product_category_tree_view"/>
2458+ </record>
2459+ <menuitem name="Services by Category"
2460+ id="menu_hotel_service_category_action"
2461+ action="hotel_service_category_action"
2462+ sequence="10"
2463+ parent="hotel.menu_hotel_service"/>
2464+
2465+ </data>
2466+</openerp>>>>>>>> MERGE-SOURCE
2467
2468=== added file 'hotel/i18n/fr.po'
2469--- hotel/i18n/fr.po 1970-01-01 00:00:00 +0000
2470+++ hotel/i18n/fr.po 2014-09-28 13:18:16 +0000
2471@@ -0,0 +1,752 @@
2472+# Translation of OpenERP Server.
2473+# This file contains the translation of the following modules:
2474+# * hotel
2475+#
2476+msgid ""
2477+msgstr ""
2478+"Project-Id-Version: OpenERP Server 5.0.6\n"
2479+"Report-Msgid-Bugs-To: support@openerp.com\n"
2480+"POT-Creation-Date: 2009-11-26 07:33:36+0000\n"
2481+"PO-Revision-Date: 2014-07-19 13:06-0000\n"
2482+"Last-Translator: <>\n"
2483+"Language-Team: \n"
2484+"MIME-Version: 1.0\n"
2485+"Content-Type: text/plain; charset=UTF-8\n"
2486+"Content-Transfer-Encoding: 8bit\n"
2487+"Plural-Forms: \n"
2488+"Language: fr\n"
2489+"X-Generator: Poedit 1.6.6\n"
2490+
2491+#. module: hotel
2492+#: model:ir.ui.menu,name:hotel.menu_open_hotel_folio1_form_tree
2493+msgid "Generate Folio"
2494+msgstr "Générer Classeur"
2495+
2496+#. module: hotel
2497+#: view:hotel.folio:0
2498+msgid "Recreate Procurement"
2499+msgstr "Recréer Approvisionnement"
2500+
2501+#. module: hotel
2502+#: field:hotel.folio,checkout_date:0 field:hotel_folio.line,checkout_date:0
2503+msgid "Check Out"
2504+msgstr "Départ"
2505+
2506+#. module: hotel
2507+#: model:ir.ui.menu,name:hotel.menu_action_hotel_room_amenities_view_form
2508+msgid "Amenities"
2509+msgstr "Commodités"
2510+
2511+#. module: hotel
2512+#: constraint:ir.actions.act_window:0
2513+msgid "Invalid model name in the action definition."
2514+msgstr "Nom du modèle invalide dans la définition de l'action"
2515+
2516+#. module: hotel
2517+#: field:hotel.floor,name:0
2518+msgid "Floor Name"
2519+msgstr "Nom de l'étage"
2520+
2521+#. module: hotel
2522+#: field:product.product,iscategid:0
2523+msgid "Is categ id"
2524+msgstr "Is categ id"
2525+
2526+#. module: hotel
2527+#: model:ir.model,name:hotel.model_hotel_room_amenities_type
2528+msgid "amenities Type"
2529+msgstr "Type de Commodités"
2530+
2531+#. module: hotel
2532+#: view:hotel.room_amenities:0
2533+msgid "Amenity rate"
2534+msgstr "Tarif Commodités"
2535+
2536+#. module: hotel
2537+#: field:product.category,isservicetype:0
2538+msgid "Is Service Type"
2539+msgstr "Es un Type de Service"
2540+
2541+#. module: hotel
2542+#: view:hotel.folio:0
2543+msgid "Set to Draft"
2544+msgstr "Mettre en brouillon"
2545+
2546+#. module: hotel
2547+#: rml:folio.total:0
2548+msgid "to"
2549+msgstr "A"
2550+
2551+#. module: hotel
2552+#: wizard_view:hotel.folio.total_folio,init:0
2553+msgid "Folio List"
2554+msgstr "Liste Classeur"
2555+
2556+#. module: hotel
2557+#: model:ir.ui.menu,name:hotel.menu_open_hotel_services_form
2558+msgid "Services"
2559+msgstr "Services"
2560+
2561+#. module: hotel
2562+#: view:hotel.folio:0
2563+msgid "Cancel Order"
2564+msgstr "Annuler commande"
2565+
2566+#. module: hotel
2567+#: view:hotel.folio:0
2568+msgid "Confirm Order"
2569+msgstr "Confirmer Commande"
2570+
2571+#. module: hotel
2572+#: model:product.category,name:hotel.hotel_room_amenities_type_0_product_category
2573+msgid "All Aminities"
2574+msgstr "Toutes les Commodités"
2575+
2576+#. module: hotel
2577+#: view:hotel.folio:0
2578+msgid "Notes"
2579+msgstr "Notes"
2580+
2581+#. module: hotel
2582+#: view:hotel.floor:0
2583+msgid " Hotel Floor"
2584+msgstr "Etage de l'hotel"
2585+
2586+#. module: hotel
2587+#: rml:folio.total:0
2588+msgid "Customer Name"
2589+msgstr "Nom Client"
2590+
2591+#. module: hotel
2592+#: field:product.product,isroom:0
2593+msgid "Is Room"
2594+msgstr "Es une Chambre"
2595+
2596+#. module: hotel
2597+#: model:product.category,name:hotel.hotel_service_type_1_product_category
2598+msgid "Fixed"
2599+msgstr "Fixe"
2600+
2601+#. module: hotel
2602+#: model:ir.model,name:hotel.model_hotel_service_line
2603+msgid "hotel Service line"
2604+msgstr "Prestations de l'Hotel"
2605+
2606+#. module: hotel
2607+#: model:ir.ui.menu,name:hotel.menu_open_hotel_folio1_form_tree_all
2608+msgid "All Folio"
2609+msgstr "Tous les Classeurs"
2610+
2611+#. module: hotel
2612+#: view:hotel.room:0 field:hotel.room,room_amenities:0
2613+msgid "Room Amenities"
2614+msgstr "Commodités de Chambre"
2615+
2616+#. module: hotel
2617+#: view:hotel.service_type:0
2618+#: model:ir.actions.act_window,name:hotel.open_hotel_service_type_form_tree
2619+#: model:ir.model,name:hotel.model_hotel_service_type
2620+msgid "Service Type"
2621+msgstr "Type de Service"
2622+
2623+#. module: hotel
2624+#: field:hotel_folio.line,order_line_id:0
2625+msgid "order_line_id"
2626+msgstr "order_line_id"
2627+
2628+#. module: hotel
2629+#: constraint:product.category:0
2630+msgid "Error ! You can not create recursive categories."
2631+msgstr "Erreur! Impossible de créer des Tables recurssives"
2632+
2633+#. module: hotel
2634+#: model:ir.model,name:hotel.model_hotel_folio
2635+msgid "hotel folio new"
2636+msgstr "Nouveau Classeur"
2637+
2638+#. module: hotel
2639+#: view:hotel.folio:0
2640+msgid "Extra Info"
2641+msgstr "Infos Supplémentaires"
2642+
2643+#. module: hotel
2644+#: model:ir.actions.act_window,name:hotel.hotel_room_category_action
2645+msgid "Rooms by Category"
2646+msgstr "Chambres par Catégories"
2647+
2648+#. module: hotel
2649+#: model:product.category,name:hotel.hotel_room_amenities_type_3_product_category
2650+msgid "Single Bed"
2651+msgstr "Lit Simple"
2652+
2653+#. module: hotel
2654+#: model:ir.ui.menu,name:hotel.menu_open_hotel_service_type_form_tree
2655+msgid "Service Types"
2656+msgstr "Types de Services"
2657+
2658+#. module: hotel
2659+#: model:product.category,name:hotel.hotel_room_amenities_type_2_product_category
2660+msgid "Tables"
2661+msgstr "Tables"
2662+
2663+#. module: hotel
2664+#: view:hotel.folio:0
2665+msgid "Folio"
2666+msgstr "Classeur"
2667+
2668+#. module: hotel
2669+#: rml:folio.total:0
2670+msgid "From"
2671+msgstr "De"
2672+
2673+#. module: hotel
2674+#: view:hotel.folio:0
2675+msgid "Recreate Invoice"
2676+msgstr "Recréer Facture"
2677+
2678+#. module: hotel
2679+#: field:product.category,isamenitype:0
2680+msgid "Is amenities Type"
2681+msgstr "Es un Type de Commodité"
2682+
2683+#. module: hotel
2684+#: view:hotel.room:0
2685+msgid " Room Amenities"
2686+msgstr "Commodités de Chambre"
2687+
2688+#. module: hotel
2689+#: field:hotel.folio,checkin_date:0 field:hotel_folio.line,checkin_date:0
2690+msgid "Check In"
2691+msgstr "Arrivé"
2692+
2693+#. module: hotel
2694+#: model:ir.actions.act_window,name:hotel.hotel_amenity_category_action
2695+#: model:ir.ui.menu,name:hotel.menu_hotel_amenity_category_action
2696+msgid "Amenities by Category"
2697+msgstr "Commodités par Catégorie"
2698+
2699+#. module: hotel
2700+#: field:hotel.services,service_id:0
2701+msgid "Service_id"
2702+msgstr "Service_id"
2703+
2704+#. module: hotel
2705+#: view:hotel.folio:0
2706+msgid "Invoice Lines"
2707+msgstr "Ligne de facture"
2708+
2709+#. module: hotel
2710+#: view:hotel.folio:0
2711+msgid "Untaxed amount"
2712+msgstr "Montant non taxé"
2713+
2714+#. module: hotel
2715+#: field:hotel.room_amenities_type,cat_id:0 field:hotel.room_type,cat_id:0
2716+#: field:hotel.service_type,ser_id:0
2717+msgid "category"
2718+msgstr "Catégorie"
2719+
2720+#. module: hotel
2721+#: view:hotel.room:0 field:hotel.room,avail_status:0
2722+msgid "Room Status"
2723+msgstr "Situation Chambre"
2724+
2725+#. module: hotel
2726+#: field:hotel.room_amenities,room_categ_id:0
2727+msgid "Product Category"
2728+msgstr "Catégorie de Produit"
2729+
2730+#. module: hotel
2731+#: view:hotel.folio:0
2732+msgid "Manual Description"
2733+msgstr "Description"
2734+
2735+#. module: hotel
2736+#: model:product.category,name:hotel.hotel_service_type_0_product_category
2737+msgid "All Services"
2738+msgstr "Tous les Services"
2739+
2740+#. module: hotel
2741+#: view:hotel.room:0
2742+#: model:ir.actions.act_window,name:hotel.action_hotel_room_form
2743+#: model:ir.model,name:hotel.model_hotel_room
2744+msgid "Hotel Room"
2745+msgstr "Chambres d'Hotel"
2746+
2747+#. module: hotel
2748+#: rml:folio.total:0
2749+msgid "Folio No."
2750+msgstr "Classeur No."
2751+
2752+#. module: hotel
2753+#: view:hotel.folio:0
2754+msgid "Inventory Moves"
2755+msgstr "Mouvement Inventaire"
2756+
2757+#. module: hotel
2758+#: model:ir.ui.menu,name:hotel.hotel_configuration_menu
2759+msgid "Configuration"
2760+msgstr "Configuration"
2761+
2762+#. module: hotel
2763+#: view:hotel.folio:0
2764+msgid "Total amount"
2765+msgstr "Montant Total"
2766+
2767+#. module: hotel
2768+#: view:hotel.floor:0
2769+msgid " Hotel Floors"
2770+msgstr "Etages de l'Hotel"
2771+
2772+#. module: hotel
2773+#: constraint:ir.ui.view:0
2774+msgid "Invalid XML for View Architecture!"
2775+msgstr "XML invalide pour cette vue!"
2776+
2777+#. module: hotel
2778+#: field:hotel.folio,order_id:0
2779+msgid "order_id"
2780+msgstr "order_id"
2781+
2782+#. module: hotel
2783+#: field:hotel.room_amenities,amenity_rate:0
2784+msgid "Amenity Rate"
2785+msgstr "Tarif Commodités"
2786+
2787+#. module: hotel
2788+#: view:hotel.room:0 view:hotel.room_amenities:0 view:hotel.services:0
2789+msgid "Procurement"
2790+msgstr "Approvisionnement"
2791+
2792+#. module: hotel
2793+#: field:hotel.floor,sequence:0
2794+msgid "Sequence"
2795+msgstr "Séquence"
2796+
2797+#. module: hotel
2798+#: model:ir.ui.menu,name:hotel.menu_action_hotel_room_amenities_type_view_form
2799+msgid "Amenity Types"
2800+msgstr "Type de Commodités"
2801+
2802+#. module: hotel
2803+#: model:ir.ui.menu,name:hotel.menu_hotel_room_category_action
2804+msgid "Room by Category"
2805+msgstr "Chambre par Catégorie"
2806+
2807+#. module: hotel
2808+#: field:hotel.room_amenities,rcateg_id:0
2809+msgid "Amenity Catagory"
2810+msgstr "Catégorie Commodité"
2811+
2812+#. module: hotel
2813+#: view:hotel.folio:0
2814+msgid "Other data"
2815+msgstr "Autres Info"
2816+
2817+#. module: hotel
2818+#: field:hotel.room,max_child:0
2819+msgid "Max Child"
2820+msgstr "Max Enfant"
2821+
2822+#. module: hotel
2823+#: view:hotel.room:0 view:hotel.room_amenities:0 view:hotel.services:0
2824+msgid "Descriptions"
2825+msgstr "Descriptions"
2826+
2827+#. module: hotel
2828+#: wizard_field:hotel.folio.total_folio,init,date_start:0
2829+msgid "Start Date"
2830+msgstr "Date Début"
2831+
2832+#. module: hotel
2833+#: model:ir.model,name:hotel.model_hotel_folio_line
2834+msgid "hotel folio1 room line"
2835+msgstr ""
2836+
2837+#. module: hotel
2838+#: field:product.category,isroomtype:0
2839+msgid "Is Room Type"
2840+msgstr "Es un type de Chambre"
2841+
2842+#. module: hotel
2843+#: rml:folio.total:0
2844+msgid "Total Collection"
2845+msgstr ""
2846+
2847+#. module: hotel
2848+#: view:hotel.folio:0
2849+msgid "Automatic Declaration"
2850+msgstr "Déclaration Automatique"
2851+
2852+#. module: hotel
2853+#: view:hotel.folio:0
2854+msgid "Rent(UOM)"
2855+msgstr "Unités (UOM)"
2856+
2857+#. module: hotel
2858+#: model:ir.model,name:hotel.model_hotel_services
2859+msgid "Hotel Services and its charges"
2860+msgstr "Services and charges comprises"
2861+
2862+#. module: hotel
2863+#: view:hotel.folio:0
2864+msgid "Procurement Corrected"
2865+msgstr "Approvisionnement correct"
2866+
2867+#. module: hotel
2868+#: view:hotel.folio:0
2869+msgid "Room Line"
2870+msgstr "Chambre"
2871+
2872+#. module: hotel
2873+#: view:hotel.folio:0
2874+msgid "Room No"
2875+msgstr "Chambre No"
2876+
2877+#. module: hotel
2878+#: view:hotel.services:0
2879+msgid "Service rate"
2880+msgstr "Tarif Service"
2881+
2882+#. module: hotel
2883+#: model:ir.actions.act_window,name:hotel.open_hotel_folio1_form_tree
2884+#: model:ir.actions.act_window,name:hotel.open_hotel_folio1_form_tree_all
2885+msgid "Hotel Folio"
2886+msgstr "Classeur Hotel"
2887+
2888+#. module: hotel
2889+#: field:hotel.folio,room_lines:0 field:hotel.folio,service_lines:0
2890+msgid "unknown"
2891+msgstr "Inconnu"
2892+
2893+#. module: hotel
2894+#: view:hotel.folio:0
2895+msgid "Guest Name"
2896+msgstr "Client"
2897+
2898+#. module: hotel
2899+#: view:hotel.folio:0
2900+msgid "Service Line"
2901+msgstr "Services"
2902+
2903+#. module: hotel
2904+#: view:hotel.room_amenities_type:0
2905+#: model:ir.actions.act_window,name:hotel.action_hotel_room_amenities_type_view_form
2906+msgid "Hotel Room Amenities Type"
2907+msgstr "Type de Commodités de Chambre"
2908+
2909+#. module: hotel
2910+#: view:hotel.folio:0
2911+msgid "Folio Line"
2912+msgstr "Ligne Classeur"
2913+
2914+#. module: hotel
2915+#: view:hotel.folio:0
2916+msgid "Date"
2917+msgstr "Date"
2918+
2919+#. module: hotel
2920+#: view:hotel.folio:0 view:hotel.room:0 view:hotel.room_amenities:0
2921+#: view:hotel.services:0
2922+msgid "Properties"
2923+msgstr "Propriété"
2924+
2925+#. module: hotel
2926+#: view:hotel.room_amenities:0 view:hotel.services:0
2927+msgid "Purchase Description"
2928+msgstr "Description Achat"
2929+
2930+#. module: hotel
2931+#: view:hotel.folio:0
2932+msgid "Compute"
2933+msgstr "Calculer"
2934+
2935+#. module: hotel
2936+#: model:ir.model,name:hotel.model_hotel_room_amenities
2937+msgid "Room amenities"
2938+msgstr "Commodités de Chambre"
2939+
2940+#. module: hotel
2941+#: model:product.category,name:hotel.hotel_room_type_3_product_category
2942+msgid "No Room"
2943+msgstr "Pas de Chambre"
2944+
2945+#. module: hotel
2946+#: field:hotel_service.line,service_line_id:0
2947+msgid "service_line_id"
2948+msgstr "service_line_id"
2949+
2950+#. module: hotel
2951+#: model:product.category,name:hotel.hotel_room_amenities_type_1_product_category
2952+msgid "Beds"
2953+msgstr "Lits"
2954+
2955+#. module: hotel
2956+#: model:product.category,name:hotel.hotel_service_type_2_product_category
2957+msgid "Variable"
2958+msgstr "Variable"
2959+
2960+#. module: hotel
2961+#: field:hotel.room,floor_id:0
2962+msgid "Floor No"
2963+msgstr "Etage No"
2964+
2965+#. module: hotel
2966+#: view:hotel.services:0
2967+#: model:ir.actions.act_window,name:hotel.action_hotel_services_form
2968+msgid "Hotel Services"
2969+msgstr "Services de l'Hotel"
2970+
2971+#. module: hotel
2972+#: view:hotel.room_amenities:0
2973+#: model:ir.actions.act_window,name:hotel.action_hotel_room_amenities_view_form
2974+msgid "Hotel Room Amenities"
2975+msgstr "Commodités de Chambre"
2976+
2977+#. module: hotel
2978+#: view:hotel.folio:0
2979+msgid "History"
2980+msgstr "Historique"
2981+
2982+#. module: hotel
2983+#: model:ir.actions.act_window,name:hotel.open_hotel_floor_form_tree
2984+msgid "Floor Structure"
2985+msgstr "Structure Etage"
2986+
2987+#. module: hotel
2988+#: rml:folio.total:0
2989+msgid "Net Total :-"
2990+msgstr "Net Total :-"
2991+
2992+#. module: hotel
2993+#: view:hotel.folio:0
2994+msgid "Related invoices"
2995+msgstr "Factures Associées"
2996+
2997+#. module: hotel
2998+#: selection:hotel.room,avail_status:0
2999+msgid "Assigned"
3000+msgstr "Assigné"
3001+
3002+#. module: hotel
3003+#: selection:hotel.room,avail_status:0
3004+msgid "Unassigned"
3005+msgstr "Non-assigné"
3006+
3007+#. module: hotel
3008+#: model:ir.module.module,shortdesc:hotel.module_meta_information
3009+#: model:ir.ui.menu,name:hotel.hotel_management_menu
3010+msgid "Hotel Management"
3011+msgstr "Hotel Management"
3012+
3013+#. module: hotel
3014+#: wizard_button:hotel.folio.total_folio,init,end:0
3015+msgid "Cancel"
3016+msgstr "Annulé"
3017+
3018+#. module: hotel
3019+#: view:hotel.room:0 view:hotel.room_amenities:0 view:hotel.services:0
3020+msgid "Information"
3021+msgstr "Information"
3022+
3023+#. module: hotel
3024+#: constraint:ir.model:0
3025+msgid ""
3026+"The Object name must start with x_ and not contain any special character !"
3027+msgstr ""
3028+"Le nom de l'objet doit commencer par x_ et ne doit pas contenir de "
3029+"caractères spéciaux !"
3030+
3031+#. module: hotel
3032+#: field:hotel.room,product_id:0
3033+msgid "Product_id"
3034+msgstr "Product_id"
3035+
3036+#. module: hotel
3037+#: view:hotel.folio:0
3038+msgid "Hotel Folio1"
3039+msgstr "Hôtel Classeur 1"
3040+
3041+#. module: hotel
3042+#: view:hotel.room:0 model:ir.model,name:hotel.model_hotel_floor
3043+#: model:ir.ui.menu,name:hotel.menu_open_hotel_floor_form_tree
3044+msgid "Floor"
3045+msgstr "Etage"
3046+
3047+#. module: hotel
3048+#: model:product.category,name:hotel.hotel_room_type_0_product_category
3049+msgid "All Rooms"
3050+msgstr "Toutes les Chambres"
3051+
3052+#. module: hotel
3053+#: view:hotel.folio:0
3054+msgid "Create Invoice"
3055+msgstr "Créer Facture"
3056+
3057+#. module: hotel
3058+#: wizard_button:hotel.folio.total_folio,init,print_report:0
3059+msgid "Print Report"
3060+msgstr "Imprimer Etat"
3061+
3062+#. module: hotel
3063+#: model:ir.actions.report.xml,name:hotel.hotel_folio_details
3064+#: model:ir.actions.wizard,name:hotel.wizard_hotel_total
3065+msgid "Folio Total"
3066+msgstr "Total Classeur"
3067+
3068+#. module: hotel
3069+#: model:ir.actions.act_window,name:hotel.open_hotel_room_type_form_tree
3070+#: model:ir.model,name:hotel.model_hotel_room_type
3071+msgid "Room Type"
3072+msgstr "Type de Chambre"
3073+
3074+#. module: hotel
3075+#: view:hotel.room:0 view:hotel.room_amenities:0 view:hotel.services:0
3076+msgid "Description"
3077+msgstr "Description"
3078+
3079+#. module: hotel
3080+#: field:hotel_folio.line,folio_id:0 field:hotel_service.line,folio_id:0
3081+msgid "folio_id"
3082+msgstr "folio_id"
3083+
3084+#. module: hotel
3085+#: view:hotel.room_amenities:0 view:hotel.services:0
3086+msgid "Sale Description"
3087+msgstr "Description Vente"
3088+
3089+#. module: hotel
3090+#: model:product.category,name:hotel.hotel_room_amenities_type_4_product_category
3091+msgid "Double Bed"
3092+msgstr "Lit Double"
3093+
3094+#. module: hotel
3095+#: field:product.product,isservice:0
3096+msgid "Is Service id"
3097+msgstr "Es l'id du Service"
3098+
3099+#. module: hotel
3100+#: model:ir.ui.menu,name:hotel.menu_open_hotel_room_type_form_tree
3101+msgid "Room Types"
3102+msgstr "Type de Chambre"
3103+
3104+#. module: hotel
3105+#: rml:folio.total:0
3106+msgid "CheckOut"
3107+msgstr "Départ"
3108+
3109+#. module: hotel
3110+#: model:ir.actions.act_window,name:hotel.hotel_service_category_action
3111+#: model:ir.ui.menu,name:hotel.menu_hotel_service_category_action
3112+msgid "Services by Category"
3113+msgstr "Services par Catégorie"
3114+
3115+#. module: hotel
3116+#: model:ir.ui.menu,name:hotel.menu_open_hotel_room_form
3117+msgid "Rooms"
3118+msgstr "Chambres"
3119+
3120+#. module: hotel
3121+#: view:hotel.room:0
3122+msgid "Room rate"
3123+msgstr "Tarif Chambre"
3124+
3125+#. module: hotel
3126+#: wizard_field:hotel.folio.total_folio,init,date_end:0
3127+msgid "End Date"
3128+msgstr "Date Fin"
3129+
3130+#. module: hotel
3131+#: model:product.category,name:hotel.hotel_room_type_2_product_category
3132+msgid "Double"
3133+msgstr "Double"
3134+
3135+#. module: hotel
3136+#: rml:folio.total:0
3137+msgid "CheckIn"
3138+msgstr "Arrivée"
3139+
3140+#. module: hotel
3141+#: field:hotel.room,max_adult:0
3142+msgid "Max Adult"
3143+msgstr "Max Adulte"
3144+
3145+#. module: hotel
3146+#: model:ir.module.module,description:hotel.module_meta_information
3147+msgid ""
3148+"\n"
3149+" Module for Hotel/Resort/Property management. You can manage:\n"
3150+" * Configure Property\n"
3151+" * Hotel Configuration\n"
3152+" * Check In, Check out\n"
3153+" * Manage Folio\n"
3154+" * Payment\n"
3155+"\n"
3156+" Different reports are also provided, mainly for hotel statistics.\n"
3157+" "
3158+msgstr ""
3159+"\n"
3160+" Module Hotel/Property management. Fonctionnalités:\n"
3161+" * Configure Property\n"
3162+" * Configuration Hotel\n"
3163+" * Arrivées, Départs\n"
3164+" * Classeurs de Factures\n"
3165+" * Paiements\n"
3166+"\n"
3167+" Plusieurs rapports sont disponibles pour les statistiques Hotel.\n"
3168+" "
3169+
3170+#. module: hotel
3171+#: model:ir.ui.menu,name:hotel.hotel_report_menu
3172+msgid "Reports"
3173+msgstr "Rapports"
3174+
3175+#. module: hotel
3176+#: view:hotel.folio:0
3177+msgid "Related packings"
3178+msgstr "Package lié"
3179+
3180+#. module: hotel
3181+#: view:hotel.folio:0
3182+msgid "Folio No"
3183+msgstr "Classeur No"
3184+
3185+#. module: hotel
3186+#: view:hotel.room_type:0
3187+msgid " Hotel Room Type"
3188+msgstr "Type de Chambre d'Hotel"
3189+
3190+#. module: hotel
3191+#: view:hotel.folio:0
3192+msgid "Invoice Corrected"
3193+msgstr "Facture Corrigée"
3194+
3195+#. module: hotel
3196+#: model:ir.ui.menu,name:hotel.wizard_hotel_menu
3197+msgid "Hotel Folio Report"
3198+msgstr "Etat Classeur Facture"
3199+
3200+#. module: hotel
3201+#: view:hotel.folio:0
3202+msgid "States"
3203+msgstr "Situations"
3204+
3205+#. module: hotel
3206+#: model:product.category,name:hotel.hotel_room_type_1_product_category
3207+msgid "Single"
3208+msgstr "Seul"
3209+
3210+#. module: hotel
3211+#: constraint:product.product:0
3212+msgid "Error: Invalid ean code"
3213+msgstr "Erreur: Code EAN invalide"
3214+
3215+#. module: hotel
3216+#: view:hotel.folio:0
3217+msgid "Rent"
3218+msgstr "Louer"
3219+
3220+#. module: hotel
3221+#: rml:folio.total:0
3222+msgid "Total"
3223+msgstr "Total"
3224
3225=== modified file 'hotel/i18n/fr_BE.po' (properties changed: +x to -x)
3226=== modified file 'hotel/i18n/hotel.pot' (properties changed: +x to -x)
3227--- hotel/i18n/hotel.pot 2012-05-22 14:06:57 +0000
3228+++ hotel/i18n/hotel.pot 2014-09-28 13:18:16 +0000
3229@@ -4,754 +4,975 @@
3230 #
3231 msgid ""
3232 msgstr ""
3233-"Project-Id-Version: OpenERP Server 5.0.6\n"
3234-"Report-Msgid-Bugs-To: support@openerp.com\n"
3235-"POT-Creation-Date: 2009-11-26 07:33:36+0000\n"
3236-"PO-Revision-Date: 2009-11-26 07:33:36+0000\n"
3237-"Last-Translator: <>\n"
3238+"Project-Id-Version: OpenERP Server 7.0\n"
3239+"Report-Msgid-Bugs-To: \n"
3240+"POT-Creation-Date: 2013-10-09 13:00+0000\n"
3241+"PO-Revision-Date: 2013-10-09 18:33+0530\n"
3242+"Last-Translator: Anil Kesariya <a.kesariya.serpentcs@gmail.com>\n"
3243 "Language-Team: \n"
3244 "MIME-Version: 1.0\n"
3245 "Content-Type: text/plain; charset=UTF-8\n"
3246-"Content-Transfer-Encoding: \n"
3247+"Content-Transfer-Encoding: 8bit\n"
3248 "Plural-Forms: \n"
3249
3250 #. module: hotel
3251-#: model:ir.ui.menu,name:hotel.menu_open_hotel_folio1_form_tree
3252+#: model:ir.ui.menu,name:hotel.menu_open_hotel_folio1_form_tree_all
3253 msgid "Generate Folio"
3254-msgstr ""
3255+msgstr "Generate Folio"
3256+
3257+#. module: hotel
3258+#: help:hotel.folio,room_lines:0
3259+msgid "Hotel room reservation detail."
3260+msgstr "Hotel room reservation detail."
3261
3262 #. module: hotel
3263 #: view:hotel.folio:0
3264 msgid "Recreate Procurement"
3265-msgstr ""
3266-
3267-#. module: hotel
3268-#: field:hotel.folio,checkout_date:0
3269-#: field:hotel_folio.line,checkout_date:0
3270-msgid "Check Out"
3271-msgstr ""
3272+msgstr "Recreate Procurement"
3273+
3274+#. module: hotel
3275+#: view:hotel.services:0
3276+msgid "Service"
3277+msgstr "Service"
3278+
3279+#. module: hotel
3280+#: view:hotel.room:0
3281+#: model:ir.actions.act_window,name:hotel.action_hotel_room_form
3282+#: model:ir.model,name:hotel.model_hotel_room
3283+msgid "Hotel Room"
3284+msgstr "Hotel Room"
3285+
3286+#. module: hotel
3287+#: view:hotel.room:0
3288+#: view:hotel.room.amenities:0
3289+#: view:hotel.services:0
3290+msgid "Group By..."
3291+msgstr "Group By..."
3292
3293 #. module: hotel
3294 #: model:ir.ui.menu,name:hotel.menu_action_hotel_room_amenities_view_form
3295 msgid "Amenities"
3296-msgstr ""
3297+msgstr "Amenities"
3298
3299 #. module: hotel
3300-#: constraint:ir.actions.act_window:0
3301-msgid "Invalid model name in the action definition."
3302-msgstr ""
3303+#: view:hotel.folio:0
3304+msgid "Branch"
3305+msgstr "Branch"
3306
3307 #. module: hotel
3308 #: field:hotel.floor,name:0
3309 msgid "Floor Name"
3310-msgstr ""
3311+msgstr "Floor Name"
3312
3313 #. module: hotel
3314 #: field:product.product,iscategid:0
3315 msgid "Is categ id"
3316-msgstr ""
3317+msgstr "Is categ id"
3318
3319 #. module: hotel
3320 #: model:ir.model,name:hotel.model_hotel_room_amenities_type
3321 msgid "amenities Type"
3322-msgstr ""
3323+msgstr "amenities Type"
3324
3325 #. module: hotel
3326-#: view:hotel.room_amenities:0
3327+#: view:hotel.room.amenities:0
3328 msgid "Amenity rate"
3329-msgstr ""
3330-
3331-#. module: hotel
3332-#: field:product.category,isservicetype:0
3333-msgid "Is Service Type"
3334-msgstr ""
3335+msgstr "Amenity rate"
3336+
3337+#. module: hotel
3338+#: field:room.rent,price:0
3339+msgid "Room rent"
3340+msgstr "Room rent"
3341+
3342+#. module: hotel
3343+#: view:hotel.folio:0
3344+msgid "Automatic Declaration"
3345+msgstr "Automatic Declaration"
3346
3347 #. module: hotel
3348 #: view:hotel.folio:0
3349 msgid "Set to Draft"
3350-msgstr ""
3351-
3352-#. module: hotel
3353-#: rml:folio.total:0
3354-msgid "to"
3355-msgstr ""
3356-
3357-#. module: hotel
3358-#: wizard_view:hotel.folio.total_folio,init:0
3359-msgid "Folio List"
3360-msgstr ""
3361-
3362-#. module: hotel
3363+msgstr "Set to Draft"
3364+
3365+#. module: hotel
3366+#: model:ir.ui.menu,name:hotel.menu_hotel_service
3367 #: model:ir.ui.menu,name:hotel.menu_open_hotel_services_form
3368 msgid "Services"
3369-msgstr ""
3370-
3371-#. module: hotel
3372-#: view:hotel.folio:0
3373-msgid "Cancel Order"
3374-msgstr ""
3375-
3376-#. module: hotel
3377-#: view:hotel.folio:0
3378-msgid "Confirm Order"
3379-msgstr ""
3380+msgstr "Services"
3381+
3382+#. module: hotel
3383+#: view:hotel.room.amenities:0
3384+msgid "Define supplier taxes if there any on the Amenity. "
3385+msgstr "Define supplier taxes if there any on the Amenity. "
3386
3387 #. module: hotel
3388 #: model:product.category,name:hotel.hotel_room_amenities_type_0_product_category
3389 msgid "All Aminities"
3390-msgstr ""
3391-
3392-#. module: hotel
3393-#: view:hotel.folio:0
3394-msgid "Notes"
3395-msgstr ""
3396+msgstr "All Aminities"
3397+
3398+#. module: hotel
3399+#: selection:hotel.folio,hotel_policy:0
3400+msgid "On Booking"
3401+msgstr "On Booking"
3402+
3403+#. module: hotel
3404+#: view:hotel.room:0
3405+#: view:hotel.room.amenities:0
3406+msgid "Suppliers"
3407+msgstr "Suppliers"
3408
3409 #. module: hotel
3410 #: view:hotel.floor:0
3411 msgid " Hotel Floor"
3412-msgstr ""
3413-
3414-#. module: hotel
3415-#: rml:folio.total:0
3416+msgstr " Hotel Floor"
3417+
3418+#. module: hotel
3419+#: help:hotel.room,floor_id:0
3420+msgid "At which floor the room is located."
3421+msgstr "At which floor the room is located."
3422+
3423+#. module: hotel
3424+#: report:folio.total:0
3425 msgid "Customer Name"
3426-msgstr ""
3427+msgstr "Customer Name"
3428
3429 #. module: hotel
3430 #: field:product.product,isroom:0
3431 msgid "Is Room"
3432-msgstr ""
3433+msgstr "Is Room"
3434
3435 #. module: hotel
3436 #: model:product.category,name:hotel.hotel_service_type_1_product_category
3437 msgid "Fixed"
3438-msgstr ""
3439+msgstr "Fixed"
3440
3441 #. module: hotel
3442 #: model:ir.model,name:hotel.model_hotel_service_line
3443 msgid "hotel Service line"
3444-msgstr ""
3445-
3446-#. module: hotel
3447-#: model:ir.ui.menu,name:hotel.menu_open_hotel_folio1_form_tree_all
3448-msgid "All Folio"
3449-msgstr ""
3450+msgstr "hotel Service line"
3451
3452 #. module: hotel
3453 #: view:hotel.room:0
3454 #: field:hotel.room,room_amenities:0
3455 msgid "Room Amenities"
3456-msgstr ""
3457+msgstr "Room Amenities"
3458
3459 #. module: hotel
3460-#: view:hotel.service_type:0
3461+#: view:hotel.service.type:0
3462 #: model:ir.actions.act_window,name:hotel.open_hotel_service_type_form_tree
3463 #: model:ir.model,name:hotel.model_hotel_service_type
3464 msgid "Service Type"
3465-msgstr ""
3466-
3467-#. module: hotel
3468-#: field:hotel_folio.line,order_line_id:0
3469+msgstr "Service Type"
3470+
3471+#. module: hotel
3472+#: field:hotel.folio,hotel_policy:0
3473+msgid "Hotel Policy"
3474+msgstr "Hotel Policy"
3475+
3476+#. module: hotel
3477+#: field:hotel.folio.line,order_line_id:0
3478 msgid "order_line_id"
3479-msgstr ""
3480-
3481-#. module: hotel
3482-#: constraint:product.category:0
3483-msgid "Error ! You can not create recursive categories."
3484-msgstr ""
3485+msgstr "order_line_id"
3486
3487 #. module: hotel
3488 #: model:ir.model,name:hotel.model_hotel_folio
3489 msgid "hotel folio new"
3490-msgstr ""
3491+msgstr "hotel folio new"
3492
3493 #. module: hotel
3494 #: view:hotel.folio:0
3495 msgid "Extra Info"
3496-msgstr ""
3497+msgstr "Extra Info"
3498
3499 #. module: hotel
3500 #: model:ir.actions.act_window,name:hotel.hotel_room_category_action
3501 msgid "Rooms by Category"
3502-msgstr ""
3503+msgstr "Rooms by Category"
3504+
3505+#. module: hotel
3506+#: view:hotel.room:0
3507+msgid "List of supplier taxes if there any on the defined room. "
3508+msgstr "List of supplier taxes if there any on the defined room. "
3509
3510 #. module: hotel
3511 #: model:product.category,name:hotel.hotel_room_amenities_type_3_product_category
3512 msgid "Single Bed"
3513-msgstr ""
3514+msgstr "Single Bed"
3515
3516 #. module: hotel
3517 #: model:ir.ui.menu,name:hotel.menu_open_hotel_service_type_form_tree
3518 msgid "Service Types"
3519-msgstr ""
3520+msgstr "Service Types"
3521
3522 #. module: hotel
3523 #: model:product.category,name:hotel.hotel_room_amenities_type_2_product_category
3524 msgid "Tables"
3525-msgstr ""
3526+msgstr "Tables"
3527
3528 #. module: hotel
3529 #: view:hotel.folio:0
3530+#: model:ir.ui.menu,name:hotel.menu_all_folio
3531 msgid "Folio"
3532-msgstr ""
3533-
3534-#. module: hotel
3535-#: rml:folio.total:0
3536-msgid "From"
3537-msgstr ""
3538+msgstr "Folio"
3539
3540 #. module: hotel
3541 #: view:hotel.folio:0
3542 msgid "Recreate Invoice"
3543-msgstr ""
3544+msgstr "Recreate Invoice"
3545
3546 #. module: hotel
3547 #: field:product.category,isamenitype:0
3548 msgid "Is amenities Type"
3549-msgstr ""
3550+msgstr "Is amenities Type"
3551
3552 #. module: hotel
3553 #: view:hotel.room:0
3554 msgid " Room Amenities"
3555-msgstr ""
3556+msgstr " Room Amenities"
3557+
3558+#. module: hotel
3559+#: constraint:hotel.folio:0
3560+msgid "You can not allocate the same room twice!"
3561+msgstr "You can not allocate the same room twice!"
3562
3563 #. module: hotel
3564 #: field:hotel.folio,checkin_date:0
3565-#: field:hotel_folio.line,checkin_date:0
3566+#: field:hotel.folio.line,checkin_date:0
3567 msgid "Check In"
3568-msgstr ""
3569+msgstr "Check In"
3570+
3571+#. module: hotel
3572+#: view:hotel.folio:0
3573+#: field:hotel.folio,name:0
3574+msgid "Folio Number"
3575+msgstr "Folio Number"
3576
3577 #. module: hotel
3578 #: model:ir.actions.act_window,name:hotel.hotel_amenity_category_action
3579 #: model:ir.ui.menu,name:hotel.menu_hotel_amenity_category_action
3580 msgid "Amenities by Category"
3581-msgstr ""
3582+msgstr "Amenities by Category"
3583+
3584+#. module: hotel
3585+#: view:folio.report.wizard:0
3586+msgid "Print"
3587+msgstr "Print"
3588
3589 #. module: hotel
3590 #: field:hotel.services,service_id:0
3591 msgid "Service_id"
3592-msgstr ""
3593+msgstr "Service_id"
3594+
3595+#. module: hotel
3596+#: field:hotel.room.amenities.type,cat_id:0
3597+#: field:hotel.room.type,cat_id:0
3598+#: field:hotel.service.type,ser_id:0
3599+msgid "category"
3600+msgstr "category"
3601
3602 #. module: hotel
3603 #: view:hotel.folio:0
3604 msgid "Invoice Lines"
3605-msgstr ""
3606-
3607-#. module: hotel
3608-#: view:hotel.folio:0
3609-msgid "Untaxed amount"
3610-msgstr ""
3611-
3612-#. module: hotel
3613-#: field:hotel.room_amenities_type,cat_id:0
3614-#: field:hotel.room_type,cat_id:0
3615-#: field:hotel.service_type,ser_id:0
3616-msgid "category"
3617-msgstr ""
3618-
3619-#. module: hotel
3620-#: view:hotel.room:0
3621-#: field:hotel.room,avail_status:0
3622+msgstr "Invoice Lines"
3623+
3624+#. module: hotel
3625+#: model:ir.ui.menu,name:hotel.menu_hotel_room
3626+msgid "Room"
3627+msgstr "Room"
3628+
3629+#. module: hotel
3630+#: view:hotel.room:0
3631+#: selection:hotel.room,status:0
3632+msgid "Available"
3633+msgstr "Available"
3634+
3635+#. module: hotel
3636+#: report:folio.total:0
3637+msgid "\" To \""
3638+msgstr "\" To \""
3639+
3640+#. module: hotel
3641+#: view:hotel.room:0
3642 msgid "Room Status"
3643-msgstr ""
3644+msgstr "Room Status"
3645
3646 #. module: hotel
3647-#: field:hotel.room_amenities,room_categ_id:0
3648+#: field:hotel.room.amenities,room_categ_id:0
3649+#: model:ir.model,name:hotel.model_product_category
3650 msgid "Product Category"
3651-msgstr ""
3652+msgstr "Product Category"
3653
3654 #. module: hotel
3655 #: view:hotel.folio:0
3656 msgid "Manual Description"
3657-msgstr ""
3658+msgstr "Manual Description"
3659
3660 #. module: hotel
3661 #: model:product.category,name:hotel.hotel_service_type_0_product_category
3662 msgid "All Services"
3663-msgstr ""
3664+msgstr "All Services"
3665+
3666+#. module: hotel
3667+#: view:hotel.folio:0
3668+msgid "---Description---"
3669+msgstr "---Description---"
3670+
3671+#. module: hotel
3672+#: field:hotel.folio,checkout_date:0
3673+#: field:hotel.folio.line,checkout_date:0
3674+msgid "Check Out"
3675+msgstr "Check Out"
3676
3677 #. module: hotel
3678 #: view:hotel.room:0
3679-#: model:ir.actions.act_window,name:hotel.action_hotel_room_form
3680-#: model:ir.model,name:hotel.model_hotel_room
3681-msgid "Hotel Room"
3682-msgstr ""
3683+msgid "state"
3684+msgstr "state"
3685
3686 #. module: hotel
3687-#: rml:folio.total:0
3688+#: report:folio.total:0
3689 msgid "Folio No."
3690-msgstr ""
3691-
3692-#. module: hotel
3693-#: view:hotel.folio:0
3694-msgid "Inventory Moves"
3695-msgstr ""
3696+msgstr "Folio No."
3697
3698 #. module: hotel
3699 #: model:ir.ui.menu,name:hotel.hotel_configuration_menu
3700 msgid "Configuration"
3701-msgstr ""
3702+msgstr "Configuration"
3703
3704 #. module: hotel
3705 #: view:hotel.folio:0
3706 msgid "Total amount"
3707-msgstr ""
3708+msgstr "Total amount"
3709
3710 #. module: hotel
3711 #: view:hotel.floor:0
3712 msgid " Hotel Floors"
3713-msgstr ""
3714-
3715-#. module: hotel
3716-#: constraint:ir.ui.view:0
3717-msgid "Invalid XML for View Architecture!"
3718-msgstr ""
3719+msgstr " Hotel Floors"
3720+
3721+#. module: hotel
3722+#: view:hotel.room:0
3723+msgid "Status"
3724+msgstr "Status"
3725+
3726+#. module: hotel
3727+#: field:res.company,additional_hours:0
3728+msgid "Additional Hours"
3729+msgstr "Additional Hours"
3730+
3731+#. module: hotel
3732+#: view:hotel.room:0
3733+#: field:hotel.room,room_rent_ids:0
3734+#: field:room.rent,rent_id:0
3735+msgid "Room Rent"
3736+msgstr "Room Rent"
3737+
3738+#. module: hotel
3739+#: report:folio.total:0
3740+msgid "From \""
3741+msgstr "From \""
3742
3743 #. module: hotel
3744 #: field:hotel.folio,order_id:0
3745 msgid "order_id"
3746-msgstr ""
3747-
3748-#. module: hotel
3749-#: field:hotel.room_amenities,amenity_rate:0
3750-msgid "Amenity Rate"
3751-msgstr ""
3752-
3753-#. module: hotel
3754-#: view:hotel.room:0
3755-#: view:hotel.room_amenities:0
3756+msgstr "order_id"
3757+
3758+#. module: hotel
3759+#: view:hotel.room:0
3760+msgid "Customer taxes apply on the perticular room. "
3761+msgstr "Customer taxes apply on the perticular room. "
3762+
3763+#. module: hotel
3764+#: view:hotel.folio:0
3765+msgid "Service Lines"
3766+msgstr "Service Lines"
3767+
3768+#. module: hotel
3769+#: view:hotel.room:0
3770+#: view:hotel.room.amenities:0
3771 #: view:hotel.services:0
3772 msgid "Procurement"
3773-msgstr ""
3774+msgstr "Procurement"
3775
3776 #. module: hotel
3777 #: field:hotel.floor,sequence:0
3778 msgid "Sequence"
3779-msgstr ""
3780+msgstr "Sequence"
3781
3782 #. module: hotel
3783 #: model:ir.ui.menu,name:hotel.menu_action_hotel_room_amenities_type_view_form
3784 msgid "Amenity Types"
3785-msgstr ""
3786+msgstr "Amenity Types"
3787+
3788+#. module: hotel
3789+#: view:hotel.room:0
3790+msgid "Delete"
3791+msgstr "Delete"
3792
3793 #. module: hotel
3794 #: model:ir.ui.menu,name:hotel.menu_hotel_room_category_action
3795 msgid "Room by Category"
3796-msgstr ""
3797-
3798-#. module: hotel
3799-#: field:hotel.room_amenities,rcateg_id:0
3800+msgstr "Room by Category"
3801+
3802+#. module: hotel
3803+#: field:hotel.folio,duration:0
3804+msgid "Duration in Days"
3805+msgstr "Duration in Days"
3806+
3807+#. module: hotel
3808+#: field:hotel.room.amenities,rcateg_id:0
3809 msgid "Amenity Catagory"
3810-msgstr ""
3811+msgstr "Amenity Catagory"
3812
3813 #. module: hotel
3814 #: view:hotel.folio:0
3815 msgid "Other data"
3816-msgstr ""
3817+msgstr "Other data"
3818
3819 #. module: hotel
3820 #: field:hotel.room,max_child:0
3821 msgid "Max Child"
3822-msgstr ""
3823+msgstr "Max Child"
3824+
3825+#. module: hotel
3826+#: help:hotel.folio,service_lines:0
3827+msgid "Hotel services detail provide to customer and it will include in main Invoice."
3828+msgstr "Hotel services detail provide to customer and it will include in main Invoice."
3829+
3830+#. module: hotel
3831+#: help:hotel.folio,duration:0
3832+msgid "Number of days which will automatically count from the check-in and check-out date. "
3833+msgstr "Number of days which will automatically count from the check-in and check-out date. "
3834+
3835+#. module: hotel
3836+#: selection:hotel.folio,hotel_policy:0
3837+msgid "On Check In"
3838+msgstr "On Check In"
3839
3840 #. module: hotel
3841 #: view:hotel.room:0
3842-#: view:hotel.room_amenities:0
3843+#: view:hotel.room.amenities:0
3844 #: view:hotel.services:0
3845 msgid "Descriptions"
3846-msgstr ""
3847-
3848-#. module: hotel
3849-#: wizard_field:hotel.folio.total_folio,init,date_start:0
3850+msgstr "Descriptions"
3851+
3852+#. module: hotel
3853+#: view:hotel.services:0
3854+msgid "Customer taxes applied on the service. "
3855+msgstr "Customer taxes applied on the service. "
3856+
3857+#. module: hotel
3858+#: view:hotel.services:0
3859+msgid "List of supplier taxes related to the service provided by hotel. "
3860+msgstr "List of supplier taxes related to the service provided by hotel. "
3861+
3862+#. module: hotel
3863+#: field:folio.report.wizard,date_start:0
3864 msgid "Start Date"
3865-msgstr ""
3866+msgstr "Start Date"
3867+
3868+#. module: hotel
3869+#: selection:hotel.room,status:0
3870+msgid "Occupied"
3871+msgstr "Occupied"
3872
3873 #. module: hotel
3874 #: model:ir.model,name:hotel.model_hotel_folio_line
3875 msgid "hotel folio1 room line"
3876-msgstr ""
3877+msgstr "hotel folio1 room line"
3878
3879 #. module: hotel
3880 #: field:product.category,isroomtype:0
3881 msgid "Is Room Type"
3882-msgstr ""
3883+msgstr "Is Room Type"
3884
3885 #. module: hotel
3886-#: rml:folio.total:0
3887+#: report:folio.total:0
3888 msgid "Total Collection"
3889-msgstr ""
3890+msgstr "Total Collection"
3891+
3892+#. module: hotel
3893+#: field:product.category,isservicetype:0
3894+msgid "Is Service Type"
3895+msgstr "Is Service Type"
3896
3897 #. module: hotel
3898 #: view:hotel.folio:0
3899-msgid "Automatic Declaration"
3900-msgstr ""
3901+msgid "Room Lines"
3902+msgstr "Room Lines"
3903
3904 #. module: hotel
3905 #: view:hotel.folio:0
3906 msgid "Rent(UOM)"
3907-msgstr ""
3908+msgstr "Rent(UOM)"
3909
3910 #. module: hotel
3911 #: model:ir.model,name:hotel.model_hotel_services
3912 msgid "Hotel Services and its charges"
3913-msgstr ""
3914+msgstr "Hotel Services and its charges"
3915
3916 #. module: hotel
3917 #: view:hotel.folio:0
3918 msgid "Procurement Corrected"
3919-msgstr ""
3920+msgstr "Procurement Corrected"
3921
3922 #. module: hotel
3923 #: view:hotel.folio:0
3924 msgid "Room Line"
3925-msgstr ""
3926+msgstr "Room Line"
3927
3928 #. module: hotel
3929 #: view:hotel.folio:0
3930 msgid "Room No"
3931-msgstr ""
3932+msgstr "Room No"
3933
3934 #. module: hotel
3935 #: view:hotel.services:0
3936 msgid "Service rate"
3937-msgstr ""
3938-
3939-#. module: hotel
3940-#: model:ir.actions.act_window,name:hotel.open_hotel_folio1_form_tree
3941+msgstr "Service rate"
3942+
3943+#. module: hotel
3944+#: view:hotel.folio:0
3945+msgid "Folios"
3946+msgstr "Folios"
3947+
3948+#. module: hotel
3949+#: view:hotel.folio:0
3950 #: model:ir.actions.act_window,name:hotel.open_hotel_folio1_form_tree_all
3951 msgid "Hotel Folio"
3952-msgstr ""
3953+msgstr "Hotel Folio"
3954+
3955+#. module: hotel
3956+#: view:hotel.room:0
3957+msgid "í"
3958+msgstr "í"
3959+
3960+#. module: hotel
3961+#: help:hotel.room,room_amenities:0
3962+msgid "List of room amenities. "
3963+msgstr "List of room amenities. "
3964
3965 #. module: hotel
3966 #: field:hotel.folio,room_lines:0
3967 #: field:hotel.folio,service_lines:0
3968 msgid "unknown"
3969-msgstr ""
3970+msgstr "unknown"
3971
3972 #. module: hotel
3973 #: view:hotel.folio:0
3974 msgid "Guest Name"
3975-msgstr ""
3976+msgstr "Guest Name"
3977+
3978+#. module: hotel
3979+#: view:hotel.room:0
3980+#: view:hotel.room.amenities:0
3981+#: view:hotel.services:0
3982+msgid "Customer Taxes"
3983+msgstr "Customer Taxes"
3984
3985 #. module: hotel
3986 #: view:hotel.folio:0
3987 msgid "Service Line"
3988-msgstr ""
3989+msgstr "Service Line"
3990
3991 #. module: hotel
3992-#: view:hotel.room_amenities_type:0
3993+#: view:hotel.room.amenities.type:0
3994 #: model:ir.actions.act_window,name:hotel.action_hotel_room_amenities_type_view_form
3995 msgid "Hotel Room Amenities Type"
3996-msgstr ""
3997+msgstr "Hotel Room Amenities Type"
3998
3999 #. module: hotel
4000 #: view:hotel.folio:0
4001 msgid "Folio Line"
4002-msgstr ""
4003-
4004-#. module: hotel
4005-#: view:hotel.folio:0
4006-msgid "Date"
4007-msgstr ""
4008-
4009-#. module: hotel
4010-#: view:hotel.folio:0
4011-#: view:hotel.room:0
4012-#: view:hotel.room_amenities:0
4013-#: view:hotel.services:0
4014-msgid "Properties"
4015-msgstr ""
4016-
4017-#. module: hotel
4018-#: view:hotel.room_amenities:0
4019+msgstr "Folio Line"
4020+
4021+#. module: hotel
4022+#: model:res.groups,name:hotel.group_hotel_user
4023+msgid "Hotel Management / User"
4024+msgstr "Hotel Management / User"
4025+
4026+#. module: hotel
4027+#: model:product.category,name:hotel.hotel_service_type_2_product_category
4028+msgid "Variable"
4029+msgstr "Variable"
4030+
4031+#. module: hotel
4032+#: help:hotel.folio,hotel_policy:0
4033+msgid "Hotel policy for payment that either the guest has to payment at booking time or check-in check-out time."
4034+msgstr "Hotel policy for payment that either the guest has to payment at booking time or check-in check-out time."
4035+
4036+#. module: hotel
4037+#: view:hotel.room.amenities:0
4038 #: view:hotel.services:0
4039 msgid "Purchase Description"
4040-msgstr ""
4041+msgstr "Purchase Description"
4042
4043 #. module: hotel
4044 #: view:hotel.folio:0
4045 msgid "Compute"
4046-msgstr ""
4047+msgstr "Compute"
4048
4049 #. module: hotel
4050 #: model:ir.model,name:hotel.model_hotel_room_amenities
4051 msgid "Room amenities"
4052-msgstr ""
4053+msgstr "Room amenities"
4054
4055 #. module: hotel
4056 #: model:product.category,name:hotel.hotel_room_type_3_product_category
4057 msgid "No Room"
4058-msgstr ""
4059-
4060-#. module: hotel
4061-#: field:hotel_service.line,service_line_id:0
4062+msgstr "No Room"
4063+
4064+#. module: hotel
4065+#: model:ir.model,name:hotel.model_res_company
4066+msgid "Companies"
4067+msgstr "Companies"
4068+
4069+#. module: hotel
4070+#: field:hotel.service.line,service_line_id:0
4071 msgid "service_line_id"
4072-msgstr ""
4073+msgstr "service_line_id"
4074+
4075+#. module: hotel
4076+#: view:hotel.room:0
4077+msgid "Status:"
4078+msgstr "Status:"
4079+
4080+#. module: hotel
4081+#: model:ir.model,name:hotel.model_folio_report_wizard
4082+msgid "folio.report.wizard"
4083+msgstr "folio.report.wizard"
4084
4085 #. module: hotel
4086 #: model:product.category,name:hotel.hotel_room_amenities_type_1_product_category
4087 msgid "Beds"
4088-msgstr ""
4089+msgstr "Beds"
4090
4091 #. module: hotel
4092-#: model:product.category,name:hotel.hotel_service_type_2_product_category
4093-msgid "Variable"
4094-msgstr ""
4095+#: view:hotel.room:0
4096+msgid "Available Rooms"
4097+msgstr "Available Rooms"
4098
4099 #. module: hotel
4100 #: field:hotel.room,floor_id:0
4101 msgid "Floor No"
4102-msgstr ""
4103+msgstr "Floor No"
4104
4105 #. module: hotel
4106 #: view:hotel.services:0
4107 #: model:ir.actions.act_window,name:hotel.action_hotel_services_form
4108 msgid "Hotel Services"
4109-msgstr ""
4110+msgstr "Hotel Services"
4111
4112 #. module: hotel
4113-#: view:hotel.room_amenities:0
4114+#: view:hotel.room.amenities:0
4115 #: model:ir.actions.act_window,name:hotel.action_hotel_room_amenities_view_form
4116 msgid "Hotel Room Amenities"
4117-msgstr ""
4118+msgstr "Hotel Room Amenities"
4119+
4120+#. module: hotel
4121+#: view:hotel.room:0
4122+msgid "Rate:"
4123+msgstr "Rate:"
4124
4125 #. module: hotel
4126 #: view:hotel.folio:0
4127 msgid "History"
4128-msgstr ""
4129+msgstr "History"
4130+
4131+#. module: hotel
4132+#: view:hotel.room.amenities:0
4133+#: model:ir.ui.menu,name:hotel.menu_amenity
4134+msgid "Amenity"
4135+msgstr "Amenity"
4136
4137 #. module: hotel
4138 #: model:ir.actions.act_window,name:hotel.open_hotel_floor_form_tree
4139 msgid "Floor Structure"
4140-msgstr ""
4141-
4142-#. module: hotel
4143-#: rml:folio.total:0
4144+msgstr "Floor Structure"
4145+
4146+#. module: hotel
4147+#: view:hotel.room.amenities:0
4148+msgid "List of customer taxes applied on the Amenity. "
4149+msgstr "List of customer taxes applied on the Amenity. "
4150+
4151+#. module: hotel
4152+#: report:folio.total:0
4153 msgid "Net Total :-"
4154-msgstr ""
4155+msgstr "Net Total :-"
4156
4157 #. module: hotel
4158 #: view:hotel.folio:0
4159 msgid "Related invoices"
4160-msgstr ""
4161-
4162-#. module: hotel
4163-#: selection:hotel.room,avail_status:0
4164-msgid "Assigned"
4165-msgstr ""
4166-
4167-#. module: hotel
4168-#: selection:hotel.room,avail_status:0
4169-msgid "Unassigned"
4170-msgstr ""
4171-
4172-#. module: hotel
4173-#: model:ir.module.module,shortdesc:hotel.module_meta_information
4174+msgstr "Related invoices"
4175+
4176+#. module: hotel
4177 #: model:ir.ui.menu,name:hotel.hotel_management_menu
4178 msgid "Hotel Management"
4179-msgstr ""
4180+msgstr "Hotel Management"
4181
4182 #. module: hotel
4183-#: wizard_button:hotel.folio.total_folio,init,end:0
4184+#: view:folio.report.wizard:0
4185 msgid "Cancel"
4186-msgstr ""
4187+msgstr "Cancel"
4188
4189 #. module: hotel
4190 #: view:hotel.room:0
4191-#: view:hotel.room_amenities:0
4192+#: view:hotel.room.amenities:0
4193 #: view:hotel.services:0
4194 msgid "Information"
4195-msgstr ""
4196+msgstr "Information"
4197
4198 #. module: hotel
4199-#: constraint:ir.model:0
4200-msgid "The Object name must start with x_ and not contain any special character !"
4201-msgstr ""
4202+#: view:hotel.room:0
4203+msgid "-->"
4204+msgstr "-->"
4205
4206 #. module: hotel
4207 #: field:hotel.room,product_id:0
4208 msgid "Product_id"
4209-msgstr ""
4210-
4211-#. module: hotel
4212-#: view:hotel.folio:0
4213-msgid "Hotel Folio1"
4214-msgstr ""
4215+msgstr "Product_id"
4216
4217 #. module: hotel
4218 #: view:hotel.room:0
4219 #: model:ir.model,name:hotel.model_hotel_floor
4220 #: model:ir.ui.menu,name:hotel.menu_open_hotel_floor_form_tree
4221 msgid "Floor"
4222-msgstr ""
4223+msgstr "Floor"
4224+
4225+#. module: hotel
4226+#: model:ir.model,name:hotel.model_room_rent
4227+msgid "room.rent"
4228+msgstr "room.rent"
4229
4230 #. module: hotel
4231 #: model:product.category,name:hotel.hotel_room_type_0_product_category
4232 msgid "All Rooms"
4233-msgstr ""
4234+msgstr "All Rooms"
4235
4236 #. module: hotel
4237 #: view:hotel.folio:0
4238 msgid "Create Invoice"
4239-msgstr ""
4240-
4241-#. module: hotel
4242-#: wizard_button:hotel.folio.total_folio,init,print_report:0
4243-msgid "Print Report"
4244-msgstr ""
4245+msgstr "Create Invoice"
4246
4247 #. module: hotel
4248 #: model:ir.actions.report.xml,name:hotel.hotel_folio_details
4249-#: model:ir.actions.wizard,name:hotel.wizard_hotel_total
4250 msgid "Folio Total"
4251-msgstr ""
4252-
4253-#. module: hotel
4254-#: model:ir.actions.act_window,name:hotel.open_hotel_room_type_form_tree
4255-#: model:ir.model,name:hotel.model_hotel_room_type
4256-msgid "Room Type"
4257-msgstr ""
4258-
4259-#. module: hotel
4260-#: view:hotel.room:0
4261-#: view:hotel.room_amenities:0
4262+msgstr "Folio Total"
4263+
4264+#. module: hotel
4265+#: field:hotel.room,room_reservation_line_ids:0
4266+msgid "Room Reservation Line"
4267+msgstr "Room Reservation Line"
4268+
4269+#. module: hotel
4270+#: help:res.company,additional_hours:0
4271+msgid "Provide the min hours value for check in checkout days, whatever the hours will be provided here based on that extra days will be calculated."
4272+msgstr "Provide the min hours value for check in checkout days, whatever the hours will be provided here based on that extra days will be calculated."
4273+
4274+#. module: hotel
4275+#: view:hotel.room:0
4276+msgid "occupied"
4277+msgstr "occupied"
4278+
4279+#. module: hotel
4280+#: model:ir.actions.act_window,name:hotel.hotel_folio_wizard
4281+msgid "Hotel Folio Wizard"
4282+msgstr "Hotel Folio Wizard"
4283+
4284+#. module: hotel
4285+#: model:ir.model,name:hotel.model_product_product
4286+msgid "Product"
4287+msgstr "Product"
4288+
4289+#. module: hotel
4290+#: view:hotel.room:0
4291+#: view:hotel.room.amenities:0
4292 #: view:hotel.services:0
4293 msgid "Description"
4294-msgstr ""
4295-
4296-#. module: hotel
4297-#: field:hotel_folio.line,folio_id:0
4298-#: field:hotel_service.line,folio_id:0
4299+msgstr "Description"
4300+
4301+#. module: hotel
4302+#: sql_constraint:hotel.folio:0
4303+msgid "Check in Date Should be less than the Check Out Date!"
4304+msgstr "Check in Date Should be less than the Check Out Date!"
4305+
4306+#. module: hotel
4307+#: field:hotel.folio.line,folio_id:0
4308+#: field:hotel.service.line,folio_id:0
4309 msgid "folio_id"
4310-msgstr ""
4311+msgstr "folio_id"
4312
4313 #. module: hotel
4314-#: view:hotel.room_amenities:0
4315+#: view:hotel.room.amenities:0
4316 #: view:hotel.services:0
4317 msgid "Sale Description"
4318-msgstr ""
4319+msgstr "Sale Description"
4320
4321 #. module: hotel
4322 #: model:product.category,name:hotel.hotel_room_amenities_type_4_product_category
4323 msgid "Double Bed"
4324-msgstr ""
4325+msgstr "Double Bed"
4326
4327 #. module: hotel
4328 #: field:product.product,isservice:0
4329 msgid "Is Service id"
4330-msgstr ""
4331+msgstr "Is Service id"
4332+
4333+#. module: hotel
4334+#: view:hotel.services:0
4335+msgid "Suplliers"
4336+msgstr "Suplliers"
4337
4338 #. module: hotel
4339 #: model:ir.ui.menu,name:hotel.menu_open_hotel_room_type_form_tree
4340 msgid "Room Types"
4341-msgstr ""
4342-
4343-#. module: hotel
4344-#: rml:folio.total:0
4345+msgstr "Room Types"
4346+
4347+#. module: hotel
4348+#: view:hotel.folio:0
4349+msgid "Untaxed amount"
4350+msgstr "Untaxed amount"
4351+
4352+#. module: hotel
4353+#: report:folio.total:0
4354 msgid "CheckOut"
4355-msgstr ""
4356+msgstr "CheckOut"
4357
4358 #. module: hotel
4359 #: model:ir.actions.act_window,name:hotel.hotel_service_category_action
4360 #: model:ir.ui.menu,name:hotel.menu_hotel_service_category_action
4361 msgid "Services by Category"
4362-msgstr ""
4363+msgstr "Services by Category"
4364
4365 #. module: hotel
4366-#: model:ir.ui.menu,name:hotel.menu_open_hotel_room_form
4367-msgid "Rooms"
4368-msgstr ""
4369+#: view:hotel.folio:0
4370+msgid "Cancel Folio"
4371+msgstr "Cancel Folio"
4372
4373 #. module: hotel
4374 #: view:hotel.room:0
4375 msgid "Room rate"
4376-msgstr ""
4377+msgstr "Room rate"
4378
4379 #. module: hotel
4380-#: wizard_field:hotel.folio.total_folio,init,date_end:0
4381+#: field:folio.report.wizard,date_end:0
4382 msgid "End Date"
4383-msgstr ""
4384+msgstr "End Date"
4385+
4386+#. module: hotel
4387+#: model:res.groups,name:hotel.group_hotel_manager
4388+msgid "Hotel Management/ Manager"
4389+msgstr "Hotel Management/ Manager"
4390+
4391+#. module: hotel
4392+#: view:hotel.room:0
4393+msgid "Name"
4394+msgstr "Name"
4395+
4396+#. module: hotel
4397+#: view:folio.report.wizard:0
4398+msgid "Folio Report"
4399+msgstr "Folio Report"
4400+
4401+#. module: hotel
4402+#: view:hotel.room:0
4403+msgid "Edit"
4404+msgstr "Edit"
4405
4406 #. module: hotel
4407 #: model:product.category,name:hotel.hotel_room_type_2_product_category
4408 msgid "Double"
4409-msgstr ""
4410+msgstr "Double"
4411
4412 #. module: hotel
4413-#: rml:folio.total:0
4414+#: report:folio.total:0
4415 msgid "CheckIn"
4416-msgstr ""
4417+msgstr "CheckIn"
4418
4419 #. module: hotel
4420 #: field:hotel.room,max_adult:0
4421 msgid "Max Adult"
4422-msgstr ""
4423+msgstr "Max Adult"
4424
4425 #. module: hotel
4426-#: model:ir.module.module,description:hotel.module_meta_information
4427-msgid "\n"
4428-" Module for Hotel/Resort/Property management. You can manage:\n"
4429-" * Configure Property\n"
4430-" * Hotel Configuration\n"
4431-" * Check In, Check out\n"
4432-" * Manage Folio\n"
4433-" * Payment\n"
4434-"\n"
4435-" Different reports are also provided, mainly for hotel statistics.\n"
4436-" "
4437-msgstr ""
4438+#: model:ir.actions.act_window,name:hotel.open_hotel_room_type_form_tree
4439+#: model:ir.model,name:hotel.model_hotel_room_type
4440+msgid "Room Type"
4441+msgstr "Room Type"
4442
4443 #. module: hotel
4444 #: model:ir.ui.menu,name:hotel.hotel_report_menu
4445 msgid "Reports"
4446-msgstr ""
4447-
4448-#. module: hotel
4449-#: view:hotel.folio:0
4450-msgid "Related packings"
4451-msgstr ""
4452-
4453-#. module: hotel
4454-#: view:hotel.folio:0
4455-msgid "Folio No"
4456-msgstr ""
4457-
4458-#. module: hotel
4459-#: view:hotel.room_type:0
4460+msgstr "Reports"
4461+
4462+#. module: hotel
4463+#: view:hotel.room.amenities:0
4464+#: view:hotel.services:0
4465+msgid "Catagory"
4466+msgstr "Catagory"
4467+
4468+#. module: hotel
4469+#: field:room.rent,day:0
4470+msgid "Weekday"
4471+msgstr "Weekday"
4472+
4473+#. module: hotel
4474+#: model:ir.ui.menu,name:hotel.menu_open_hotel_room_form
4475+msgid "Rooms"
4476+msgstr "Rooms"
4477+
4478+#. module: hotel
4479+#: view:hotel.room.type:0
4480 msgid " Hotel Room Type"
4481-msgstr ""
4482+msgstr " Hotel Room Type"
4483
4484 #. module: hotel
4485 #: view:hotel.folio:0
4486 msgid "Invoice Corrected"
4487-msgstr ""
4488+msgstr "Invoice Corrected"
4489+
4490+#. module: hotel
4491+#: selection:hotel.folio,hotel_policy:0
4492+msgid "On Checkout"
4493+msgstr "On Checkout"
4494
4495 #. module: hotel
4496 #: model:ir.ui.menu,name:hotel.wizard_hotel_menu
4497 msgid "Hotel Folio Report"
4498-msgstr ""
4499+msgstr "Hotel Folio Report"
4500+
4501+#. module: hotel
4502+#: view:hotel.folio:0
4503+msgid "Confirm Folio"
4504+msgstr "Confirm Folio"
4505
4506 #. module: hotel
4507 #: view:hotel.folio:0
4508 msgid "States"
4509-msgstr ""
4510+msgstr "States"
4511
4512 #. module: hotel
4513 #: model:product.category,name:hotel.hotel_room_type_1_product_category
4514 msgid "Single"
4515-msgstr ""
4516+msgstr "Single"
4517
4518 #. module: hotel
4519-#: constraint:product.product:0
4520-msgid "Error: Invalid ean code"
4521-msgstr ""
4522+#: field:hotel.room,status:0
4523+msgid "status"
4524+msgstr "status"
4525
4526 #. module: hotel
4527 #: view:hotel.folio:0
4528 msgid "Rent"
4529-msgstr ""
4530+msgstr "Rent"
4531
4532 #. module: hotel
4533-#: rml:folio.total:0
4534+#: report:folio.total:0
4535 msgid "Total"
4536-msgstr ""
4537+msgstr "Total"
4538+
4539+#. module: hotel
4540+#: view:hotel.room:0
4541+#: view:hotel.room.amenities:0
4542+#: view:hotel.services:0
4543+msgid "Supplier Taxes"
4544+msgstr "Supplier Taxes"
4545
4546
4547=== modified file 'hotel/report/__init__.py'
4548--- hotel/report/__init__.py 2012-05-22 14:06:57 +0000
4549+++ hotel/report/__init__.py 2014-09-28 13:18:16 +0000
4550@@ -1,24 +1,25 @@
4551-# -*- encoding: utf-8 -*-
4552+# -*- coding: utf-8 -*-
4553 ##############################################################################
4554-#
4555+#
4556 # OpenERP, Open Source Management Solution
4557-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
4558+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
4559+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
4560 #
4561 # This program is free software: you can redistribute it and/or modify
4562-# it under the terms of the GNU Affero General Public License as
4563-# published by the Free Software Foundation, either version 3 of the
4564-# License, or (at your option) any later version.
4565+# it under the terms of the GNU General Public License as published by
4566+# the Free Software Foundation, either version 3 of the License, or
4567+# (at your option) any later version.
4568 #
4569 # This program is distributed in the hope that it will be useful,
4570 # but WITHOUT ANY WARRANTY; without even the implied warranty of
4571 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4572-# GNU Affero General Public License for more details.
4573+# GNU General Public License for more details.
4574 #
4575-# You should have received a copy of the GNU Affero General Public License
4576-# along with this program. If not, see <http://www.gnu.org/licenses/>.
4577+# You should have received a copy of the GNU General Public License
4578+# along with this program. If not, see <http://www.gnu.org/licenses/>
4579 #
4580 ##############################################################################
4581
4582-import hotel_report
4583+from . import hotel_report
4584
4585 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4586\ No newline at end of file
4587
4588=== modified file 'hotel/report/hotel_report.py'
4589--- hotel/report/hotel_report.py 2012-05-23 07:17:58 +0000
4590+++ hotel/report/hotel_report.py 2014-09-28 13:18:16 +0000
4591@@ -1,53 +1,52 @@
4592-# -*- encoding: utf-8 -*-
4593+# -*- coding: utf-8 -*-
4594 ##############################################################################
4595-#
4596+#
4597 # OpenERP, Open Source Management Solution
4598-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
4599+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
4600+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
4601 #
4602 # This program is free software: you can redistribute it and/or modify
4603-# it under the terms of the GNU Affero General Public License as
4604-# published by the Free Software Foundation, either version 3 of the
4605-# License, or (at your option) any later version.
4606+# it under the terms of the GNU General Public License as published by
4607+# the Free Software Foundation, either version 3 of the License, or
4608+# (at your option) any later version.
4609 #
4610 # This program is distributed in the hope that it will be useful,
4611 # but WITHOUT ANY WARRANTY; without even the implied warranty of
4612 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4613-# GNU Affero General Public License for more details.
4614+# GNU General Public License for more details.
4615 #
4616-# You should have received a copy of the GNU Affero General Public License
4617-# along with this program. If not, see <http://www.gnu.org/licenses/>.
4618+# You should have received a copy of the GNU General Public License
4619+# along with this program. If not, see <http://www.gnu.org/licenses/>
4620 #
4621 ##############################################################################
4622
4623 import time
4624-from report import report_sxw
4625-import datetime
4626-import pooler
4627+from openerp.report import report_sxw
4628+
4629 class folio_report(report_sxw.rml_parse):
4630 def __init__(self, cr, uid, name, context):
4631 super(folio_report, self).__init__(cr, uid, name, context)
4632 self.localcontext.update( {
4633 'time': time,
4634 'get_data': self.get_data,
4635- 'get_Total' : self.getTotal,
4636+ 'get_Total': self.getTotal,
4637 'get_total': self.gettotal,
4638 })
4639 self.temp = 0.0
4640
4641- def get_data(self,date_start,date_end):
4642- tids = self.pool.get('hotel.folio').search(self.cr,self.uid,[('checkin_date', '>=', date_start),('checkout_date', '<=', date_end)])
4643- res = self.pool.get('hotel.folio').browse(self.cr,self.uid,tids)
4644+ def get_data(self, date_start, date_end):
4645+ folio_obj = self.pool.get('hotel.folio')
4646+ tids = folio_obj.search(self.cr, self.uid, [('checkin_date', '>=', date_start), ('checkout_date', '<=', date_end)])
4647+ res = folio_obj.browse(self.cr, self.uid, tids)
4648 return res
4649-
4650- def gettotal(self,total):
4651+
4652+ def gettotal(self, total):
4653 self.temp = self.temp + float(total)
4654 return total
4655-
4656+
4657 def getTotal(self):
4658 return self.temp
4659-
4660-report_sxw.report_sxw('report.folio.total', 'hotel.folio', 'addons/hotel/report/total_folio.rml',parser= folio_report)
4661-
4662-
4663+
4664+report_sxw.report_sxw('report.folio.total', 'hotel.folio', 'addons/hotel/report/total_folio.rml', parser=folio_report)
4665
4666 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4667\ No newline at end of file
4668
4669=== modified file 'hotel/report/hotel_report.xml'
4670--- hotel/report/hotel_report.xml 2012-05-23 07:17:58 +0000
4671+++ hotel/report/hotel_report.xml 2014-09-28 13:18:16 +0000
4672@@ -1,6 +1,7 @@
4673 <?xml version="1.0"?>
4674 <openerp>
4675 <data>
4676+
4677 <report id="hotel_folio_details"
4678 string="Folio Total"
4679 model="hotel.folio"
4680
4681=== modified file 'hotel/report/total_folio.rml'
4682--- hotel/report/total_folio.rml 2012-05-22 14:06:57 +0000
4683+++ hotel/report/total_folio.rml 2014-09-28 13:18:16 +0000
4684@@ -13,6 +13,7 @@
4685 <blockTableStyle id="Table1">
4686 <blockAlignment value="LEFT"/>
4687 <blockValign value="TOP"/>
4688+ <lineStyle kind="GRID" colorName="black"/>
4689 <blockBackground colorName="#c0c0c0" start="0,0" stop="0,0"/>
4690 <blockBackground colorName="#c0c0c0" start="1,0" stop="1,0"/>
4691 <blockBackground colorName="#c0c0c0" start="2,0" stop="2,0"/>
4692@@ -22,6 +23,7 @@
4693 <blockTableStyle id="Table2">
4694 <blockAlignment value="LEFT"/>
4695 <blockValign value="TOP"/>
4696+ <lineStyle kind="GRID" colorName="black"/>
4697 <blockBackground colorName="#ffffff" start="0,0" stop="0,0"/>
4698 <blockBackground colorName="#c0c0c0" start="1,0" stop="1,0"/>
4699 </blockTableStyle>
4700@@ -52,9 +54,21 @@
4701 <para style="P2">
4702 <font color="white"> </font>
4703 </para>
4704- <para style="P9">Total Collection</para>
4705+ <para style="P2">
4706+ <font color="white"> </font>
4707+ </para>
4708+ <para style="P2">
4709+ <font color="white"> </font>
4710+ </para>
4711+ <para style="P9" alignment="CENTER"><b>Total Collection</b></para>
4712+ <para style="P2">
4713+ <font color="white"> </font>
4714+ </para>
4715 <para style="P10">[[repeatIn(objects,'o')]]</para>
4716- <para style="P12">From [[ data['form']['date_start'] ]] to [[ data['form']['date_end'] ]] </para>
4717+ <para style="P12"><b>From "</b>[[ formatLang(data['form']['date_start'],date=True) ]]<b>" To "</b>[[ formatLang(data['form']['date_end'],date=True) ]]<b>"</b></para>
4718+ <para style="P4">
4719+ <font color="white"> </font>
4720+ </para>
4721 <blockTable colWidths="90.0,129.0,98.0,96.0,69.0" style="Table1">
4722 <tr>
4723 <td>
4724@@ -74,27 +88,25 @@
4725 </td>
4726 </tr>
4727 <tr>
4728- <td>
4729- <para style="P6">[[ repeatIn(get_data(data['form']['date_start'],data['form']['date_end']) ,'o') ]]</para>
4730- <para style="P4">[[o.order_id.name]]</para>
4731- </td>
4732- <td>
4733- <para style="P4">[[o.partner_id.name]]</para>
4734- </td>
4735- <td>
4736- <para style="P4">[[o.checkin_date]]</para>
4737- </td>
4738- <td>
4739- <para style="P4">[[o.checkout_date]]</para>
4740- </td>
4741- <td>
4742- <para style="P4">[[o.amount_total]]</para>
4743-
4744- <para style="P4">[[get_total(o.amount_total)]]</para>
4745+ <para style="P6">[[ repeatIn(get_data(data['form']['date_start'],data['form']['date_end']) ,'o') ]]</para>
4746+ <td>
4747+ <para style="P4">[[o.name or '' ]]</para>
4748+ </td>
4749+ <td>
4750+ <para style="P4" alignment="LEFT">[[o.partner_id and o.partner_id.name or '']]</para>
4751+ </td>
4752+ <td>
4753+ <para style="P4">[[ formatLang(o.checkin_date, date=True) ]]</para>
4754+ </td>
4755+ <td>
4756+ <para style="P4">[[ formatLang(o.checkout_date, date=True) ]]</para>
4757+ </td>
4758+ <td>
4759+ <para style="P4" alignment="RIGHT">[[formatLang(get_total(o.amount_total), digits=get_digits(dp='Account')) ]]</para>
4760 </td>
4761 </tr>
4762 </blockTable>
4763- <blockTable colWidths="316.0,96.0,69.0" style="Table2">
4764+ <blockTable colWidths="317.0,96.0,69.0" style="Table2">
4765 <tr>
4766 <td>
4767 <para style="P8">
4768@@ -105,7 +117,7 @@
4769 <para style="P7">Net Total :-</para>
4770 </td>
4771 <td>
4772- <para style="P4">[[get_Total()]]</para>
4773+ <para style="P4" alignment="RIGHT">[[formatLang(get_Total(), digits=get_digits(dp='Account')) ]]</para>
4774 </td>
4775 </tr>
4776 </blockTable>
4777
4778=== modified file 'hotel/security/ir.model.access.csv'
4779--- hotel/security/ir.model.access.csv 2012-05-22 14:06:57 +0000
4780+++ hotel/security/ir.model.access.csv 2014-09-28 13:18:16 +0000
4781@@ -1,13 +1,34 @@
4782 "id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
4783-"access_hotel_floor_group","hotel.floor","model_hotel_floor","hotel.group_hotel_user",1,1,0,0
4784-"access_product_category","product.category","product.model_product_category","hotel.group_hotel_user",1,1,0,0
4785-"access_hotel_room_type","hotel.room_type","model_hotel_room_type","hotel.group_hotel_user",1,1,0,0
4786-"access_product_product","product.product","product.model_product_product","hotel.group_hotel_user",1,1,1,1
4787-"access_hotel_room_amenities_type","hotel.room_amenities_type","model_hotel_room_amenities_type","hotel.group_hotel_user",1,1,0,0
4788-"access_hotel_room_amenities","hotel.room_aminities","model_hotel_room_amenities","hotel.group_hotel_user",1,1,0,0
4789-"access_hotel_room","hotel.room","model_hotel_room","hotel.group_hotel_user",1,1,0,0
4790-"access_hotel_folio","hotel.folio","model_hotel_folio","hotel.group_hotel_user",1,1,1,1
4791-"access_hotel_folio_line","hotel_folio.line","model_hotel_folio_line","hotel.group_hotel_user",1,1,1,1
4792-"access_hotel_service_line","hotel_service.line","model_hotel_service_line","hotel.group_hotel_user",1,1,1,1
4793-"acess_hotel_service_type","hotel.service_type","model_hotel_service_type","hotel.group_hotel_user",1,1,0,0
4794-"access_hotel_services","hotel.sevices","model_hotel_services","hotel.group_hotel_user",1,1,0,0
4795+"access_hotel_floor_group","hotel.floor.user","model_hotel_floor","hotel.group_hotel_user",1,1,1,0
4796+"access_product_category","product.category.user","product.model_product_category","hotel.group_hotel_user",1,1,1,0
4797+"access_hotel_room_type","hotel.room_type.user","model_hotel_room_type","hotel.group_hotel_user",1,1,1,0
4798+"access_hotel_room_rent","hotel.room_rent.user","model_room_rent","hotel.group_hotel_user",1,1,1,0
4799+"access_product_product","product.product.user","product.model_product_product","hotel.group_hotel_user",1,1,1,0
4800+"access_hotel_room_amenities_type","hotel.room_amenities_type.user","model_hotel_room_amenities_type","hotel.group_hotel_user",1,1,1,0
4801+"access_hotel_room_amenities","hotel.room_aminities.user","model_hotel_room_amenities","hotel.group_hotel_user",1,1,1,0
4802+"access_hotel_room","hotel.room.user","model_hotel_room","hotel.group_hotel_user",1,1,1,0
4803+"access_hotel_folio","hotel.folio.user","model_hotel_folio","hotel.group_hotel_user",1,1,1,0
4804+"access_hotel_folio_line","hotel_folio.line.user","model_hotel_folio_line","hotel.group_hotel_user",1,1,1,0
4805+"access_hotel_service_line","hotel_service.line.user","model_hotel_service_line","hotel.group_hotel_user",1,1,1,0
4806+"acess_hotel_service_type","hotel.service_type.user","model_hotel_service_type","hotel.group_hotel_user",1,1,1,0
4807+"access_hotel_services","hotel.sevices.user","model_hotel_services","hotel.group_hotel_user",1,1,1,0
4808+"access_hotel_order_user","hotel.order.user","sale.model_sale_order","hotel.group_hotel_user",1,1,1,0
4809+"access_hotel_order_line_user","hotel.order.line.user","sale.model_sale_order_line","hotel.group_hotel_user",1,1,1,0
4810+"access_hotel_invoice_user","account.invoice.user","account.model_account_invoice","hotel.group_hotel_user",1,1,1,0
4811+
4812+"access_hotel_floor_group_manager","hotel.floor.manager","model_hotel_floor","hotel.group_hotel_manager",1,1,1,1
4813+"access_product_category_manager","product.category.manager","product.model_product_category","hotel.group_hotel_manager",1,1,1,1
4814+"access_hotel_room_type_manager","hotel.room_type.manager","model_hotel_room_type","hotel.group_hotel_manager",1,1,1,1
4815+"access_hotel_room_rent_manager","hotel.room_rent.manager","model_room_rent","hotel.group_hotel_manager",1,1,1,1
4816+"access_product_product_manager","product.product.manager","product.model_product_product","hotel.group_hotel_manager",1,1,1,1
4817+"access_hotel_room_amenities_type_manager","hotel.room_amenities_type.manager","model_hotel_room_amenities_type","hotel.group_hotel_manager",1,1,1,1
4818+"access_hotel_room_amenities_manager","hotel.room_aminities.manager","model_hotel_room_amenities","hotel.group_hotel_manager",1,1,1,1
4819+"access_hotel_room_manager","hotel.room.manager","model_hotel_room","hotel.group_hotel_manager",1,1,1,1
4820+"access_hotel_folio_manager","hotel.folio.manager","model_hotel_folio","hotel.group_hotel_manager",1,1,1,1
4821+"access_hotel_folio_line_manager","hotel_folio.line.manager","model_hotel_folio_line","hotel.group_hotel_manager",1,1,1,1
4822+"access_hotel_service_line_manager","hotel_service.line.manager","model_hotel_service_line","hotel.group_hotel_manager",1,1,1,1
4823+"acess_hotel_service_type_manager","hotel.service_type.manager","model_hotel_service_type","hotel.group_hotel_manager",1,1,1,1
4824+"access_hotel_services_manager","hotel.sevices.manager","model_hotel_services","hotel.group_hotel_manager",1,1,1,1
4825+"access_hotel_order_manager_manager","hotel.order.manager","sale.model_sale_order","hotel.group_hotel_manager",1,1,1,1
4826+"access_hotel_order_line_manager","hotel.order.line.manager","sale.model_sale_order_line","hotel.group_hotel_manager",1,1,1,0
4827+"access_hotel_invoice_manager","account.invoice.manager","account.model_account_invoice","hotel.group_hotel_manager",1,1,1,1
4828\ No newline at end of file
4829
4830=== added directory 'hotel/static'
4831=== renamed directory 'hotel/static' => 'hotel/static.moved'
4832=== added directory 'hotel/static/src'
4833=== added directory 'hotel/static/src/css'
4834=== added file 'hotel/static/src/css/room_kanban.css'
4835--- hotel/static/src/css/room_kanban.css 1970-01-01 00:00:00 +0000
4836+++ hotel/static/src/css/room_kanban.css 2014-09-28 13:18:16 +0000
4837@@ -0,0 +1,4 @@
4838+.openerp .oe_kanban_view .oe_kanban_status {
4839+ position: relative;
4840+ top: -13px;
4841+}
4842\ No newline at end of file
4843
4844=== modified file 'hotel/wizard/__init__.py'
4845--- hotel/wizard/__init__.py 2012-05-22 14:06:57 +0000
4846+++ hotel/wizard/__init__.py 2014-09-28 13:18:16 +0000
4847@@ -1,24 +1,25 @@
4848 # -*- encoding: utf-8 -*-
4849 ##############################################################################
4850-#
4851+#
4852 # OpenERP, Open Source Management Solution
4853-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
4854+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
4855+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
4856 #
4857 # This program is free software: you can redistribute it and/or modify
4858-# it under the terms of the GNU Affero General Public License as
4859-# published by the Free Software Foundation, either version 3 of the
4860-# License, or (at your option) any later version.
4861+# it under the terms of the GNU General Public License as published by
4862+# the Free Software Foundation, either version 3 of the License, or
4863+# (at your option) any later version.
4864 #
4865 # This program is distributed in the hope that it will be useful,
4866 # but WITHOUT ANY WARRANTY; without even the implied warranty of
4867 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4868-# GNU Affero General Public License for more details.
4869+# GNU General Public License for more details.
4870 #
4871-# You should have received a copy of the GNU Affero General Public License
4872-# along with this program. If not, see <http://www.gnu.org/licenses/>.
4873+# You should have received a copy of the GNU General Public License
4874+# along with this program. If not, see <http://www.gnu.org/licenses/>
4875 #
4876 ##############################################################################
4877
4878-import hotel_wizard
4879+from . import hotel_wizard
4880
4881 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4882\ No newline at end of file
4883
4884=== modified file 'hotel/wizard/hotel_wizard.py'
4885--- hotel/wizard/hotel_wizard.py 2012-05-23 07:17:58 +0000
4886+++ hotel/wizard/hotel_wizard.py 2014-09-28 13:18:16 +0000
4887@@ -1,50 +1,45 @@
4888 # -*- encoding: utf-8 -*-
4889 ##############################################################################
4890-#
4891+#
4892 # OpenERP, Open Source Management Solution
4893-# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
4894+# Copyright (C) 2012-Today Serpent Consulting Services Pvt. Ltd. (<http://www.serpentcs.com>)
4895+# Copyright (C) 2004 OpenERP SA (<http://www.openerp.com>)
4896 #
4897 # This program is free software: you can redistribute it and/or modify
4898-# it under the terms of the GNU Affero General Public License as
4899-# published by the Free Software Foundation, either version 3 of the
4900-# License, or (at your option) any later version.
4901+# it under the terms of the GNU General Public License as published by
4902+# the Free Software Foundation, either version 3 of the License, or
4903+# (at your option) any later version.
4904 #
4905 # This program is distributed in the hope that it will be useful,
4906 # but WITHOUT ANY WARRANTY; without even the implied warranty of
4907 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
4908-# GNU Affero General Public License for more details.
4909-#
4910-# You should have received a copy of the GNU Affero General Public License
4911-# along with this program. If not, see <http://www.gnu.org/licenses/>.
4912-#
4913-##############################################################################
4914-
4915-from osv import osv,fields
4916-
4917-class folio_report_wizard(osv.osv_memory):
4918-
4919+# GNU General Public License for more details.
4920+#
4921+# You should have received a copy of the GNU General Public License
4922+# along with this program. If not, see <http://www.gnu.org/licenses/>
4923+#
4924+################################################################################
4925+
4926+from openerp.osv import osv, fields
4927+
4928+class folio_report_wizard(osv.TransientModel):
4929 _name = 'folio.report.wizard'
4930-
4931 _rec_name = 'date_start'
4932 _columns = {
4933- 'date_start':fields.datetime('Start Date'),
4934- 'date_end':fields.datetime('End Date')
4935- }
4936-
4937+ 'date_start': fields.datetime('Start Date'),
4938+ 'date_end': fields.datetime('End Date')
4939+ }
4940+
4941 def print_report(self, cr, uid, ids, context=None):
4942- datas = {
4943- 'ids': ids,
4944- 'model': 'hotel.folio',
4945- 'form': self.read(cr, uid, ids)[0]
4946+ values = {
4947+ 'ids': ids,
4948+ 'model': 'hotel.folio',
4949+ 'form': self.read(cr, uid, ids, context=context)[0]
4950 }
4951 return {
4952 'type': 'ir.actions.report.xml',
4953 'report_name': 'folio.total',
4954- 'datas': datas,
4955+ 'datas': values,
4956 }
4957
4958-
4959-folio_report_wizard()
4960-
4961-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4962-
4963+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
4964\ No newline at end of file
4965
4966=== modified file 'hotel/wizard/hotel_wizard.xml'
4967--- hotel/wizard/hotel_wizard.xml 2012-05-23 07:17:58 +0000
4968+++ hotel/wizard/hotel_wizard.xml 2014-09-28 13:18:16 +0000
4969@@ -1,37 +1,39 @@
4970 <?xml version="1.0" ?>
4971 <openerp>
4972- <data>
4973-
4974- <record model="ir.ui.view" id="view_hotel_folio_wizard">
4975- <field name="name">folio.report.wizard</field>
4976- <field name="model">folio.report.wizard</field>
4977- <field name="type">form</field>
4978- <field name="arch" type="xml">
4979- <form string="Folio Report">
4980- <field name="date_start" required="1"/>
4981- <field name="date_end" required="1"/>
4982- <newline/>
4983- <separator colspan='4'/>
4984- <newline/>
4985- <button icon="gtk-cancel" string="Cancel" special="cancel"/>
4986- <button icon="gtk-print" name="print_report" string="Print" type="object"/>
4987- </form>
4988- </field>
4989- </record>
4990-
4991- <record model="ir.actions.act_window" id="hotel_folio_wizard">
4992- <field name="name">Hotel Folio Wizard</field>
4993- <field name="res_model">folio.report.wizard</field>
4994- <field name="view_type">form</field>
4995- <field name="view_mode">form</field>
4996- <field name="target">new</field>
4997- </record>
4998-
4999- <menuitem
5000- name="Hotel Folio Report"
The diff has been truncated for viewing.