@ -0,0 +1 @@ |
|||||
|
import models,sweep |
@ -0,0 +1,41 @@ |
|||||
|
{ |
||||
|
'name': 'Salon Booking', |
||||
|
'summary': """ """, |
||||
|
'description': """ """, |
||||
|
'author': '', |
||||
|
'website': 'http://www.example.com', |
||||
|
'category': 'Test', |
||||
|
'version': '0.1', |
||||
|
|
||||
|
'depends': ['base', |
||||
|
'sale', |
||||
|
'hr', |
||||
|
], |
||||
|
|
||||
|
'data': [ |
||||
|
'templates/template.xml', |
||||
|
'security/ir.model.access.csv', |
||||
|
'views/chair_view.xml', |
||||
|
'views/period_view.xml', |
||||
|
'views/day_view.xml', |
||||
|
'views/month_view.xml', |
||||
|
'views/autofill_month.xml', |
||||
|
'views/salon_book_view.xml', |
||||
|
'sweep/sweep_sale_order.xml', |
||||
|
'sweep/sweep_menu_act.xml', |
||||
|
'sweep/sweep_product.xml', |
||||
|
'sweep/sweep_invoice.xml', |
||||
|
], |
||||
|
|
||||
|
'demo': ['demo/demo_chair.xml', |
||||
|
'demo/demo_time.xml', |
||||
|
'demo/demo_day.xml', |
||||
|
'demo/demo_month.xml', |
||||
|
|
||||
|
], |
||||
|
|
||||
|
'installable': True, |
||||
|
'auto_install': False, |
||||
|
'application': True, |
||||
|
} |
||||
|
|
@ -0,0 +1,28 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<record id="chair_0001" model="salon.chair"> |
||||
|
<field name="name">CH0001</field> |
||||
|
<field name="related_employee" ref="hr.employee_fp"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="chair_0002" model="salon.chair"> |
||||
|
<field name="name">CH0002</field> |
||||
|
<field name="related_employee" ref="hr.employee_al"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="chair_0003" model="salon.chair"> |
||||
|
<field name="name">CH0003</field> |
||||
|
<field name="related_employee" ref="hr.employee_mit"/> |
||||
|
</record> |
||||
|
|
||||
|
<record id="chair_0004" model="salon.chair"> |
||||
|
<field name="name">CH0004</field> |
||||
|
<field name="related_employee" ref="hr.employee_niv"/> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,911 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!-- 1 --> |
||||
|
<!--<record id="day_0001" model="salon.day">--> |
||||
|
<!--<field name="name">01</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_0001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_0002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_0003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_0004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_0005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 2 –>--> |
||||
|
<!--<record id="day_0002" model="salon.day">--> |
||||
|
<!--<field name="name">02</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e10001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e10002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0002"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_e10003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e10004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e10005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 3 –>--> |
||||
|
<!--<record id="day_0003" model="salon.day">--> |
||||
|
<!--<field name="name">03</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0003"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_n110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0003"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<!– 4 –>--> |
||||
|
<!--<record id="day_0004" model="salon.day">--> |
||||
|
<!--<field name="name">04</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_ks1110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_ks1110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0004"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_ks1110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_ks1110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_ks1110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 5 –>--> |
||||
|
<!--<record id="day_0005" model="salon.day">--> |
||||
|
<!--<field name="name">05</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x111110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x111110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0005"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_x111110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x111110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x111110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 6 –>--> |
||||
|
<!--<record id="day_0006" model="salon.day">--> |
||||
|
<!--<field name="name">06</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_211110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0006"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_211110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0006"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_211110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0006"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_211110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0006"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_211110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0006"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 7 –>--> |
||||
|
<!--<record id="day_0007" model="salon.day">--> |
||||
|
<!--<field name="name">07</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_40001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0007"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_40002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0007"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_40003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0007"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_40004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0007"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_40005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0007"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 8 –>--> |
||||
|
|
||||
|
<!--<record id="day_0008" model="salon.day">--> |
||||
|
<!--<field name="name">08</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0008"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0008"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0008"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_440004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0008"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0008"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 9 –>--> |
||||
|
<!--<record id="day_0009" model="salon.day">--> |
||||
|
<!--<field name="name">09</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_4440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_0009"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_4440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_0009"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_4440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_0009"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_4440004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_0009"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_4440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_0009"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 10 –>--> |
||||
|
<!--<record id="day_00010" model="salon.day">--> |
||||
|
<!--<field name="name">10</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_44440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00010"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_44440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00010"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_44440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00010"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_44440004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00010"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_44440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00010"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!–========================================================================================================–>--> |
||||
|
<!--<!– 1 –>--> |
||||
|
<!--<record id="day_00011" model="salon.day">--> |
||||
|
<!--<field name="name">11</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_10001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_10002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00011"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_10003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_10004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_10005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 2 –>--> |
||||
|
<!--<record id="day_00012" model="salon.day">--> |
||||
|
<!--<field name="name">12</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00012"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00012"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00012"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00012"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00012"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 3 –>--> |
||||
|
<!--<record id="day_00013" model="salon.day">--> |
||||
|
<!--<field name="name">13</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00013"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00013"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_1110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00013"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00013"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00013"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<!– 4 –>--> |
||||
|
<!--<record id="day_00014" model="salon.day">--> |
||||
|
<!--<field name="name">14</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_11110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00014"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_11110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00014"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_11110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00014"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_11110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00014"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_11110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00014"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 5 –>--> |
||||
|
<!--<record id="day_00015" model="salon.day">--> |
||||
|
<!--<field name="name">15</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_111110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00015"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_111110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00015"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_111110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00015"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_111110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00015"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_111110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00015"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 6 –>--> |
||||
|
<!--<record id="day_00016" model="salon.day">--> |
||||
|
<!--<field name="name">16</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_2111110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00016"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_2111110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00016"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_2111110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00016"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_2111110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00016"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_2111110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00016"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 7 –>--> |
||||
|
<!--<record id="day_00017" model="salon.day">--> |
||||
|
<!--<field name="name">17</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_400101" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00017"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_401002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00017"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_400103" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00017"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_401004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00017"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_400105" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00017"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 8 –>--> |
||||
|
|
||||
|
<!--<record id="day_00018" model="salon.day">--> |
||||
|
<!--<field name="name">18</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00018"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00018"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_1440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00018"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1440004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00018"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_1440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00018"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 9 –>--> |
||||
|
<!--<record id="day_00019" model="salon.day">--> |
||||
|
<!--<field name="name">19</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_14440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00019"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_14440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00019"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_14440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00019"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_14440004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00019"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_14440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00019"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 10 –>--> |
||||
|
<!--<record id="day_00020" model="salon.day">--> |
||||
|
<!--<field name="name">20</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_144440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00020"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_144440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00020"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_144440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00020"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_144440004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00020"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_144440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00020"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<!–===========================================================================–>--> |
||||
|
<!--<!–=========================================================================–>--> |
||||
|
<!--<!– 1 –>--> |
||||
|
<!--<record id="day_00021" model="salon.day">--> |
||||
|
<!--<field name="name">21</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w0001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w0002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00021"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_w0003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w0004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w0005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 2 –>--> |
||||
|
<!--<record id="day_00022" model="salon.day">--> |
||||
|
<!--<field name="name">22</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e1w0001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00022"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e10w002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00022"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_e100w03" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00022"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e1w0004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00022"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_e1w0005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00022"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 3 –>--> |
||||
|
<!--<record id="day_00023" model="salon.day">--> |
||||
|
<!--<field name="name">23</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n11w0001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00023"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n11w0002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00023"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_n11w0003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00023"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n11w0004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00023"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_n1w10005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00023"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<!– 4 –>--> |
||||
|
<!--<record id="day_00024" model="salon.day">--> |
||||
|
<!--<field name="name">24</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_sw1110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00024"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_sw1110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00024"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_s1110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00024"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_s1w110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00024"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_sw1110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00024"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 5 –>--> |
||||
|
<!--<record id="day_00025" model="salon.day">--> |
||||
|
<!--<field name="name">25</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x1w11110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00025"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x1w11110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00025"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_x11w1110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00025"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x1w11110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00025"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_x1w11110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00025"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 6 –>--> |
||||
|
<!--<record id="day_00026" model="salon.day">--> |
||||
|
<!--<field name="name">26</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_21w1110001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00026"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_2w11110002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00026"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_21w1110003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00026"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_211w110004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00026"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_2w11110005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00026"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 7 –>--> |
||||
|
<!--<record id="day_00027" model="salon.day">--> |
||||
|
<!--<field name="name">27</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w40001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00027"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w40002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00027"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_w40003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00027"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w40004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00027"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w40005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00027"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 8 –>--> |
||||
|
|
||||
|
<!--<record id="day_00028" model="salon.day">--> |
||||
|
<!--<field name="name">28</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_4w40001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00028"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_4w40002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00028"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_4w40003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00028"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_4w40004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00028"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_w440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00028"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 9 –>--> |
||||
|
<!--<record id="day_00029" model="salon.day">--> |
||||
|
<!--<field name="name">29</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_q44w40001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00029"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_q444w0002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00029"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_q44w40003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00029"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_q44w40004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00029"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_q4w440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00029"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 10 –>--> |
||||
|
<!--<record id="day_00030" model="salon.day">--> |
||||
|
<!--<field name="name">30</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_44w440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00030"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_44w440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00030"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_44w440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00030"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_444w40004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00030"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_44w440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00030"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<!–==========================================================================–>--> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<!--<!– 31 –>--> |
||||
|
<!--<record id="day_00031" model="salon.day">--> |
||||
|
<!--<field name="name">31</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_p44w440001" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--<field name="day_id" ref="day_00031"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_p44w440002" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--<field name="day_id" ref="day_00031"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<record id="day_line_p44w440003" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--<field name="day_id" ref="day_00031"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_p444w40004" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--<field name="day_id" ref="day_00031"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="day_line_p44w440005" model="salon.day.line">--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--<field name="day_id" ref="day_00031"/>--> |
||||
|
<!--</record>--> |
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,166 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--<record id="month_0001" model="salon.month">--> |
||||
|
<!--<field name="name">Dec 2016</field>--> |
||||
|
<!--<field name="month">01</field>--> |
||||
|
<!--<field name="year">2016</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0001" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0002" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0003" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0004" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0005" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0006" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0006"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0007" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0007"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0008" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0008"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_0009" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_0009"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00010" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00010"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– =================================================================== –>--> |
||||
|
<!--<record id="month_line_00011" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00012" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00012"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00013" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00013"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00014" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00014"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00015" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00015"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00016" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00016"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00017" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00017"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00018" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00018"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00019" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00019"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_00020" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00020"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<!– ===========================================================–>--> |
||||
|
<!--<record id="month_line_000211" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000212" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00022"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000213" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00023"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000214" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00024"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000215" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00025"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000216" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00026"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000217" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00027"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000218" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00028"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000219" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00029"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="month_line_000220" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00030"/>--> |
||||
|
<!--</record>--> |
||||
|
<!--<!–===========================================================–>--> |
||||
|
<!--<record id="month_line_000220_31" model="salon.month.line">--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--<field name="days" ref="day_00031"/>--> |
||||
|
<!--</record>--> |
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,473 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
|
||||
|
|
||||
|
<!--<record id="month_0001" model="salon.month">--> |
||||
|
<!--<field name="name">Jan 2016</field>--> |
||||
|
<!--<field name="month">01</field>--> |
||||
|
<!--<field name="year">2016</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<!--<!–day 01–>--> |
||||
|
<!--<record id="day_000_cc1" model="salon.day">--> |
||||
|
<!--<field name="name">01</field>--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 09.30 –>--> |
||||
|
<!--<record id="time_00001" model="salon.period">--> |
||||
|
<!--<field name="name">09.30</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc1"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_00001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_00002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_00003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_00004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_00001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 11:00 –>--> |
||||
|
|
||||
|
<!--<record id="time_00002" model="salon.period">--> |
||||
|
<!--<field name="name">11.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc1"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_100001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_100002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_100003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_100004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_00002"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 13:00 –>--> |
||||
|
<!--<record id="time_00003" model="salon.period">--> |
||||
|
<!--<field name="name">13.00</field>--> |
||||
|
<!--<field name="period_type">off</field>--> |
||||
|
<!--<field name="off_reason">Lunch Break</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc1"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1100001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1100002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1100003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1100004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_00003"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 15:00 –>--> |
||||
|
<!--<record id="time_00004" model="salon.period">--> |
||||
|
<!--<field name="name">15.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc1"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11100x001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11s100002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1d1100003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11100004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_00004"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 19:00–>--> |
||||
|
|
||||
|
<!--<record id="time_00005" model="salon.period">--> |
||||
|
<!--<field name="name">19.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc1"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111100001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111100002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111100003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111100004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_00005"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!–===================================================================================–>--> |
||||
|
<!--<!–day 02–>--> |
||||
|
<!--<record id="day_000_cc2" model="salon.day">--> |
||||
|
<!--<field name="name">02</field>--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<record id="time_000011" model="salon.period">--> |
||||
|
<!--<field name="name">09.30</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc2"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1000011" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1000021" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1000031" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1000041" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000011"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 11:00 –>--> |
||||
|
|
||||
|
<!--<record id="time_000021" model="salon.period">--> |
||||
|
<!--<field name="name">11.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc2"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_hf1000011" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1xs000021" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1jh000031" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_liasdne_1000041" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000021"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 13:00 –>--> |
||||
|
<!--<record id="time_000031" model="salon.period">--> |
||||
|
<!--<field name="name">13.00</field>--> |
||||
|
<!--<field name="period_type">off</field>--> |
||||
|
<!--<field name="off_reason">Lunch Break</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc2"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_x11000011" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000031"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1100x0021" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000031"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11x000031" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000031"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_linex_11000041" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000031"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 15:00 –>--> |
||||
|
<!--<record id="time_000041" model="salon.period">--> |
||||
|
<!--<field name="name">15.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc2"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1110x00011" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000041"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111000021" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000041"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111000031" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000041"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111000041" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000041"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 19:00–>--> |
||||
|
|
||||
|
<!--<record id="time_000051" model="salon.period">--> |
||||
|
<!--<field name="name">19.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc2"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1111000011" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000051"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1111000021" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000051"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1111000031" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000051"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1111000041" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000051"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!–=============================================================================================================–>--> |
||||
|
|
||||
|
<!--<!–day 03–>--> |
||||
|
<!--<record id="day_000_cc3" model="salon.day">--> |
||||
|
<!--<field name="name">03</field>--> |
||||
|
<!--<field name="month_id" ref="month_0001"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 09.30 –>--> |
||||
|
<!--<record id="time_000061" model="salon.period">--> |
||||
|
<!--<field name="name">09.30</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc3"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_200001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000061"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_df100002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000061"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_200003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000061"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_200004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000061"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 11:00 –>--> |
||||
|
|
||||
|
<!--<record id="time_000062" model="salon.period">--> |
||||
|
<!--<field name="name">11.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc3"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_10sf0001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000062"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1000xc02" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000062"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_10dfas0003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000062"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1000dshy04" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000062"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 13:00 –>--> |
||||
|
<!--<record id="time_000063" model="salon.period">--> |
||||
|
<!--<field name="name">13.00</field>--> |
||||
|
<!--<field name="period_type">off</field>--> |
||||
|
<!--<field name="off_reason">Lunch Break</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc3"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_110x0001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000063"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_110x0002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000063"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_x1100003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000063"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_1x100004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000063"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<!– 15:00 –>--> |
||||
|
<!--<record id="time_000064" model="salon.period">--> |
||||
|
<!--<field name="name">15.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc3"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11100001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000064"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11100002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000064"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11100003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000064"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="f" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000064"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
<!--<!– 19:00–>--> |
||||
|
|
||||
|
<!--<record id="time_000065" model="salon.period">--> |
||||
|
<!--<field name="name">19.00</field>--> |
||||
|
<!--<field name="day_id" ref="day_000_cc3"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_11110dsz0001" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0001"/>--> |
||||
|
<!--<field name="period_id" ref="time_000065"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111100k002" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0002"/>--> |
||||
|
<!--<field name="period_id" ref="time_000065"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111100sq003" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0003"/>--> |
||||
|
<!--<field name="period_id" ref="time_000065"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
<!--<record id="time_line_111op100004" model="salon.period.line">--> |
||||
|
<!--<field name="chair_id" ref="chair_0004"/>--> |
||||
|
<!--<field name="period_id" ref="time_000065"/>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<!--DEMO GENERAL TIMES --> |
||||
|
|
||||
|
<record id="time_gen_0001" model="salon.period"> |
||||
|
<field name="name">9.30</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="time_gen_0002" model="salon.period"> |
||||
|
<field name="name">11.30</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="time_gen_0003" model="salon.period"> |
||||
|
<field name="name">13.00</field> |
||||
|
<field name="period_type">off</field> |
||||
|
<field name="off_reason">Lunch Break</field> |
||||
|
</record> |
||||
|
|
||||
|
<record id="time_gen_0004" model="salon.period"> |
||||
|
<field name="name">15.30</field> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
<record id="time_gen_0005" model="salon.period"> |
||||
|
<field name="name">19.00</field> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1 @@ |
|||||
|
import chair,period,day,month,autofill_month,salon_book, confirm_booking |
@ -0,0 +1,55 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID,_ |
||||
|
|
||||
|
|
||||
|
class AutoFillWizard(models.TransientModel): |
||||
|
_name = 'salon.auto_fill.wizard' |
||||
|
|
||||
|
name = fields.Char('Name') |
||||
|
month = fields.Integer('Month') |
||||
|
year = fields.Integer('Year') |
||||
|
no_days = fields.Integer('No of Days') |
||||
|
|
||||
|
@api.one |
||||
|
@api.onchange('month') |
||||
|
def onchange_month(self): |
||||
|
days = {1: 31, 2: 29, 3: 31, |
||||
|
4: 30, 5: 31, 6: 30, |
||||
|
7: 31, 8: 31, 9: 30, |
||||
|
10: 31, 11: 30, 12: 31, }.get(self.month) |
||||
|
if days: |
||||
|
self.no_days = days |
||||
|
|
||||
|
@api.one |
||||
|
def act_auto_fill(self): |
||||
|
if self.name: |
||||
|
month_name = self.name |
||||
|
else: |
||||
|
month_name = 'Untitled Month'+str(self.id) |
||||
|
times_list = [] |
||||
|
for Each_Time in self.env['salon.period'].search([('day_id', '=', None)]): |
||||
|
time_line_list = [] |
||||
|
for Each_Chair in self.env['salon.chair'].search([]): |
||||
|
time_line_list.append((0, 0, {'chair_id': Each_Chair.id})) |
||||
|
times_list.append((0, 0, {'name': Each_Time.name, |
||||
|
'period_type': Each_Time.period_type, |
||||
|
'off_reason': Each_Time.off_reason, |
||||
|
'chair_lines': time_line_list})) |
||||
|
days_list = [] |
||||
|
for day_count in range(1, self.no_days+1): |
||||
|
day_line = {'name': day_count, |
||||
|
'period_lines': times_list} |
||||
|
days_list.append((0, 0, day_line)) |
||||
|
|
||||
|
month_values = {'name': month_name, |
||||
|
'month': self.month, |
||||
|
'year': self.year, |
||||
|
'day_lines': days_list} |
||||
|
|
||||
|
month_obj = self.pool.get('salon.month') |
||||
|
month_obj.create(self._cr, self._uid, month_values) |
||||
|
|
||||
|
|
||||
|
@api.one |
||||
|
def close_auto_fill(self): |
||||
|
pass |
||||
|
|
@ -0,0 +1,14 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID |
||||
|
|
||||
|
|
||||
|
class Chairs(models.Model): |
||||
|
_name = 'salon.chair' |
||||
|
|
||||
|
name = fields.Char() |
||||
|
related_employee = fields.Many2one('hr.employee', string='Related Employee') |
||||
|
|
||||
|
_sql_constraints = [ |
||||
|
('name_unique', 'unique(name)', 'This chair is already exist !'), |
||||
|
('related_employee_unique', 'unique(related_employee)', 'This person was reserved for another chair !')] |
||||
|
|
||||
|
|
@ -0,0 +1,78 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID,_ |
||||
|
from openerp.osv import fields, osv |
||||
|
|
||||
|
|
||||
|
class SaleOrder(models.Model): |
||||
|
_inherit = 'sale.order' |
||||
|
|
||||
|
def action_wait(self, cr, uid, ids, context=None): |
||||
|
context = context or {} |
||||
|
for o in self.browse(cr, uid, ids): |
||||
|
if not any(line.state != 'cancel' for line in o.order_line): |
||||
|
raise osv.except_osv(_('Error!'),_('You cannot confirm a this booking which has no line.')) |
||||
|
noprod = self.test_no_product(cr, uid, o, context) |
||||
|
if (o.order_policy == 'manual') or noprod: |
||||
|
self.write(cr, uid, [o.id], {'state': 'manual', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)}) |
||||
|
# ================================================================= |
||||
|
booking_no = o.name |
||||
|
values = self.get_values_booking(cr, uid, ids, context)[0] |
||||
|
for Each_Day in values['month'].day_lines: |
||||
|
if Each_Day.id == values['day'].id: |
||||
|
for Each_Time in Each_Day.period_lines: |
||||
|
if Each_Time.id == values['time'].id: |
||||
|
for Each_Time_Line in Each_Time.chair_lines: |
||||
|
if Each_Time_Line.chair_id.id == values['chair'].id: |
||||
|
print Each_Day.name, Each_Time.name, Each_Time_Line.chair_id.name |
||||
|
if Each_Time_Line.booked: |
||||
|
raise osv.except_osv(_('Booking Failed !'),_('Mismatch in booking, this chair may be already booked.')) |
||||
|
else: |
||||
|
print 'nooooooooooooo' |
||||
|
cr.execute("UPDATE salon_period_line SET partner_id = %s,book_no = %s where period_id = %s and chair_id = %s", (str(values['partner'].id), booking_no, str(values['time'].id), str(values['chair'].id))) |
||||
|
# ================================================================= |
||||
|
else: |
||||
|
self.write(cr, uid, [o.id], {'state': 'progress', 'date_confirm': fields.date.context_today(self, cr, uid, context=context)}) |
||||
|
# ================================================================= |
||||
|
booking_no = o.name |
||||
|
values = self.get_values_booking(cr, uid, ids, context)[0] |
||||
|
for Each_Day in values['month'].day_lines: |
||||
|
if Each_Day.id == values['day'].id: |
||||
|
for Each_Time in Each_Day.period_lines: |
||||
|
if Each_Time.id == values['time'].id: |
||||
|
for Each_Time_Line in Each_Time.chair_lines: |
||||
|
if Each_Time_Line.chair_id.id == values['chair'].id: |
||||
|
print Each_Day.name, Each_Time.name, Each_Time_Line.chair_id.name |
||||
|
if Each_Time_Line.booked: |
||||
|
raise osv.except_osv(_('Booking Failed !'),_('Mismatch in booking, this chair may be already booked.')) |
||||
|
else: |
||||
|
print 'nooooooooooooo' |
||||
|
cr.execute("UPDATE salon_period_line SET partner_id = %s,book_no = %s where period_id = %s and chair_id = %s", (str(values['partner'].id), booking_no, str(values['time'].id), str(values['chair'].id))) |
||||
|
# ================================================================= |
||||
|
self.pool.get('sale.order.line').button_confirm(cr, uid, [x.id for x in o.order_line if x.state != 'cancel']) |
||||
|
|
||||
|
return True |
||||
|
|
||||
|
@api.one |
||||
|
def get_values_booking(self): |
||||
|
return {'month': self.for_month, |
||||
|
'day': self.for_day, |
||||
|
'time': self.for_time, |
||||
|
'chair': self.char_id, |
||||
|
'partner': self.partner_id} |
||||
|
|
||||
|
|
||||
|
def action_button_confirm(self, cr, uid, ids, context=None): |
||||
|
# ====================================== |
||||
|
# values = self.get_values_booking(cr, uid, ids, context)[0] |
||||
|
# cr.execute("UPDATE salon_period_line SET partner_id = %s where period_id = %s and chair_id = %s", (str(values['partner'].id), str(values['time'].id), str(values['chair'].id))) |
||||
|
|
||||
|
# ====================================== |
||||
|
if not context: |
||||
|
context = {} |
||||
|
assert len(ids) == 1, 'This option should only be used for a single id at a time.' |
||||
|
self.signal_workflow(cr, uid, ids, 'order_confirm') |
||||
|
if context.get('send_email'): |
||||
|
self.force_quotation_send(cr, uid, ids, context=context) |
||||
|
return True |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,88 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID,_ |
||||
|
|
||||
|
|
||||
|
class Days(models.Model): |
||||
|
_name = 'salon.day' |
||||
|
_rec_name = 'display_booked' |
||||
|
|
||||
|
name = fields.Integer('Day') |
||||
|
day_type = fields.Selection([('on', 'On'), ('off', 'Off')], default='on', string='On/Off') |
||||
|
off_reason = fields.Char() |
||||
|
period_lines = fields.One2many('salon.period', 'day_id') |
||||
|
month_id = fields.Many2one('salon.month') |
||||
|
|
||||
|
@api.one |
||||
|
def _get_booked(self): |
||||
|
count = 0 |
||||
|
total = 0 |
||||
|
for Each_Line in self.period_lines: |
||||
|
if Each_Line.period_type == 'on': |
||||
|
if Each_Line.booked: |
||||
|
count += 1 |
||||
|
total += 1 |
||||
|
else: |
||||
|
total += 1 |
||||
|
|
||||
|
if count < total: |
||||
|
self.booked = False |
||||
|
else: |
||||
|
self.booked = True |
||||
|
|
||||
|
booked = fields.Boolean('Fully Booked', compute='_get_booked') |
||||
|
|
||||
|
|
||||
|
@api.one |
||||
|
def _get_display_booked(self): |
||||
|
count = 0 |
||||
|
for Each_Line in self.period_lines: |
||||
|
if Each_Line.booked: |
||||
|
count += 1 |
||||
|
if count < len(self.period_lines): |
||||
|
self.display_booked = str(self.name) |
||||
|
else: |
||||
|
self.display_booked = str(self.name) + '- Fully Booked' |
||||
|
|
||||
|
display_booked = fields.Char(compute='_get_display_booked') |
||||
|
|
||||
|
# @api.one |
||||
|
# def _get_day_stat(self): |
||||
|
# self.day_stat = self.days.day_type |
||||
|
# day_stat = fields.Char(compute='_get_day_stat', string='On/Off') |
||||
|
|
||||
|
|
||||
|
|
||||
|
# |
||||
|
# day_stat = fields.Selection([('on', 'On'), ('off', 'Off')], default='on') |
||||
|
|
||||
|
# period_lines = fields.One2many('salon.day.line', 'day_id') |
||||
|
# |
||||
|
# _sql_constraints = [ |
||||
|
# ('name_unique', 'unique(name)', 'This day is already exist !')] |
||||
|
# |
||||
|
# @api.one |
||||
|
# def get_day(self): |
||||
|
# if self.name >0 and self.name <= 31: |
||||
|
# return True |
||||
|
# else: |
||||
|
# return False |
||||
|
# |
||||
|
# def check_day_valid(self, cr, uid, ids, context=None): |
||||
|
# return self.get_day(cr, uid, ids, context)[0] |
||||
|
# |
||||
|
# _constraints = [ |
||||
|
# (check_day_valid, 'You created an invalid day', ['name']), |
||||
|
# ] |
||||
|
# |
||||
|
# |
||||
|
# class DayLines(models.Model): |
||||
|
# _name = 'salon.day.line' |
||||
|
# |
||||
|
# period_id = fields.Many2one('salon.period', string='Time') |
||||
|
# # @api.one |
||||
|
# # def _get_period_stat(self): |
||||
|
# # self.period_stat = self.period_id.period_type |
||||
|
# |
||||
|
# # period_stat = fields.Char(compute='_get_period_stat', string='On/Off') |
||||
|
# day_id = fields.Many2one('salon.day') |
||||
|
# period_stat = fields.Selection([('on', 'On'), ('off', 'Off')], default='on') |
||||
|
# |
@ -0,0 +1,112 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID |
||||
|
|
||||
|
|
||||
|
class Months(models.Model): |
||||
|
_name = 'salon.month' |
||||
|
_rec_name = 'display_booked' |
||||
|
|
||||
|
name = fields.Char('Name') |
||||
|
|
||||
|
_sql_constraints = [ |
||||
|
('name_unique', 'unique(name)', 'This month is already exist !')] |
||||
|
|
||||
|
|
||||
|
month = fields.Integer('Month') |
||||
|
year = fields.Integer('Year') |
||||
|
day_lines = fields.One2many('salon.day', 'month_id') |
||||
|
|
||||
|
@api.one |
||||
|
def _get_booked(self): |
||||
|
count = 0 |
||||
|
total = 0 |
||||
|
for Each_Day in self.day_lines: |
||||
|
if Each_Day.day_type == 'on': |
||||
|
if Each_Day.booked: |
||||
|
count += 1 |
||||
|
total += 1 |
||||
|
else: |
||||
|
total += 1 |
||||
|
|
||||
|
if count < total: |
||||
|
self.booked = False |
||||
|
else: |
||||
|
self.booked = True |
||||
|
|
||||
|
# print 'count', count |
||||
|
# print 'total', total |
||||
|
# |
||||
|
# |
||||
|
# for Each_Day in self.day_lines: |
||||
|
# if Each_Day.booked: |
||||
|
# count += 1 |
||||
|
# if count < len(self.day_lines): |
||||
|
# self.booked = False |
||||
|
# else: |
||||
|
# self.booked = True |
||||
|
|
||||
|
booked = fields.Boolean('Fully Booked', compute='_get_booked', default=False) |
||||
|
|
||||
|
@api.one |
||||
|
def _get_display_booked(self): |
||||
|
count = 0 |
||||
|
for Each_Day in self.day_lines: |
||||
|
if Each_Day.booked: |
||||
|
count += 1 |
||||
|
if count < len(self.day_lines): |
||||
|
self.display_booked = str(self.name) |
||||
|
else: |
||||
|
self.display_booked = str(self.name) + ' - Fully Booked' |
||||
|
|
||||
|
display_booked = fields.Char(compute='_get_display_booked') |
||||
|
@api.one |
||||
|
def _get_month_show(self): |
||||
|
if self.month == 1: |
||||
|
self.month_show = 'JAN' |
||||
|
elif self.month == 2: |
||||
|
self.month_show = 'FEB' |
||||
|
elif self.month == 3: |
||||
|
self.month_show = 'MAR' |
||||
|
elif self.month == 4: |
||||
|
self.month_show = 'APR' |
||||
|
elif self.month == 5: |
||||
|
self.month_show = 'MAY' |
||||
|
elif self.month == 6: |
||||
|
self.month_show = 'JUN' |
||||
|
elif self.month == 7: |
||||
|
self.month_show = 'JUL' |
||||
|
elif self.month == 8: |
||||
|
self.month_show = 'AUG' |
||||
|
elif self.month == 9: |
||||
|
self.month_show = 'SEP' |
||||
|
elif self.month == 10: |
||||
|
self.month_show = 'OCT' |
||||
|
elif self.month == 11: |
||||
|
self.month_show = 'NOV' |
||||
|
elif self.month == 12: |
||||
|
self.month_show = 'DEC' |
||||
|
else: |
||||
|
self.month_show = 'None' |
||||
|
month_show = fields.Char(compute='_get_month_show') |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
# day_lines = fields.One2many('salon.month.line', 'month_id') |
||||
|
# |
||||
|
# |
||||
|
# class MonthLines(models.Model): |
||||
|
# _name = 'salon.month.line' |
||||
|
# |
||||
|
# days = fields.Many2one('salon.day') |
||||
|
# month_id = fields.Many2one('salon.month') |
||||
|
# |
||||
|
# # @api.one |
||||
|
# # def _get_day_stat(self): |
||||
|
# # self.day_stat = self.days.day_type |
||||
|
# # day_stat = fields.Char(compute='_get_day_stat', string='On/Off') |
||||
|
# |
||||
|
# day_stat = fields.Selection([('on', 'On'), ('off', 'Off')], default='on') |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,83 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID,_ |
||||
|
from openerp.http import request |
||||
|
|
||||
|
|
||||
|
class Period(models.Model): |
||||
|
_name = 'salon.period' |
||||
|
_rec_name = 'display_booked' |
||||
|
|
||||
|
name = fields.Float('Time') |
||||
|
|
||||
|
# _sql_constraints = [ |
||||
|
# ('name_unique', 'unique(name)', 'This time is already exist !')] |
||||
|
|
||||
|
chair_lines = fields.One2many('salon.period.line', 'period_id') |
||||
|
period_type = fields.Selection([('on', 'On'), ('off', 'Off')], default='on', string='On/Off') |
||||
|
off_reason = fields.Char() |
||||
|
day_id = fields.Many2one('salon.day') |
||||
|
|
||||
|
@api.one |
||||
|
def _get_booked(self): |
||||
|
count = 0 |
||||
|
for Each_Chair in self.chair_lines: |
||||
|
if Each_Chair.partner_id.id: |
||||
|
count += 1 |
||||
|
if count < len(self.chair_lines): |
||||
|
self.booked = False |
||||
|
else: |
||||
|
self.booked = True |
||||
|
booked = fields.Boolean('Fully Booked', compute='_get_booked') |
||||
|
|
||||
|
@api.one |
||||
|
def _get_display_booked(self): |
||||
|
count = 0 |
||||
|
for Each_Chair in self.chair_lines: |
||||
|
if Each_Chair.partner_id.id: |
||||
|
count += 1 |
||||
|
if count < len(self.chair_lines): |
||||
|
self.display_booked = str(self.name) |
||||
|
else: |
||||
|
self.display_booked = str(self.name) + ' -Fully Booked' |
||||
|
|
||||
|
|
||||
|
|
||||
|
display_booked = fields.Char(compute='_get_display_booked') |
||||
|
# @api.onchange('chair_lines') |
||||
|
# def unique_chair(self): |
||||
|
# # GET VALUE TO CHILD CHAIR |
||||
|
# selected_chair = str(request.session.get('onchange_chair_selected')) |
||||
|
# request.session['onchange_chair_selected'] = None |
||||
|
# already_exist = 0 |
||||
|
# for Each_Chair in self.chair_lines: |
||||
|
# if Each_Chair.chair_id.name == selected_chair: |
||||
|
# already_exist += 1 |
||||
|
# if already_exist >= 2: |
||||
|
# return {'warning': { |
||||
|
# 'title': _('Constraint Error'), |
||||
|
# 'message': 'This chair is already selected for this period', |
||||
|
# }} |
||||
|
|
||||
|
|
||||
|
class PeriodLine(models.Model): |
||||
|
_name = 'salon.period.line' |
||||
|
|
||||
|
chair_id = fields.Many2one('salon.chair', string='Chair') |
||||
|
period_id = fields.Many2one('salon.period') |
||||
|
partner_id = fields.Many2one('res.partner', string='Customer') |
||||
|
|
||||
|
@api.one |
||||
|
def _get_related_emp(self): |
||||
|
self.related_employee = self.chair_id.related_employee |
||||
|
related_employee = fields.Many2one('hr.employee', compute='_get_related_emp', string='Dressing Person') |
||||
|
|
||||
|
@api.one |
||||
|
def _get_booked(self): |
||||
|
if self.partner_id: |
||||
|
self.booked = True |
||||
|
else: |
||||
|
self.booked = False |
||||
|
booked = fields.Boolean('Booked', compute='_get_booked') |
||||
|
book_no = fields.Char('Booking No', default=' ') |
||||
|
|
||||
|
|
||||
|
|
@ -0,0 +1,161 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID, _ |
||||
|
from openerp.addons.sale.sale import sale_order |
||||
|
from openerp.http import request |
||||
|
from datetime import timedelta |
||||
|
from dateutil import parser |
||||
|
|
||||
|
|
||||
|
class SaleOrder(models.Model): |
||||
|
_inherit = 'sale.order' |
||||
|
|
||||
|
@api.one |
||||
|
@api.onchange('char_id') |
||||
|
def onchange_chair(self): |
||||
|
self.employee_id = self.char_id.related_employee |
||||
|
|
||||
|
@api.one |
||||
|
@api.onchange('employee_id') |
||||
|
def onchange_employee(self): |
||||
|
have_any = False |
||||
|
for Each_Chair in self.env['salon.chair'].search([]): |
||||
|
if self.employee_id == Each_Chair.related_employee: |
||||
|
have_any = Each_Chair |
||||
|
self.char_id = have_any |
||||
|
|
||||
|
employee_id = fields.Many2one('hr.employee', 'Dressing Person', store=True) |
||||
|
char_id = fields.Many2one('salon.chair', string='Chair') |
||||
|
state = fields.Selection([ |
||||
|
('draft', 'Draft'), |
||||
|
('sent', 'Sent'), |
||||
|
('cancel', 'Cancelled'), |
||||
|
('waiting_date', 'Waiting Schedule'), |
||||
|
('progress', 'Scheduled'), |
||||
|
('manual', 'To Invoice'), |
||||
|
('shipping_except', 'Shipping Exception'), |
||||
|
('invoice_except', 'Invoice Exception'), |
||||
|
('done', 'Done'), |
||||
|
], 'Status', readonly=True, copy=False, help="Gives the status of the quotation or sales order.\ |
||||
|
\nThe exception status is automatically set when a cancel operation occurs \ |
||||
|
in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception).\nThe 'Waiting Schedule' status is set when the invoice is confirmed\ |
||||
|
but waiting for the scheduler to run on the order date.", select=True) |
||||
|
name = fields.Char('Order Reference', required=True, copy=False, |
||||
|
readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, select=True) |
||||
|
order_line = fields.One2many('sale.order.line', 'order_id', 'Items', readonly=True, states={'draft': [('readonly', False)], 'sent': [('readonly', False)]}, copy=True) |
||||
|
|
||||
|
@api.onchange('name') |
||||
|
def onchange_name(self): |
||||
|
request.session['name_schedule'] = self.name |
||||
|
|
||||
|
def create(self, cr, uid, vals, context=None): |
||||
|
if context is None: |
||||
|
context = {} |
||||
|
if vals.get('name', '/') == '/': |
||||
|
vals['name'] = self.pool.get('ir.sequence').get(cr, uid, 'sale.order', context=context) or '/' |
||||
|
# ==================================================================================== |
||||
|
vals['name'] = vals['name'].replace('SO', 'NO-') |
||||
|
if str(request.session.get('name_schedule')) == '/': |
||||
|
vals['name'] = str(vals['name']) |
||||
|
else: |
||||
|
vals['name'] = str(vals['name']) + ' ' + str(request.session.get('name_schedule')) |
||||
|
request.session['name_schedule'] = None |
||||
|
# ==================================================================================== |
||||
|
if vals.get('partner_id') and any(f not in vals for f in ['partner_invoice_id', 'partner_shipping_id', 'pricelist_id', 'fiscal_position']): |
||||
|
defaults = self.onchange_partner_id(cr, uid, [], vals['partner_id'], context=context)['value'] |
||||
|
if not vals.get('fiscal_position') and vals.get('partner_shipping_id'): |
||||
|
delivery_onchange = self.onchange_delivery_id(cr, uid, [], vals.get('company_id'), None, vals['partner_id'], vals.get('partner_shipping_id'), context=context) |
||||
|
defaults.update(delivery_onchange['value']) |
||||
|
vals = dict(defaults, **vals) |
||||
|
ctx = dict(context or {}, mail_create_nolog=True) |
||||
|
new_id = super(sale_order, self).create(cr, uid, vals, context=ctx) |
||||
|
self.message_post(cr, uid, [new_id], body=_("Quotation created"), context=ctx) |
||||
|
return new_id |
||||
|
|
||||
|
@api.one |
||||
|
def get_warning(self): |
||||
|
if self.for_month.booked: |
||||
|
self.for_month = False |
||||
|
self.month_state_show = ' ' \ |
||||
|
' ' \ |
||||
|
'Sorry, this month is fully booked' |
||||
|
else: |
||||
|
self.month_state_show = '' |
||||
|
|
||||
|
@api.one |
||||
|
def get_warning_for_day(self): |
||||
|
if self.for_day.booked: |
||||
|
self.for_day = False |
||||
|
self.month_state_show = ' ' \ |
||||
|
' ' \ |
||||
|
'Sorry, this day is fully booked' |
||||
|
else: |
||||
|
self.month_state_show = ' ' |
||||
|
|
||||
|
@api.one |
||||
|
def get_warning_for_time(self): |
||||
|
if self.for_time.booked: |
||||
|
self.for_time = False |
||||
|
self.month_state_show = ' ' \ |
||||
|
' ' \ |
||||
|
'Sorry, this time is fully booked' |
||||
|
else: |
||||
|
self.month_state_show = ' ' |
||||
|
@api.one |
||||
|
def get_selected_month(self): |
||||
|
return self.for_month.id |
||||
|
|
||||
|
@api.onchange('for_month') |
||||
|
def onchange_month(self): |
||||
|
# ====clear=other=fields========= |
||||
|
self.for_day = False |
||||
|
self.char_id = False |
||||
|
self.for_time = False |
||||
|
# =============================== |
||||
|
self.get_warning() |
||||
|
return {'domain': {'for_day': [('month_id', '=', self.get_selected_month()), |
||||
|
('day_type', '=', 'on'), |
||||
|
('booked', '=', False)]}} |
||||
|
|
||||
|
@api.one |
||||
|
def get_selected_day(self): |
||||
|
return self.for_day.id |
||||
|
|
||||
|
@api.onchange('for_day') |
||||
|
def onchange_day(self): |
||||
|
# ===Clear=other=fields======= |
||||
|
self.char_id = False |
||||
|
self.for_time = False |
||||
|
# ============================ |
||||
|
self.get_warning_for_day() |
||||
|
# for i in self.env['salon.period'].search([]): |
||||
|
# if i.day_id.id == False: |
||||
|
# print 'kkkkkkkk' |
||||
|
selected_day = self.get_selected_day() |
||||
|
if selected_day[0]: |
||||
|
print '' |
||||
|
else: |
||||
|
selected_day = -1 |
||||
|
|
||||
|
return {'domain': {'for_time': [('day_id', '=', selected_day), ('period_type', '=', 'on')]}} |
||||
|
|
||||
|
@api.one |
||||
|
def get_selected_time(self): |
||||
|
return self.for_time |
||||
|
|
||||
|
@api.onchange('for_time') |
||||
|
def onchange_time(self): |
||||
|
# ===Clear=other=fields======= |
||||
|
self.char_id = False |
||||
|
# ============================ |
||||
|
self.get_warning_for_time() |
||||
|
chair_ids = [] |
||||
|
for Each_Period_line in self.get_selected_time()[0].chair_lines: |
||||
|
if Each_Period_line.booked: |
||||
|
chair_ids.append(Each_Period_line.chair_id.id) |
||||
|
return {'domain': {'char_id': [('id', 'not in', chair_ids)]}} |
||||
|
|
||||
|
|
||||
|
created_domain = [('booked', '=', False)] |
||||
|
for_month = fields.Many2one('salon.month', domain=created_domain) |
||||
|
for_day = fields.Many2one('salon.day', domain=[('month_id', '=', -1)]) |
||||
|
for_time = fields.Many2one('salon.period', domain=[('day_id', 'in', [-69]), [('day_id', '!=', None)]]) |
||||
|
month_state_show = fields.Char(default=' ') |
|
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 31 KiB |
@ -0,0 +1,129 @@ |
|||||
|
<section class="oe_container"> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<h2 class="oe_slogan">Schedule days for salon</h2> |
||||
|
<h3 class="oe_slogan">Handling more than one chair.</h3> |
||||
|
|
||||
|
<div class="oe_span6"> |
||||
|
☛ Create chairs. |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="chair_under_conf.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="chairs.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
☛ Click Times menu to create Periods for a day. |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="Times.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
☛ Schedule a Month using Auto-Filled Month . |
||||
|
It generates a month that filled days, period and chairs automatically. |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="auto_fill.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
☛ Go to Schedule month menu, you can edit days, time and chair.</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="schedule_month.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
☛ Mark to identify the month is fully booked.</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="month_booked.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
☛ 'Schedule booking' menu to perform the booking. |
||||
|
After adding month, days, time, and chair click confirm button.<br/> |
||||
|
To see booked, go to the corresponding month, day, time and chair |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="oe_row oe_spaced"> |
||||
|
<div class="oe_span6"> |
||||
|
<div class="oe_demo oe_picture oe_screenshot"> |
||||
|
<img src="booked.png"> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<!--<div class="oe_span6">--> |
||||
|
<!--<p class='oe_mt32'>--> |
||||
|
<!-- - Create more than Chairs--> |
||||
|
<!--</p>--> |
||||
|
<!--</div>--> |
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
|
<!--<div class="oe_span6">--> |
||||
|
<!--<div class="oe_demo oe_picture oe_screenshot">--> |
||||
|
<!--<img src="month.png">--> |
||||
|
<!--</div>--> |
||||
|
<!--</div>--> |
||||
|
<!--<div class="oe_span6">--> |
||||
|
<!--<p class='oe_mt32'>--> |
||||
|
<!-- - --> |
||||
|
<!--<br/>--> |
||||
|
<!-- - Set Off days.--> |
||||
|
<!--</p>--> |
||||
|
<!--</div>--> |
||||
|
</section> |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 64 KiB |
After Width: | Height: | Size: 56 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 40 KiB |
@ -0,0 +1,5 @@ |
|||||
|
$(document).ready(function () { |
||||
|
|
||||
|
|
||||
|
}); |
||||
|
|
@ -0,0 +1 @@ |
|||||
|
import sweep |
@ -0,0 +1,25 @@ |
|||||
|
from openerp import models, fields,api,http,SUPERUSER_ID |
||||
|
|
||||
|
|
||||
|
class ProductTemplate(models.Model): |
||||
|
_inherit = 'product.template' |
||||
|
|
||||
|
type = fields.Selection([('consu', 'Consumable'), |
||||
|
('service', 'Service')], |
||||
|
'Product Type', |
||||
|
required=True, |
||||
|
help="Consumable are product where you don't manage stock, a service is a non-material product provided by a company or an individual.", |
||||
|
default='service') |
||||
|
|
||||
|
|
||||
|
class SaleAdvancePaymentInv(models.Model): |
||||
|
_inherit = "sale.advance.payment.inv" |
||||
|
|
||||
|
advance_payment_method =fields.Selection( |
||||
|
[('all', 'Invoice the whole Booking'), ('percentage','Percentage'), ('fixed','Fixed price (deposit)'), |
||||
|
('lines', 'Some Booking lines')], |
||||
|
'What do you want to invoice?', required=True, |
||||
|
help="""Use Invoice the whole sale order to create the final invoice. |
||||
|
Use Percentage to invoice a percentage of the total amount. |
||||
|
Use Fixed Price to invoice a specific amound in advance. |
||||
|
Use Some Order Lines to invoice a selection of the sales order lines.""") |
@ -0,0 +1,17 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!-- FORM [INVOICE]--> |
||||
|
<record id="form_account_invoice_form_inherited" model="ir.ui.view"> |
||||
|
<field name="name">account.invoice.form.inherited</field> |
||||
|
<field name="model">account.invoice</field> |
||||
|
<field name="inherit_id" ref="account.invoice_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//notebook[1]//tree[1]//field[@name='product_id']" position="attributes"> |
||||
|
<attribute name="string">Service</attribute> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</openerp> |
||||
|
|
@ -0,0 +1,87 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--=====================================================--> |
||||
|
<!--SALES [TOP]--> |
||||
|
<!--=====================================================--> |
||||
|
<record model="ir.ui.menu" id="base.menu_base_partner"> |
||||
|
<field name="name">Services</field> |
||||
|
</record> |
||||
|
<!--======================================================--> |
||||
|
<!--=====================================================--> |
||||
|
<!--QUOTATIONS--> |
||||
|
<!--=====================================================--> |
||||
|
<menuitem id="sale.menu_sale_quotations" name="TO-BE-DELETED"/> |
||||
|
<delete model="ir.ui.menu" search="[('name','=','TO-BE-DELETED')]"/> |
||||
|
<!--======================================================--> |
||||
|
<!--=====================================================--> |
||||
|
<!--SALE ORDERS--> |
||||
|
<!--=====================================================--> |
||||
|
<record model="ir.ui.menu" id="sale.menu_sale_order"> |
||||
|
<field name="name">Schedule Booking</field> |
||||
|
</record> |
||||
|
<record id="sale.action_orders" model="ir.actions.act_window"> |
||||
|
<field name="name">Schedule Booking</field> |
||||
|
</record> |
||||
|
<!--=====================================================--> |
||||
|
<!--=====================================================--> |
||||
|
<!--PRODUCTS--> |
||||
|
<!--=====================================================--> |
||||
|
<record model="ir.ui.menu" id="base.menu_product"> |
||||
|
<field name="name">Services</field> |
||||
|
</record> |
||||
|
<!--=====================================================--> |
||||
|
<record model="ir.ui.menu" id="product.menu_product_template_action"> |
||||
|
<field name="name">Services</field> |
||||
|
</record> |
||||
|
<record id="product.product_template_action" model="ir.actions.act_window"> |
||||
|
<field name="name">Services</field> |
||||
|
</record> |
||||
|
<!--=====================================================--> |
||||
|
|
||||
|
<!--=====================================================--> |
||||
|
<!--PRODUCT VARIANTS--> |
||||
|
<!--=====================================================--> |
||||
|
<record model="ir.ui.menu" id="product.menu_products"> |
||||
|
<field name="name">Service Variants</field> |
||||
|
</record> |
||||
|
<record id="product.product_normal_action_sell" model="ir.actions.act_window"> |
||||
|
<field name="name">Service Variants</field> |
||||
|
<field name="context">{"search_default_filter_to_sell":1, "search_default_filter_services":1}</field> |
||||
|
</record> |
||||
|
<!--=====================================================--> |
||||
|
<!--PRODUCT BY CATEGORY--> |
||||
|
<record model="ir.ui.menu" id="product.menu_products_category"> |
||||
|
<field name="name">By Category</field> |
||||
|
</record> |
||||
|
<record id="product.product_category_action" model="ir.actions.act_window"> |
||||
|
<field name="name">By Category</field> |
||||
|
</record> |
||||
|
<!--=====================================================--> |
||||
|
|
||||
|
<!--=====================================================--> |
||||
|
<!--hide SUPPLIERS in Invoicing--> |
||||
|
<!--STEP 1: create a invisible group--> |
||||
|
<record id="make_invisible" model="res.groups"> |
||||
|
<field name="name">Invisible (Developer must keep empty users)</field> |
||||
|
</record> |
||||
|
<!--STEP 2: add group to menu--> |
||||
|
<menuitem id="account.menu_finance_payables" |
||||
|
groups="make_invisible" |
||||
|
name="Suppliers" |
||||
|
parent="account.menu_finance" |
||||
|
sequence="3"/> |
||||
|
|
||||
|
<!--<delete model="ir.ui.menu" search="[('name','=','TO-BE-DELETED-56321652')]"/>--> |
||||
|
<!--=====================================================--> |
||||
|
<!--=================================--> |
||||
|
<!--HUMAN RESOURCES [TOP]--> |
||||
|
<!--===================================--> |
||||
|
<menuitem name="Employees" |
||||
|
id="hr.menu_hr_root" |
||||
|
groups="base.group_hr_manager,base.group_hr_user,base.group_user" |
||||
|
sequence="90"/> |
||||
|
<!--======================================--> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,38 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--SEARCH [PRODUCT]--> |
||||
|
<record id="product.product_template_search_view" model="ir.ui.view"> |
||||
|
<field name="name">product.template.search</field> |
||||
|
<field name="model">product.template</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<search string="Product"> |
||||
|
<field name="name" string="Product" filter_domain="['|',('default_code','ilike',self),('name','ilike',self)]"/> |
||||
|
<filter string="Services" |
||||
|
name="filter_services" |
||||
|
icon="terp-accessories-archiver" |
||||
|
domain="[('type','=','service')]"/> |
||||
|
<filter string="Consumable" name="consumable" icon="terp-accessories-archiver" domain="[('type','=','consu')]" help="Consumable products"/> |
||||
|
<separator/> |
||||
|
<filter string="Can be Sold" name="filter_to_sell" icon="terp-accessories-archiver-minus" domain="[('sale_ok','=',1)]"/> |
||||
|
<field name="categ_id" filter_domain="[('categ_id', 'child_of', self)]"/> |
||||
|
<field string="Product Variant" name="product_variant_ids" filter_domain="['|', ('product_variant_ids.name','ilike',self), ('product_variant_ids.attribute_value_ids.attribute_id.name','ilike',self)]"/> |
||||
|
<field name="company_id"/> |
||||
|
<field name="pricelist_id" widget="selection" context="{'pricelist': self}" filter_domain="[]" groups="product.group_sale_pricelist"/> <!-- Keep widget=selection on this field to pass numeric `self` value, which is not the case for regular m2o widgets! --> |
||||
|
<group expand='0' string='Group by...'> |
||||
|
<filter string='Category' domain="[]" context="{'group_by' : 'categ_id'}"/> |
||||
|
<filter string='Default Unit of Measure' icon="terp-mrp" domain="[]" context="{'group_by' : 'uom_id'}"/> |
||||
|
<filter string='Type' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'type'}"/> |
||||
|
</group> |
||||
|
</search> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<!--ACTION [PRODUCTS]--> |
||||
|
<record id="product.product_template_action" model="ir.actions.act_window"> |
||||
|
<field name="context">{"search_default_filter_to_sell":1,"search_default_filter_services":1}</field> |
||||
|
</record> |
||||
|
|
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,214 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--FORM--> |
||||
|
<record model="ir.ui.view" id="sale_order_form_sweep"> |
||||
|
<field name="name">sale.order.form.inherited.sweep</field> |
||||
|
<field name="model">sale.order</field> |
||||
|
<field name="inherit_id" ref="sale.view_order_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//header[1]/button[@name='action_button_confirm']" position="attributes"> |
||||
|
<attribute name="string">Confirm</attribute> |
||||
|
</xpath> |
||||
|
<xpath expr="//header[1]/button[@name='cancel']" position="attributes"> |
||||
|
<attribute name="string">Cancel</attribute> |
||||
|
</xpath> |
||||
|
<xpath expr="//header[1]/button[@name='copy_quotation']" position="attributes"> |
||||
|
<attribute name="string">New Copy</attribute> |
||||
|
</xpath> |
||||
|
<xpath expr="//header[1]/button[@name='action_cancel']" position="attributes"> |
||||
|
<attribute name="string">Cancel</attribute> |
||||
|
</xpath> |
||||
|
<xpath expr="//header[1]/button[@name='invoice_cancel']" position="attributes"> |
||||
|
<attribute name="string">Cancel</attribute> |
||||
|
</xpath> |
||||
|
|
||||
|
|
||||
|
<xpath expr="//h1[1]" position="replace"> |
||||
|
<h1> |
||||
|
<label string=" " attrs="{'invisible': [('state','not in',('draft','sent'))]}"/> |
||||
|
<label string=" " attrs="{'invisible': [('state','in',('draft','sent'))]}"/> |
||||
|
<field name="name" class="oe_inline" readonly="1"/> |
||||
|
</h1> |
||||
|
</xpath> |
||||
|
|
||||
|
<xpath expr="//page[1]" position="attributes"> |
||||
|
<attribute name="string">Booking Items</attribute> |
||||
|
</xpath> |
||||
|
|
||||
|
<xpath expr="//page[1]//tree[1]//field[@name='product_id']" position="attributes"> |
||||
|
<attribute name="string">Service</attribute> |
||||
|
</xpath> |
||||
|
|
||||
|
<xpath expr="//page[2]" position="attributes"> |
||||
|
<attribute name="invisible">1</attribute> |
||||
|
</xpath> |
||||
|
|
||||
|
</field> |
||||
|
</record> |
||||
|
<!--TREE--> |
||||
|
<record id="sale.view_order_tree" model="ir.ui.view"> |
||||
|
<field name="name">sale.order.tree</field> |
||||
|
<field name="model">sale.order</field> |
||||
|
<field name="priority">1</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree string="Sales Orders" fonts="bold:message_unread==True" colors="grey:state=='cancel';blue:state in ('waiting_date','manual');red:state in ('invoice_except','shipping_except')"> |
||||
|
<field name="message_unread" invisible="1"/> |
||||
|
<field name="name" string="Booking Number"/> |
||||
|
<field name="date_order"/> |
||||
|
<field name="partner_id"/> |
||||
|
<field name="user_id" string="Scheduled By"/> |
||||
|
<field name="amount_total" sum="Total Tax Included"/> |
||||
|
<field name="state"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
<!-- REPORT--> |
||||
|
<template id="report_booking_document"> |
||||
|
<t t-call="report.external_layout"> |
||||
|
<div class="page"> |
||||
|
<div class="oe_structure"/> |
||||
|
<div class="row"> |
||||
|
<div class="col-xs-6"> |
||||
|
<strong t-if="o.partner_shipping_id == o.partner_invoice_id">Invoice and Customer address:</strong> |
||||
|
<strong t-if="o.partner_shipping_id != o.partner_invoice_id">Invoice address:</strong> |
||||
|
<div t-field="o.partner_invoice_id" |
||||
|
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true}'/> |
||||
|
<p t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat"/></p> |
||||
|
<div t-if="o.partner_shipping_id != o.partner_invoice_id" class="mt8"> |
||||
|
<strong>Customer address:</strong> |
||||
|
<div t-field="o.partner_shipping_id" |
||||
|
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true}'/> |
||||
|
<p t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat"/></p> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-xs-5 col-xs-offset-1"> |
||||
|
<div t-field="o.partner_id" |
||||
|
t-field-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}' /> |
||||
|
</div> |
||||
|
</div> |
||||
|
<h2> |
||||
|
<span t-if="o.state not in ['draft','sent']">Booking No </span> |
||||
|
<span t-if="o.state in ['draft','sent']">Booking No </span> |
||||
|
<span t-field="o.name"/> |
||||
|
</h2> |
||||
|
<div class="row mt32 mb32" id="informations"> |
||||
|
<div t-if="o.client_order_ref" class="col-xs-3"> |
||||
|
<strong>Your Reference:</strong> |
||||
|
<p t-field="o.client_order_ref"/> |
||||
|
</div> |
||||
|
<div t-if="o.date_order" class="col-xs-3"> |
||||
|
<strong t-if="o.state not in ['draft','sent']">Date:</strong> |
||||
|
<strong t-if="o.state in ['draft','sent']">Date:</strong> |
||||
|
<p t-field="o.date_order"/> |
||||
|
</div> |
||||
|
<div t-if="o.user_id.name" class="col-xs-3"> |
||||
|
<strong>Scheduled By: </strong> |
||||
|
<p t-field="o.user_id.name"/></div> |
||||
|
<!--<div t-if="o.payment_term" class="col-xs-3">--> |
||||
|
<!--<strong>Payment Term:</strong>--> |
||||
|
<!--<p t-field="o.payment_term"/>--> |
||||
|
<!--</div>--> |
||||
|
</div> |
||||
|
|
||||
|
<table class="table table-condensed"> |
||||
|
<thead> |
||||
|
<tr> |
||||
|
<th>Booking Item</th> |
||||
|
<th>Taxes</th> |
||||
|
<th class="text-right">Quantity</th> |
||||
|
<th class="text-right">Unit Price</th> |
||||
|
<th groups="sale.group_discount_per_so_line">Disc.(%)</th> |
||||
|
<th class="text-right">Price</th> |
||||
|
</tr> |
||||
|
</thead> |
||||
|
<tbody class="sale_tbody"> |
||||
|
<tr t-foreach="o.order_line" t-as="l"> |
||||
|
<td> |
||||
|
<span t-field="l.name"/> |
||||
|
</td> |
||||
|
<td> |
||||
|
<span t-esc="', '.join(map(lambda x: x.name, l.tax_id))"/> |
||||
|
</td> |
||||
|
<td class="text-right"> |
||||
|
<span t-field="l.product_uom_qty"/> |
||||
|
<span groups="product.group_uom" t-field="l.product_uom"/> |
||||
|
</td> |
||||
|
<td class="text-right"> |
||||
|
<span t-field="l.price_unit"/> |
||||
|
</td> |
||||
|
<td groups="sale.group_discount_per_so_line"> |
||||
|
<span t-field="l.discount"/> |
||||
|
</td> |
||||
|
<td class="text-right"> |
||||
|
<span t-field="l.price_subtotal" |
||||
|
t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</tbody> |
||||
|
</table> |
||||
|
|
||||
|
<div class="row"> |
||||
|
<div class="col-xs-4 pull-right"> |
||||
|
<table class="table table-condensed"> |
||||
|
<tr class="border-black"> |
||||
|
<td><strong>Total Without Taxes</strong></td> |
||||
|
<td class="text-right"> |
||||
|
<span t-field="o.amount_untaxed" |
||||
|
t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr> |
||||
|
<td>Taxes</td> |
||||
|
<td class="text-right"> |
||||
|
<span t-field="o.amount_tax" |
||||
|
t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
<tr class="border-black"> |
||||
|
<td><strong>Total</strong></td> |
||||
|
<td class="text-right"> |
||||
|
<span t-field="o.amount_total" |
||||
|
t-field-options='{"widget": "monetary", "display_currency": "o.pricelist_id.currency_id"}'/> |
||||
|
</td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
<p t-field="o.note" /> |
||||
|
<p t-if="o.payment_term.note"> |
||||
|
<strong>Payment Term:</strong> |
||||
|
<span t-field="o.payment_term.note"/> |
||||
|
</p> |
||||
|
<div class="oe_structure"/> |
||||
|
</div> |
||||
|
</t> |
||||
|
</template> |
||||
|
|
||||
|
|
||||
|
<template id="report_booking"> |
||||
|
<t t-call="report.html_container"> |
||||
|
<t t-foreach="doc_ids" t-as="doc_id"> |
||||
|
<t t-raw="translate_doc(doc_id, doc_model, 'partner_id.lang', 'salon_operation.report_booking_document')"/> |
||||
|
</t> |
||||
|
</t> |
||||
|
</template> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<report |
||||
|
id="sale.report_sale_order" |
||||
|
string="Booking" |
||||
|
model="sale.order" |
||||
|
report_type="qweb-pdf" |
||||
|
file="salon_operation.sweep_sale_order" |
||||
|
name="salon_operation.report_booking" |
||||
|
menu="False" |
||||
|
/> |
||||
|
|
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
||||
|
|
@ -0,0 +1,13 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<template id="assets_frontend" inherit_id="web.assets_backend" name="salon_js_load"> |
||||
|
<xpath expr="." position="inside"> |
||||
|
<script type="text/javascript" src="/salon_operation/static/src/js/salon.js"></script> |
||||
|
</xpath> |
||||
|
</template> |
||||
|
|
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
||||
|
|
@ -0,0 +1,56 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
|
||||
|
<record model="ir.ui.view" id="form_salon_module_month_auto"> |
||||
|
<field name="name">salon.month.form.auto</field> |
||||
|
<field name="model">salon.auto_fill.wizard</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="month"/> |
||||
|
<field name="no_days"/> |
||||
|
<field name="year"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<group> |
||||
|
<p class="oe_grey"> |
||||
|
Click the button 'Schedule' to generate a month that filled automatically. |
||||
|
</p> |
||||
|
</group> |
||||
|
<group> |
||||
|
<group> |
||||
|
<div style="width:200px"> |
||||
|
<button string="Schedule" |
||||
|
name="act_auto_fill" |
||||
|
type="object" |
||||
|
class="oe_highlight"/> |
||||
|
<button string="Close" |
||||
|
name="close_auto_fill" |
||||
|
type="object"/> |
||||
|
</div> |
||||
|
</group> |
||||
|
</group> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--ACTION [AUTO MONTH]--> |
||||
|
<record id="action_auto_month" model="ir.actions.act_window"> |
||||
|
<field name="name">Auto-Filled Month</field> |
||||
|
<field name="res_model">salon.auto_fill.wizard</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">form</field> |
||||
|
<field name="target">new</field> |
||||
|
</record> |
||||
|
<!--MENU [AUTO MONTH]--> |
||||
|
<menuitem id="menu_auto_month" |
||||
|
parent="base.menu_sales" |
||||
|
action="action_auto_month" |
||||
|
sequence="13"/> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
@ -0,0 +1,79 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--KANBAN [CHAIRS]--> |
||||
|
<!--<record id="kanban_salon_module_chair" model="ir.ui.view">--> |
||||
|
<!--<field name="name">salon.chair.kanban</field>--> |
||||
|
<!--<field name="model">salon.chair</field>--> |
||||
|
<!--<field name="arch" type="xml">--> |
||||
|
<!--<kanban>--> |
||||
|
<!--<field name="name"/>--> |
||||
|
<!--<templates>--> |
||||
|
<!--<t t-name="kanban-box">--> |
||||
|
<!--<a type="open">--> |
||||
|
<!--<div style="width: 300px;height:90px;color: navy; background-color: #E0E0E0; border: 2px solid #7C7BAD; padding: 5px;">--> |
||||
|
<!--<center>--> |
||||
|
<!--<h2 style="color:#4C4C4C;">--> |
||||
|
<!--<field name="name"/>--> |
||||
|
<!--</h2>--> |
||||
|
<!--</center>--> |
||||
|
<!--</div>--> |
||||
|
<!--</a>--> |
||||
|
<!--</t>--> |
||||
|
<!--</templates>--> |
||||
|
<!--</kanban>--> |
||||
|
<!--</field>--> |
||||
|
<!--</record>--> |
||||
|
<!--TREE [CHAIRS]--> |
||||
|
<record model="ir.ui.view" id="tree_salon_module_chair"> |
||||
|
<field name="name">salon.chair.tree</field> |
||||
|
<field name="model">salon.chair</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="name"/> |
||||
|
<field name="related_employee" required="1"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--FORM [CHAIRS]--> |
||||
|
<record model="ir.ui.view" id="form_salon_module_chair"> |
||||
|
<field name="name">salon.chair.form</field> |
||||
|
<field name="model">salon.chair</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name" required="1"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="related_employee" required="1"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--ACTION [CHAIRS]--> |
||||
|
<record id="action_chairs" model="ir.actions.act_window"> |
||||
|
<field name="name">Chairs</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">salon.chair</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="context">{}</field> |
||||
|
<field name="domain">[]</field> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to create a new chair. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--MENU [CHAIRS]--> |
||||
|
<menuitem id="menu_chairs" |
||||
|
parent="base.menu_base_config" |
||||
|
action="action_chairs" |
||||
|
sequence="10"/> |
||||
|
</data> |
||||
|
</openerp> |
||||
|
|
@ -0,0 +1,86 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--TREE [DAYS]--> |
||||
|
<record model="ir.ui.view" id="tree_salon_module_day"> |
||||
|
<field name="name">salon.day.tree</field> |
||||
|
<field name="model">salon.day</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree colors="red:day_type=='off'"> |
||||
|
<field name="name"/> |
||||
|
<field name="day_type" widget="radio"/> |
||||
|
<field name="off_reason" attrs="{'invisible':[('day_type','=','on')]}" string="Off Reason"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--FORM [DAYS]--> |
||||
|
<record model="ir.ui.view" id="form_salon_module_day"> |
||||
|
<field name="name">salon.day.form</field> |
||||
|
<field name="model">salon.day</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name" required="1"/> |
||||
|
<field name="booked"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="day_type" widget="radio"/> |
||||
|
<field name="off_reason" attrs="{'invisible':[('day_type','=','on')]}" string="Off Reason"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<notebook> |
||||
|
<page string="Time"> |
||||
|
<field name="period_lines" string="Time"> |
||||
|
<tree colors="red:period_type=='off'" string="Time"> |
||||
|
<field name="name" widget="float_time"/> |
||||
|
<field name="period_type"/> |
||||
|
<field name="off_reason"/> |
||||
|
<field name="booked"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--ACTION [CHAIRS]--> |
||||
|
<!--<record id="action_day" model="ir.actions.act_window">--> |
||||
|
<!--<field name="name">Days</field>--> |
||||
|
<!--<field name="type">ir.actions.act_window</field>--> |
||||
|
<!--<field name="res_model">salon.day</field>--> |
||||
|
<!--<field name="view_type">form</field>--> |
||||
|
<!--<field name="view_mode">tree,form</field>--> |
||||
|
<!--<field name="context">{}</field>--> |
||||
|
<!--<field name="domain">[]</field>--> |
||||
|
<!--<field name="help" type="html">--> |
||||
|
<!--<p class="oe_view_nocontent_create">--> |
||||
|
<!--Click to create a new day.--> |
||||
|
<!--</p>--> |
||||
|
<!--</field>--> |
||||
|
<!--</record>--> |
||||
|
<!--MENU [DAYS]--> |
||||
|
<!--<menuitem id="menu_day"--> |
||||
|
<!--parent="base.menu_base_config"--> |
||||
|
<!--action="action_day"--> |
||||
|
<!--sequence="14"/>--> |
||||
|
|
||||
|
|
||||
|
<!--========================== DAY LINES===============================--> |
||||
|
<!--<record model="ir.ui.view" id="form_salon_module_day_line">--> |
||||
|
<!--<field name="name">salon.day.line.form</field>--> |
||||
|
<!--<field name="model">salon.day.line</field>--> |
||||
|
<!--<field name="arch" type="xml">--> |
||||
|
<!--<form>--> |
||||
|
<!--<group>--> |
||||
|
<!--<field name="period_id" required="1"/>--> |
||||
|
<!--<field name="period_stat" widget="radio"/>--> |
||||
|
<!--</group>--> |
||||
|
<!--</form>--> |
||||
|
<!--</field>--> |
||||
|
<!--</record>--> |
||||
|
</data> |
||||
|
</openerp> |
||||
|
|
@ -0,0 +1,137 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--KANBAN [MONTH]--> |
||||
|
<record id="kanban_salon_module_month" model="ir.ui.view"> |
||||
|
<field name="name">salon.month.kanban</field> |
||||
|
<field name="model">salon.month</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<kanban> |
||||
|
<field name="month"/> |
||||
|
<field name="year"/> |
||||
|
<field name="name"/> |
||||
|
<templates> |
||||
|
<t t-name="kanban-box"> |
||||
|
<a type="open"> |
||||
|
<div> |
||||
|
<div style="background-image: url('/salon_operation/static/src/img/calendar.jpg'); width:204px;height:204px;"> |
||||
|
<center> |
||||
|
<div style="height:40px"> |
||||
|
<div style="height:20px;text-align:right"> |
||||
|
<field name="booked" attrs="{'invisible' : True}"/> |
||||
|
<img src="/salon_operation/static/src/img/tick_gray.png" |
||||
|
width="40" |
||||
|
height="40" |
||||
|
attrs="{'invisible' : [('booked', '=', True)]}"/> |
||||
|
<img src="/salon_operation/static/src/img/tick_green_001.png" |
||||
|
width="40" |
||||
|
height="40" |
||||
|
attrs="{'invisible' : [('booked', '=', False)]}"/> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
<h2 style="color:black;"> |
||||
|
<field name="year" /> |
||||
|
</h2> |
||||
|
<font size="80" style="color:black;"> |
||||
|
<b> |
||||
|
<!--<field name="month"/>--> |
||||
|
<field name="month_show"/> |
||||
|
</b> |
||||
|
</font> |
||||
|
</center> |
||||
|
</div> |
||||
|
</div> |
||||
|
<center> |
||||
|
<field name="name"/> |
||||
|
</center> |
||||
|
</a> |
||||
|
</t> |
||||
|
</templates> |
||||
|
</kanban> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--TREE [MONTH]--> |
||||
|
<record model="ir.ui.view" id="tree_salon_module_month"> |
||||
|
<field name="name">salon.month.tree</field> |
||||
|
<field name="model">salon.month</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree> |
||||
|
<field name="name"/> |
||||
|
<field name="month"/> |
||||
|
<field name="year"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--FORM [MONTH]--> |
||||
|
<record model="ir.ui.view" id="form_salon_module_month"> |
||||
|
<field name="name">salon.month.form</field> |
||||
|
<field name="model">salon.month</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name" required="1"/> |
||||
|
<field name="display_booked" attrs="{'invisible' : True}"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="month" required="1"/> |
||||
|
<field name="year" required="1"/> |
||||
|
<field name="booked"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<notebook> |
||||
|
<page string="Days"> |
||||
|
<field name="day_lines" string="Days"> |
||||
|
<tree colors="red:day_type=='off'"> |
||||
|
<field name="name"/> |
||||
|
<field name="day_type"/> |
||||
|
<field name="off_reason"/> |
||||
|
<field name="booked"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--ACTION [MONTH]--> |
||||
|
<record id="action_month" model="ir.actions.act_window"> |
||||
|
<field name="name">Schedule Month</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">salon.month</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">kanban,tree,form</field> |
||||
|
<field name="context">{}</field> |
||||
|
<field name="domain">[]</field> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to create a new month. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--MENU [MONTH]--> |
||||
|
<menuitem id="menu_month" |
||||
|
parent="base.menu_sales" |
||||
|
action="action_month" |
||||
|
sequence="12"/> |
||||
|
|
||||
|
<!--========================== DAY LINES ==================================--> |
||||
|
<!--<record model="ir.ui.view" id="form_salon_module_month_line">--> |
||||
|
<!--<field name="name">salon.month.line.form</field>--> |
||||
|
<!--<field name="model">salon.month.line</field>--> |
||||
|
<!--<field name="arch" type="xml">--> |
||||
|
<!--<form>--> |
||||
|
<!--<group>--> |
||||
|
<!--<field name="days" required="1"/>--> |
||||
|
<!--<field name="day_stat" widget="radio"/>--> |
||||
|
<!--</group>--> |
||||
|
<!--</form>--> |
||||
|
<!--</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
||||
|
|
@ -0,0 +1,112 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8" ?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--TREE [PERIOD]--> |
||||
|
<record model="ir.ui.view" id="tree_salon_module_period"> |
||||
|
<field name="name">salon.period.tree</field> |
||||
|
<field name="model">salon.period</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<tree colors="red:period_type=='off'"> |
||||
|
<field name="name" widget="float_time"/> |
||||
|
<field name="period_type"/> |
||||
|
<field name="off_reason" string=" " attrs="{'invisible':[('period_type','=','on')]}"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--FORM [PERIOD]--> |
||||
|
<record model="ir.ui.view" id="form_salon_module_period"> |
||||
|
<field name="name">salon.period.form</field> |
||||
|
<field name="model">salon.period</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form> |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="name" required="1" widget="float_time"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="period_type" widget="radio"/> |
||||
|
<field name="off_reason" |
||||
|
attrs="{'invisible':[('period_type','=','on')]}" |
||||
|
string="Off Reason"/> |
||||
|
<field name="booked"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
<notebook> |
||||
|
<page string="Chairs"> |
||||
|
<field name="chair_lines" string="Chairs"> |
||||
|
<tree> |
||||
|
<field name="chair_id"/> |
||||
|
<field name="partner_id" string="Booked By"/> |
||||
|
<field name="related_employee"/> |
||||
|
<field name="booked"/> |
||||
|
<field name="book_no"/> |
||||
|
</tree> |
||||
|
</field> |
||||
|
</page> |
||||
|
</notebook> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--ACTION [PERIOD]--> |
||||
|
<record id="action_period" model="ir.actions.act_window"> |
||||
|
<field name="name">Times</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">salon.period</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="context">{}</field> |
||||
|
<field name="domain">[('day_id', '=', None)]</field> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to create a new period. |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--MENU [PERIOD]--> |
||||
|
<menuitem id="menu_period" |
||||
|
parent="base.menu_base_config" |
||||
|
action="action_period" |
||||
|
sequence="12"/> |
||||
|
|
||||
|
|
||||
|
<!--========================= PERIOD LINE ===============================--> |
||||
|
|
||||
|
|
||||
|
<!--TREE [PERIOD]--> |
||||
|
<!--<record model="ir.ui.view" id="tree_salon_module_period_line">--> |
||||
|
<!--<field name="name">salon.period.tree</field>--> |
||||
|
<!--<field name="model">salon.period.line</field>--> |
||||
|
<!--<field name="arch" type="xml">--> |
||||
|
<!--<tree>--> |
||||
|
<!--<field name="chair_id"/>--> |
||||
|
<!--</tree>--> |
||||
|
<!--</field>--> |
||||
|
<!--</record>--> |
||||
|
<!--FORM [PERIOD-LINE]--> |
||||
|
<record model="ir.ui.view" id="form_salon_module_period_line"> |
||||
|
<field name="name">salon.period.form</field> |
||||
|
<field name="model">salon.period.line</field> |
||||
|
<field name="arch" type="xml"> |
||||
|
<form > |
||||
|
<sheet> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="partner_id" domain="[('customer','=',True)]"/> |
||||
|
<field name="chair_id"/> |
||||
|
<field name="related_employee"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<field name="booked"/> |
||||
|
<field name="book_no" readonly="1"/> |
||||
|
</group> |
||||
|
</group> |
||||
|
</sheet> |
||||
|
</form> |
||||
|
</field> |
||||
|
</record> |
||||
|
|
||||
|
</data> |
||||
|
</openerp> |
||||
|
|
@ -0,0 +1,118 @@ |
|||||
|
<?xml version="1.0" encoding="utf-8"?> |
||||
|
<openerp> |
||||
|
<data> |
||||
|
<!--<record id="sale_order_inherited_010521355" model="ir.ui.view">--> |
||||
|
<!--<field name="name">sale.order.book.form.56351</field>--> |
||||
|
<!--<field name="model">sale.order</field>--> |
||||
|
<!--<field name="inherit_id" ref="sale.view_order_form"/>--> |
||||
|
<!--<field name="arch" type="xml">--> |
||||
|
<!--<field name="arch" type="xml">--> |
||||
|
<!--<xpath expr="//field[@name='partner_id']" position="after">--> |
||||
|
<!--<group>--> |
||||
|
<!--<field name="for_month" attrs="{'domain' : [('booked', '=', False)]}"/>--> |
||||
|
<!--<field name="for_month" required="1"--> |
||||
|
<!--string="Month"--> |
||||
|
<!--domain="[('booked','=',False)]"--> |
||||
|
<!--options="{'no_quick_create':True,'no_create_edit':True}"/>--> |
||||
|
<!--<field name="for_day" required="1" string="Day" options="{'no_quick_create':True,'no_create_edit':True}"/>--> |
||||
|
<!--<field name="for_time" required="1" string="Time" options="{'no_quick_create':True,'no_create_edit':True}"/>--> |
||||
|
<!--</group>--> |
||||
|
<!--<group>--> |
||||
|
<!--<div>--> |
||||
|
<!--<label for="char_id" string="Chair"/>--> |
||||
|
<!--<field name="char_id"--> |
||||
|
<!--attrs="{'readonly':[('state','not in',('draft'))]}"--> |
||||
|
<!--required="1"--> |
||||
|
<!--style="line-height: 18px;display: block;min-width: 150px;font-weight: bold !important;"/>--> |
||||
|
|
||||
|
<!--<field name="employee_id"--> |
||||
|
<!--readonly="1"--> |
||||
|
<!--attrs="{'readonly':[('state','not in',('draft'))]}"--> |
||||
|
<!--required="1"--> |
||||
|
<!--string=" "/>--> |
||||
|
<!--</div>--> |
||||
|
<!--</group>--> |
||||
|
<!--</xpath>--> |
||||
|
<!--<xpath expr="//field[@name='state']" position="replace">--> |
||||
|
<!--<field name="state"--> |
||||
|
<!--widget="statusbar"--> |
||||
|
<!--statusbar_visible="draft,progress,cancel,done"--> |
||||
|
<!--statusbar_colors='{"invoice_except":"red","waiting_date":"blue"}'/>--> |
||||
|
<!--</xpath>--> |
||||
|
<!--</field>--> |
||||
|
|
||||
|
<!--</field>--> |
||||
|
<!--</record>--> |
||||
|
|
||||
|
|
||||
|
|
||||
|
<!--FORM [SALE-ORDER]--> |
||||
|
<record model="ir.ui.view" id="sale_order_form_0055114"> |
||||
|
<field name="name">sale.order.form.inherited.book</field> |
||||
|
<field name="model">sale.order</field> |
||||
|
<field name="inherit_id" ref="sale.view_order_form"/> |
||||
|
<field name="arch" type="xml"> |
||||
|
<xpath expr="//group[1]" position="after"> |
||||
|
<field name="month_state_show" readonly="1" style="color:red"/> |
||||
|
<group> |
||||
|
<group> |
||||
|
<field name="for_month" required="1" |
||||
|
string="Month" |
||||
|
attrs="{'readonly':[('state','not in',('draft'))]}" |
||||
|
options="{'no_quick_create':True,'no_create_edit':True}"/> |
||||
|
<field name="for_day" |
||||
|
required="1" |
||||
|
string="Day" |
||||
|
attrs="{'readonly':[('state','not in',('draft'))]}" |
||||
|
options="{'no_quick_create':True,'no_create_edit':True}"/> |
||||
|
<field name="for_time" |
||||
|
required="1" |
||||
|
string="Time" |
||||
|
attrs="{'readonly':[('state','not in',('draft'))]}" |
||||
|
options="{'no_quick_create':True,'no_create_edit':True}"/> |
||||
|
</group> |
||||
|
<group> |
||||
|
<div> |
||||
|
<label for="char_id" |
||||
|
string="Chair" |
||||
|
style="line-height: 18px;display: block;min-width: 150px;font-weight: bold !important;"/> |
||||
|
<field name="char_id" |
||||
|
attrs="{'readonly':[('state','not in',('draft'))]}" |
||||
|
required="1" /> |
||||
|
|
||||
|
<field name="employee_id" |
||||
|
readonly="1" |
||||
|
attrs="{'readonly':[('state','not in',('draft'))]}" |
||||
|
string=" "/> |
||||
|
|
||||
|
</div> |
||||
|
</group> |
||||
|
</group> |
||||
|
</xpath> |
||||
|
<xpath expr="//field[@name='state']" position="replace"> |
||||
|
<field name="state" |
||||
|
widget="statusbar" |
||||
|
statusbar_visible="draft,progress,cancel,done" |
||||
|
statusbar_colors='{"invoice_except":"red","waiting_date":"blue"}'/> |
||||
|
</xpath> |
||||
|
</field> |
||||
|
</record> |
||||
|
<!--ACTION [SALE-ORDER]--> |
||||
|
<record id="sale.action_orders" model="ir.actions.act_window"> |
||||
|
<field name="name">Sales Orders</field> |
||||
|
<field name="type">ir.actions.act_window</field> |
||||
|
<field name="res_model">sale.order</field> |
||||
|
<field name="view_type">form</field> |
||||
|
<field name="view_mode">tree,form</field> |
||||
|
<field name="search_view_id" ref="sale.view_sales_order_filter"/> |
||||
|
<field name="context">{} |
||||
|
</field> |
||||
|
<field name="domain">[]</field> |
||||
|
<field name="help" type="html"> |
||||
|
<p class="oe_view_nocontent_create"> |
||||
|
Click to schedule |
||||
|
</p> |
||||
|
</field> |
||||
|
</record> |
||||
|
</data> |
||||
|
</openerp> |