def edit_layers(self, visiting_group_id): vgroup = common_couch.getVisitingGroup(holly_couch, visiting_group_id) vgroup_layers = vgroup.get('layers', list()) #...make map of layers from list of layers, keyed on id vgroup_layers_map = dict() for tmp_vgroup_layer in vgroup_layers: vgroup_layers_map[tmp_vgroup_layer['layer_id']] = tmp_vgroup_layer #...get all visiting group that possibly could be mapped vgroups_in_daterange = getVisitingGroupsInDatePeriod(holly_couch, vgroup['from_date'], vgroup['to_date']) #...build data struct for dojo spreadsheet / grid grid_items= list() for tmp_vgroup_row in vgroups_in_daterange: tmp_vgroup = tmp_vgroup_row.doc if tmp_vgroup['_id'] != vgroup['_id']: if tmp_vgroup['_id'] in vgroup_layers_map.keys(): grid_items.append(dict(layer_id=tmp_vgroup['_id'], name=tmp_vgroup['name'], connect=True, colour=vgroup_layers_map[tmp_vgroup['_id']]['colour'] )) # change colours else: grid_items.append(dict(layer_id=tmp_vgroup['_id'], name=tmp_vgroup['name'], connect=False, colour="#fff" )) grid_data = dict(identifier='layer_id', items=grid_items) layer_data = json.dumps(grid_data) return dict(visiting_group=vgroup, layer_data=layer_data, reFormatDate=reFormatDate)
def upcoming(self): """Show an overview of all booking days""" today_date_str = datetime.date.today().strftime('%Y-%m-%d') end_date_str = (datetime.date.today()+datetime.timedelta(5)).strftime('%Y-%m-%d') #today_date_str = '2017-06-10' #end_date_str = '2017-06-20' booking_days = getBookingDays(holly_couch, from_date=today_date_str, to_date=end_date_str) log.debug(str(booking_days)) print '####', booking_days vgroups = getVisitingGroupsInDatePeriod(holly_couch, today_date_str, end_date_str) # TODO: fix view later. get_visiting_groups(from_date=today_date_str, to_date=end_date_str) group_info = dict() bdays = list() for tmp in booking_days: b_day = tmp.doc tmp_date_today_str = b_day['date'] bdays.append(b_day) group_info[tmp_date_today_str] = dict(arrives=[v.doc for v in vgroups if v.doc.get('from_date','') == tmp_date_today_str], leaves=[v.doc for v in vgroups if v.doc.get('to_date','') == tmp_date_today_str], stays=[v.doc for v in vgroups if v.doc.get('to_date','') > tmp_date_today_str and v.doc.get('from_date','') < tmp_date_today_str]) return dict(booking_days=bdays, group_info=group_info, makeDate=getDateObject)
def view_period(self, period=None): # TODO: refactor so we only show visiting groups in time span given by daterange document. if period == '1an': from_date='2011-01-01' to_date='2011-07-16' visiting_groups = [v.doc for v in getVisitingGroupsInDatePeriod(holly_couch, from_date, to_date)] elif period == '2an': from_date='2011-07-17' to_date='2011-08-24' visiting_groups = [v.doc for v in getVisitingGroupsInDatePeriod(holly_couch, from_date, to_date)] else: from_date='' to_date='' visiting_groups = [v.doc for v in getAllVisitingGroups(holly_couch, from_date, to_date)] v_group_map = dict() #self.makeRemainingVisitingGroupsMap(visiting_groups, from_date=from_date, to_date=to_date) has_notes_map = getTargetNumberOfNotesMap(holly_couch) return dict(visiting_groups=visiting_groups, remaining_visiting_group_names=v_group_map.keys(), bokn_status_map=bokn_status_map, reFormatDate=reFormatDate, all_tags=[t.key for t in getAllTags(holly_couch)], has_notes_map=has_notes_map)
def view_date_range(self, from_date=None, to_date=None): visiting_groups = [v.doc for v in getVisitingGroupsInDatePeriod(holly_couch, from_date, to_date)] v_group_map = dict() #self.makeRemainingVisitingGroupsMap(visiting_groups, from_date=fromdate, to_date=todate) has_notes_map = getTargetNumberOfNotesMap(holly_couch) return dict(visiting_groups=visiting_groups, remaining_visiting_group_names=v_group_map.keys(), bokn_status_map=bokn_status_map, reFormatDate=reFormatDate, all_tags=[t.key for t in getAllTags(holly_couch)], has_notes_map=has_notes_map, visiting_group_types=getVisitingGroupTypes(holly_couch))