Example #1
0
 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)
Example #2
0
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
Example #3
0
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()
Example #4
0
 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)
Example #5
0
 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)