def get(self): records = Aid.query().order(Aid.name) record_list = [] for record in records: d = dict( urlsafe=record.key.urlsafe(), recordID=record.key.id(), name=record.name, supplier=record.supplier.get().name, maintenance=record.maintenance, replacement=record.replacement ) try: im = record.image.serving_url d['image'] = im except: d['image'] = None res = json.encode(record_list) self.response.out.write(res)
def post(self): record_id = json.decode(self.request.body).get('record_id') record = Aid.get_by_id(int(record_id)) try: record_dict = dict( name=record.name, cost=record.cost, supplier=record.supplier.get().name, maintenance=record.maintenance, replacement=record.replacement, error=False, ) # noinspection PyBroadException try: im = record.image.serving_url record_dict['image'] = im except: record_dict['image'] = None except AttributeError: record_dict = {'error': True} record_dict['id'] = record_id res = json.encode(record_dict) self.response.out.write(res)
def get(self): data = Aid.query().order(Aid.name) return self.render_template('view_aids.html', table_data=data)
def post(self): """ validate contact form """ if not self.form.validate(): return self.get() name = self.form.name.data.strip() cost = self.form.cost.data maintenance = self.form.maintenance.data replacement = self.form.replacement.data installation = self.form.installation.data postage = self.form.postage.data supplier = self.form.supplier.data tags = self.form.tags.data notes = self.form.notes.data.strip() field_storage = self.form.image.data edit_id = self.request.get('aid_id') if edit_id: new_aid = ndb.Key(urlsafe=edit_id).get() logging.info(new_aid) else: new_aid = Aid() new_aid.name = name new_aid.cost = cost new_aid.maintenance = maintenance new_aid.replacement = replacement new_aid.installation = installation new_aid.postage = postage new_aid.supplier = Key("Supplier", supplier) new_aid.tags = tags new_aid.notes = notes if isinstance(field_storage, FieldStorage): dyn = models.ImageModel(id=field_storage.filename, filename=field_storage.filename) gcs_data.gcs_write_blob(dyn, field_storage.file.read()) gcs_data.gcs_serving_url(dyn) new_aid.image = dyn new_aid.put() return self.redirect('/add_aid')