class MTRow(PageForm): b = BooleanField("My Boolean") d = DateField("My Date") dt = DateTimeField("My DateTime") fl = FloatField("My Float") i = IntegerField("My Integer") r = RadioField("My Radio", choices=[("x", "X"), ("y", "Y")], default="y") sf = SelectField("My Select", choices=[("a", "A"), ("b", "B")]) sfm = SelectMultipleField("My Multiple Select", choices=[("c", "C"), ("d", "D"), ("e", "E"), ("f", "F")]) s = StringField("My String") h = HiddenField("My Hidden") p = PasswordField("My Password") t = TextAreaField("My Text Data") buf = ButtonUrlField("My Button Url Field", href="https://google.com") dpf = DisplayPictureField( "My Picture", url= "https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/225px-The_Earth_seen_from_Apollo_17.jpg", href="https://www.yahoo.com") dtf = DisplayTextField("My Displayed Text", default="abcdefg") submit = SubmitField("Send It")
class MainForm(PageForm): s_key = StringField( "Key Name or SKU (short, no punctuation other than underscore)", validators=[InputRequired()]) s_title = StringField("Title") s_made_by = StringField("Made By") fl_price = DecimalField("Price") s_shipping_detail = StringField("Shipping Detail") s_short_description = TextAreaField("Short Description", description="(Creole 1.0)") s_img_key = StringField("Image Key") s_url = StringField("Product Link (URL)") categories = StringField("Categories (seperate by comma)") submit = SubmitField("Upsert Product") def process_form(self, wtf, **kwargs): key = wtf.s_key.data.strip() if key == "new": return msg.err('Product key/sku cannot be "new".') if not key: return msg.err('Picture key/sku name is required.') result = database.upsert_product(key, wtf) return result def set_field_values(self, new_page, pkey=None): if pkey == "new": self.fl_price.data = Decimal("0.00") return product = database.read_product(pkey) if product: self.pull_data(product) self.categories.data = ", ".join(product.arr_categories)
class MainForm(PageForm): s_key = DisplayTextField("Product Key / SKU") s_title = DisplayTextField("Title") s_short_description = DisplayTextField("Short Description") submit = SubmitField("DELETE") def process_form(self, wtf, pkey=None, **kwargs): result = database.delete_product(pkey) if msg.is_good(result): return msg.success('Product deleted.', return_def="page_admin_main") return result def set_field_values(self, new_page, pkey=None): product = database.read_product(pkey) if product: self.pull_data(product)
class MainForm(PageForm): class BloggerDetail(PageForm): tf_blog = BooleanField("Blog article?", description="check if true") s_blogger_name = StringField("Author") dt_blog_date = DateTimeField("Date (YYYY-MM-DD HH:MM:SS)") s_byline = StringField( "By-Line", description= "A short one-line description that adds to the title.") s_img_key = StringField("Small Image Key") categories = StringField("Categories", description="comma-delimited list") group_name = StringField("Group Name") page_name = StringField("Page Name") s_title = StringField("Title") s_creole_text = TextAreaField("Text (creole 1.0 format)") blog = FormField(BloggerDetail, "For articles that are also blogs...") submit = SubmitField("Update") def process_form(self, wtf, pkey=None): group_name = wtf.group_name.data page_name = wtf.page_name.data key = database.build_key(group_name, page_name) result = database.upsert_article(key, wtf) if msg.is_good(result): return msg.success('Article saved.') return result def set_field_values(self, new_page, pkey=None): if pkey == "new": self.blog.dt_blog_date.data = datetime.datetime.now() self.submit.label.text = "Create" else: (group_name, page_name) = pkey.split("_") true_key = database.build_key(group_name, page_name) article = database.read_article_byKey(true_key) self.pull_data(article) self.blog.pull_data(article) self.blog.categories.data = ", ".join( article.arr_blog_categories) self.group_name.data = group_name self.page_name.data = page_name
class MainForm(PageForm): pkey = HiddenField() s_title = StringField("Title") s_creole_text = TextAreaField("Text (creole 1.0 format)") submit = SubmitField("DELETE") def process_form(self, wtf, **kwargs): true_key = wtf.pkey.data.replace("_", "/") result = database.delete_article(true_key) if msg.is_good(result): return msg.success('Article deleted.', return_def="page_admin_main") return result def set_field_values(self, new_page, pkey=None): true_key = pkey.replace("_", "/") article = database.read_article_byKey(true_key) if article: self.pull_data(article) self.pkey.data = pkey
class MainForm(PageForm): message = StringField("Message content") category = SelectField("Category", choices=[ ("message", "Default/Generic [message]"), ("success", "Success [success]"), ("info", "Informational [info]"), ("warning", "Warning/Caution [warning]"), ("danger", "Danger/Error/Failure [danger]"), ]) submit = SubmitField("Submit") def process_form(self, wtf, **kwargs): # # this is where any database processing would happen # m = msg.message(self.message.data) m.set_category(self.category.data) return m
class MainForm(PageForm): age = IntegerField("Current Age") submit = SubmitField("Submit") # _import_fields = models.TestDocument _import_fields = TestDocument # _field_order is strictly optional; without it, the imports are simply appended _field_order = [ 'name', 'age', 'height', 'hair_color', 'shirt_color', 'income', 'notes', 'silly', 'handedness', 'submit' ] def process_form(self, wtf, **kwargs): # return database.create_testDocument() response = create_testDocument(wtf) if msg.is_good(response): response.return_def = "page_example_copy_fields" return response def set_field_values(self, new_page, **kwargs): if new_page: self.age.data = 22
class MainForm(PageForm): msg_to = DisplayTextField("To:") msg_from = StringField("From:") msg_subject = StringField("Subject:") msg_text = TextAreaField("Body (with creole markup):") submit = SubmitField("Send An Email") def set_field_values(self, new_page, **kwargs): self.msg_to.data = "*****@*****.**" def process_form(self, wtf, **kwargs): # # this is where any database processing would happen # result_msg = sendmail( 1, to_addr="test <*****@*****.**>", creole_text=self.msg_text.data, subject=self.msg_subject.data, from_addr=self.msg_from.data, ) return result_msg
class MainForm(PageForm): b = BooleanField("My Boolean") d = DateField("My Date") dt = DateTimeField("My DateTime") fl = FloatField("My Float") i = IntegerField("My Integer") r = RadioField("My Radio", choices=[("x", "X"), ("y", "Y")], default="y") sf = SelectField("My Select", choices=mylookup) sfm = SelectMultipleField("My Multiple Select", choices=[("c", "C"), ("d", "D")]) s = StringField("My String") h = HiddenField("My Hidden") p = PasswordField("My Password") t = TextAreaField("My Text Data") buf = ButtonUrlField("My Button Url Field", href="https://google.com") dpf = DisplayPictureField( "My Picture", url= "https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/The_Earth_seen_from_Apollo_17.jpg/225px-The_Earth_seen_from_Apollo_17.jpg", href="https://www.yahoo.com") dtf = DisplayTextField("My Displayed Text", default="abcdefg") submit = SubmitField("Send It") def set_field_values(self, new_page, **kwargs): self.dt.data = datetime.datetime.now() self.t.data = "Some starting text!\n...and some more!" def process_form(self, wtf, **kwargs): # # this is where any database processing would happen # msg.flash("Got it! string={}, integer={}, etc.".format( wtf.s.data, wtf.i.data)) return msg.success("All good.", return_def="page_example_about")
class MainForm(PageForm): s_key = StringField( "Key Name (short, no punctuation other than underscore)", validators=[InputRequired()]) file = FileField(u'PNG image file') s_etag = DisplayTextField('e-tag found on Amazon S3') s_notes = TextAreaField("Notes for internal reference") submit = SubmitField("Upsert Picture") def process_form(self, wtf, **kwargs): key = wtf.s_key.data.strip() if key == "new": return msg.err('Picture key cannot be "new".') if not key: return msg.err('Picture key name is required.') details = s3_upload(wtf.file) result = database.upsert_articlePicture(key, wtf, details) return result def set_field_values(self, new_page, pkey=None): pic = database.read_articlePicture(pkey) if pic: self.pull_data(pic) self.file = HiddenField("DO NOT USE")