summaryrefslogtreecommitdiff
path: root/addons/project_long_term/wizard/project_resource.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/project_long_term/wizard/project_resource.py')
-rw-r--r--addons/project_long_term/wizard/project_resource.py81
1 files changed, 0 insertions, 81 deletions
diff --git a/addons/project_long_term/wizard/project_resource.py b/addons/project_long_term/wizard/project_resource.py
deleted file mode 100644
index c3bc686d980..00000000000
--- a/addons/project_long_term/wizard/project_resource.py
+++ /dev/null
@@ -1,81 +0,0 @@
-import pooler
-import datetime
-
-def timeformat_convert(cr, uid, time_string, context={}):
-# Function to convert input time string:: 8.5 to output time string 8:30
-
- split_list = str(time_string).split('.')
- hour_part = split_list[0]
- mins_part = split_list[1]
- round_mins = int(round(float(mins_part) * 60,-2))
- converted_string = hour_part + ':' + str(round_mins)[0:2]
- return converted_string
-
-def leaves_resource(cr, uid, calendar_id, resource_id=False, resource_calendar=False):
-# To get the leaves for the resource_ids working on phase
-
- pool = pooler.get_pool(cr.dbname)
- resource_leaves_pool = pool.get('resource.calendar.leaves')
- leaves = []
- if resource_id:
- resource_leave_ids = resource_leaves_pool.search(cr, uid, ['|', ('calendar_id','=',calendar_id), ('calendar_id','=',resource_calendar), ('resource_id','=',resource_id)])
- else:
- resource_leave_ids = resource_leaves_pool.search(cr, uid, [('calendar_id','=',calendar_id), ('resource_id','=',False)])
- res_leaves = resource_leaves_pool.read(cr, uid, resource_leave_ids, ['date_from', 'date_to'])
- for leave in range(len(res_leaves)):
- dt_start = datetime.datetime.strptime(res_leaves[leave]['date_from'], '%Y-%m-%d %H:%M:%S')
- dt_end = datetime.datetime.strptime(res_leaves[leave]['date_to'], '%Y-%m-%d %H:%M:%S')
- no = dt_end - dt_start
- [leaves.append((dt_start + datetime.timedelta(days=x)).strftime('%Y-%m-%d')) for x in range(int(no.days + 1))]
- leaves.sort()
- return leaves
-
-def compute_working_calendar(cr, uid, calendar_id):
-# To change the format of working calendar to bring it into 'faces' format
-
- pool = pooler.get_pool(cr.dbname)
- resource_week_pool = pool.get('resource.calendar.week')
- time_range = "8:00-8:00"
- non_working = ""
- wk = {"0":"mon","1":"tue","2":"wed","3":"thu","4":"fri","5":"sat","6":"sun"}
- wk_days = {}
- wk_time = {}
- wktime_list = []
- wktime_cal = []
- week_ids = resource_week_pool.search(cr, uid, [('calendar_id','=',calendar_id)])
- week_obj = resource_week_pool.read(cr, uid, week_ids, ['dayofweek', 'hour_from', 'hour_to'])
-
-# Converting time formats into appropriate format required
-# and creating a list like [('mon', '8:00-12:00'), ('mon', '13:00-18:00')]
- for week in week_obj:
- res_str = ""
- if wk.has_key(week['dayofweek']):
- day = wk[week['dayofweek']]
- wk_days[week['dayofweek']] = wk[week['dayofweek']]
-
- hour_from_str = timeformat_convert(cr, uid, week['hour_from'])
- hour_to_str = timeformat_convert(cr, uid, week['hour_to'])
- res_str = hour_from_str + '-' + hour_to_str
- wktime_list.append((day, res_str))
-
-# Converting it to format like [('mon', '8:00-12:00', '13:00-18:00')]
- for item in wktime_list:
- if wk_time.has_key(item[0]):
- wk_time[item[0]].append(item[1])
- else:
- wk_time[item[0]] = [item[0]]
- wk_time[item[0]].append(item[1])
-
- for k,v in wk_time.items():
- wktime_cal.append(tuple(v))
-
-# For non working days adding [('tue,wed,fri,sat,sun', '8:00-8:00')]
- for k,v in wk_days.items():
- if wk.has_key(k):
- wk.pop(k)
- for v in wk.itervalues():
- non_working += v + ','
- if non_working:
- wktime_cal.append((non_working[:-1], time_range))
-
- return wktime_cal \ No newline at end of file