示例#1
0
 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")
示例#2
0
    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)
示例#3
0
    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)
示例#4
0
    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
示例#5
0
    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
示例#6
0
    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
示例#7
0
    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
示例#8
0
    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
示例#9
0
    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")
示例#10
0
    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")