def load_manager_view(self, appliance_id): providers = [provider for provider in Provider.all().fetch(100)] path = "select_provider.html" markers = [[provider.name, provider.location.lat, provider.location.lon] for provider in providers] appliance = Appliance.for_id(long(appliance_id)) store_name = appliance.store.name if appliance else "" template_values = { "providers": providers, "count": len(providers), "markers": markers, "appliance_id": appliance_id, "store_name": store_name, } self.write(self.get_rendered_html(path, template_values), 200)
def get_work_orders_for_logged_in_user(self): email = self.session['email'] workorders = [] if is_store_login(self): appliances = [] stores = Store.all().filter(self.session['role'] + ' =', email) for store in stores: appliances.extend([appliance.id for appliance in Appliance.all().filter('store =', store).fetch(100)]) for appliance in appliances: workorders.extend([wo for wo in WorkOrder.all().filter('appliance =', str(appliance))]) elif is_provider_login(self): providers = [p for p in Provider.all().fetch(100) if p.owner.key().name() == email] for provider in providers: workorders.extend([wo for wo in WorkOrder.all().filter('provider =', str(provider.key().id()))]) return workorders
def vendor_mapper(member, role_name): fields = member['fields'] tdc = TestDataCreationHandler() provider_obj = Provider.all().filter('airtable_id =', fields['Vendor ID']).get() if not provider_obj: provider_obj = Provider() provider_obj.name = fields['Vendor Name'] provider_obj.phone_num = fields['Phone - Business Hours'] dispatch_email = fields['Dispatch Email'] provider_user = tdc.create_member(dispatch_email, fields['Primary Contact Name'], fields['Phone - Business Hours'], role_name) provider_obj.owner = provider_user provider_obj.location = map_address(fields['Address']) provider_obj.address = fields['Address'] provider_obj.insurance = 'Hartford insurance' provider_obj.certifications = 'Class B Electrician license' provider_obj.reputation = 4.0 provider_obj.airtable_id = fields['Vendor ID'] provider_obj.put()
def get(self): path = "appliance_schedule_repair.html" appliance = Appliance.for_id(long(self["id"])) providers = Provider.all().fetch(100) provider_array = [(provider.id, provider.name) for provider in providers] details = [ {"name": "appliance", "value": appliance.name, "id": appliance.id, "readonly": "readonly"}, {"name": "provider", "value": "Choose Provider", "providers": provider_array, "readonly": ""}, {"name": "provider_owner", "value": "Provider Owner", "readonly": "readonly"}, {"name": "provider_phone", "value": "Provider Phone Number", "readonly": "readonly"}, {"name": "fix_by", "value": "Fix by date", "type": "date", "readonly": ""}, {"name": "remarks", "value": "Remarks", "readonly": ""}, ] priorities = ["Critical", "Normal", "Routine"] template_values = { "details": details, "name": "New Work Order", "details_url": appliance.details_url, "priorities": priorities, } self.write(self.get_rendered_html(path, template_values), 200)
def load_manager_view(self): providers = [provider for provider in Provider.all().fetch(100)] path = 'providers.html' markers = [[provider.name, provider.location.lat,provider.location.lon] for provider in providers] template_values = {'providers':providers,'count':len(providers),'markers':markers} self.write(self.get_rendered_html(path, template_values), 200)