Esempio n. 1
0
    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')