Vijaykumar Baladaniya has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-bug-1046298-vba into 
lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-1046298-vba/+merge/124901

Hello Sir,

    I have improve the code to resource.calendar for read and write the work 
order. Kindly review the code.

Thanks,
Vijay Baladaniya
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-1046298-vba/+merge/124901
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-bug-1046298-vba.
=== modified file 'resource/resource.py'
--- resource/resource.py	2012-07-13 10:17:51 +0000
+++ resource/resource.py	2012-09-18 12:05:23 +0000
@@ -160,25 +160,26 @@
             maxrecur = 100
             current_hour = dt_from.hour
             while (todo>0) and maxrecur:
-                for (hour_from,hour_to) in [(item['hour_from'], item['hour_to']) for item in hours_by_cal[id] if item['dayofweek'] == str(dt_from.weekday())]:
-                    leave_flag  = False
-                    if (hour_to>current_hour) and (todo>0):
-                        m = max(hour_from, current_hour)
-                        if (hour_to-m)>todo:
-                            hour_to = m+todo
-                        dt_check = dt_from.strftime('%Y-%m-%d')
-                        for leave in dt_leave:
-                            if dt_check == leave:
-                                dt_check = datetime.strptime(dt_check, '%Y-%m-%d') + timedelta(days=1)
-                                leave_flag = True
-                        if leave_flag:
-                            break
-                        else:
-                            d1 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(m)), int((m%1) * 60))
-                            d2 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(hour_to)), int((hour_to%1) * 60))
-                            result.append((d1, d2))
-                            current_hour = hour_to
-                            todo -= (hour_to - m)
+                if hours_by_cal.get(id, False):
+                    for (hour_from,hour_to) in [(item['hour_from'], item['hour_to']) for item in hours_by_cal[id] if item['dayofweek'] == str(dt_from.weekday())]:
+                        leave_flag  = False
+                        if (hour_to>current_hour) and (todo>0):
+                            m = max(hour_from, current_hour)
+                            if (hour_to-m)>todo:
+                                hour_to = m+todo
+                            dt_check = dt_from.strftime('%Y-%m-%d')
+                            for leave in dt_leave:
+                                if dt_check == leave:
+                                    dt_check = datetime.strptime(dt_check, '%Y-%m-%d') + timedelta(days=1)
+                                    leave_flag = True
+                            if leave_flag:
+                                break
+                            else:
+                                d1 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(m)), int((m%1) * 60))
+                                d2 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(hour_to)), int((hour_to%1) * 60))
+                                result.append((d1, d2))
+                                current_hour = hour_to
+                                todo -= (hour_to - m)
                 dt_from += timedelta(days=1)
                 current_hour = 0
                 maxrecur -= 1

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to