示例#1
0
 def get(self):
     ret_val = {}
     if(self.does_user_own_appliance()):
         wo = WorkOrder()
         wo.update_state({'fix_by': self['fix_by'], 'appliance':self['appliance'], 'provider':self['provider'], 'remarks':self['remarks'], 'priority':self['priority']}, self.session['role'])
         ret_val = {'status':'success','work_order_id':wo.key().id()}
     else:
         ret_val = {'status':'error','message':'User does not own the appliance'}
     self.write(json.dumps(ret_val))
示例#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
示例#3
0
 def post(self):
     wo = WorkOrder.get_by_id(long(self['work_order']))
     ret_val = {}
     params = {}
     if self['params']:
         params_str = self['params']
         entry_strs = params_str.split(';')
         for entry_str in entry_strs:
             entry = entry_str.split(':')
             params[entry[0]] = entry[1]
     ret_val = wo.update_state(params, self.session['role'])
     self.write(json.dumps(ret_val))
示例#4
0
 def post(self):
     wo = WorkOrder.get_by_id(long(self['work_order']))
     print(self['params'])
     ret_val = wo.estimate(self['approval'], self['params'])
     self.write(json.dumps(ret_val))
示例#5
0
 def post(self):
     wo = WorkOrder.get_by_id(long(self['work_order']))
     wo.cancel()
     self.write(json.dumps({'status':'success'}))
示例#6
0
 def get(self):
     path = 'work_order_estimate.html'
     action = self['action'] if self['action'] else ''
     wo = WorkOrder.get_by_id(long(self['work_order']))
     template_values = {'work_order':self['work_order'], 'action':action, 'service_date':wo.fix_by_date}
     self.write(self.get_rendered_html(path, template_values), 200)