Exemplo n.º 1
0
class EditProject(twf.TableForm):
    pid = twf.HiddenField()
    name = twf.TextField(label='Name : ',
                         validator=twc.Validator(required=True))
    tracks = twf.MultipleSelectField(label='Tracks : ',
                                     css_class='track_select')
    submit = twf.SubmitButton(id="submit", value="Edit")
Exemplo n.º 2
0
class NewTrackSequence(twf.TableForm):
    file_upload = twf.FileField(label='Upload : ',
                                help_text='Upload file from filesystem')
    url = twf.TextField(label='Url : ', help_text='Provide an url')
    sequence_id = twf.HiddenField()
    track_admin = twf.HiddenField()
    submit = twf.SubmitButton(id="submit", value="New")
Exemplo n.º 3
0
class EditMeas(twf.TableForm):
    #fields
    IDselected = twf.HiddenField(label_text="ID selected :")
    name = twf.TextField(label_text="Name :",
                         placeholder="Measurement name...",
                         validator=twc.Required)
    description = twf.TextArea(label_text="Description :")

    samples = twf.MultipleSelectField(
        label_text="Your samples : ",
        help_text="You can add some of your existing data to this project.")

    status_type = twf.CheckBox(
        label_text="Privacy : ",
        help_text=
        "Check it if you want a public data (available for UCSC visualisation)"
    )
    type = twf.CheckBox(label_text="Raw data : ",
                        help_text="Check it is a raw data")

    #parents management
    parents = twf.MultipleSelectField(
        label_text="Parents : ", help_text="Parent(s) of this measurement.")

    uploaded = twf.LabelField(
        help_text=
        "is attached to this measurement. If you want to change, it's better to delete this measurement and create a new one."
    )

    url_path = twf.TextField(label_text="File's url",
                             placeholder="http://www....")

    submit = twf.SubmitButton(value="Edit my measurement")
Exemplo n.º 4
0
class EditTrack(twf.TableForm):
    color = twf.HiddenField()
    pid = twf.HiddenField()
    track_id = twf.HiddenField()
    name = twf.TextField(label='Name : ',
                         help_text="Enter the track's name",
                         validator=twc.Validator(required=True))
    submit = twf.SubmitButton(id="submit", value="Edit")
Exemplo n.º 5
0
class CreateExtractionForm(twf.Form):
    class child(axf.bootstrap.BootstrapFormLayout):
        name = twf.TextField(label='Extraction Name',
                             validator=twc.Validator(required=True),
                             css_class="new_extraction_input")

    action = lurl('/extractions/create')
    submit = twf.SubmitButton(value='Create', css_class='btn btn-default')
Exemplo n.º 6
0
class NewCircle(twf.TableForm):
    name = twf.TextField(label='Name : ',
                         help_text="Enter the circle's name",
                         validator=twc.Validator(required=True))

    description = twf.TextField(label='Description : ',
                                help_text="Enter the circle's description",
                                validator=twc.Validator(required=True))
    submit = twf.SubmitButton(id="submit", value="New")
Exemplo n.º 7
0
 def choose_lab(self, list_units):
     '''
     pass the different labs to the js to generate a choice popup at user login
     '''
     choice = LabChoice
     choice.submit = twf.SubmitButton(value="Select as lab")
     form_choice = choice(action=url('/login/choose_lab_post')).req()
     choice.child.children[0].options = list_units
     return dict(page='lab_choice', widget=form_choice)
Exemplo n.º 8
0
class StudentForm(twf.Form):
   class child(twf.TableLayout):
      name = twf.TextField(size = 20)
      city = twf.TextField()
      address = twf.TextArea("",rows = 5, cols = 30)
      pincode = twf.NumberField()

   action = '/save_record'
   submit = twf.SubmitButton(value = 'Submit')
Exemplo n.º 9
0
class NewTrackHub(twf.TableForm):
    #fields
    name = twf.TextField(label_text="Name : ", help_text="no space, use '_'")
    assembly = twf.LabelField(
        help_text=" is the assembly related to these files")
    files = twf.MultipleSelectField(label_text="Files used : ")
    extension = twf.LabelField(
        help_text=" is your files extensions for this TrackHub")

    submit = twf.SubmitButton(value="Visualise")
Exemplo n.º 10
0
class NewProject(twf.TableForm):
    # __omit_fields__ = ['id', 'user', 'date', 'created']
    project_name = twf.TextField(label_text="Name :",
                                 validator=twc.Validator(required=True))
    description = twf.TextArea(label_text="Description :", )
    samples = twf.MultipleSelectField(
        label_text="Your samples : ",
        help_text="You can add some of your existing samples to this project.")

    submit = twf.SubmitButton(value="Create my project")
Exemplo n.º 11
0
class EditProject(twf.TableForm):
    # __omit_fields__ = ['user', 'date', 'created']
    IDselected = twf.HiddenField(label_text="ID selected")
    project_name = twf.TextField(label_text="Name :", validator=twc.Required)
    description = twf.TextArea(label_text="Description :", )
    samples = twf.MultipleSelectField(
        label_text="Your samples : ",
        help_text="You can add some of your existing samples to this project.")
    selected_samples = twf.HiddenField(label_text="")

    submit = twf.SubmitButton(id="submit", value="Edit my project")
Exemplo n.º 12
0
def build_form(state, owner, id_object):
    '''
    build the new/edit/clone widget for dynamic samples/measurements
    '''
    user_lab = session.get("current_lab", None)
    if state == "new":
        lists_fields = new_form(user_lab)
    elif state == "new_parents":
        lists_fields = new_form_parents(user_lab)
    elif state == "edit":
        lists_fields = edit_form(user_lab, owner, id_object)
    elif state == "clone":
        lists_fields = clone_form(user_lab, id_object)
    if state != "clone":
        list_static_samples = lists_fields[0]
        list_dynamic_samples = lists_fields[1]
        list_static_measurements = lists_fields[2]
        list_dynamic_measurements = lists_fields[3]
    else:
        list_static_measurements = lists_fields[0]
        list_dynamic_measurements = lists_fields[1]
    #form_widget = twf.TableForm()
    form_widget = MyForm()
    if state.startswith("new") and owner == "sample":
        all_fields = list_static_samples + list_dynamic_samples
        form_widget.submit = twf.SubmitButton(value="Create my sample")
    elif state.startswith("new") and owner == "meas":
        all_fields = list_static_measurements + list_dynamic_measurements
        form_widget.submit = twf.SubmitButton(id="submit",
                                              value="Create my measurement")
    elif state == "edit" and owner == "sample":
        all_fields = list_static_samples + list_dynamic_samples
        form_widget.submit = twf.SubmitButton(value="Edit my sample")
    elif state == "edit" and owner == "meas":
        all_fields = list_static_measurements + list_dynamic_measurements
        form_widget.submit = twf.SubmitButton(value="Edit my measurement")
    elif state == "clone":
        all_fields = list_static_measurements + list_dynamic_measurements
        form_widget.submit = twf.SubmitButton(value="Clone my measurement")
    form_widget.children = all_fields
    return form_widget
Exemplo n.º 13
0
class EditSample(twf.TableForm):
    IDselected = twf.HiddenField(label_text="ID selected :")
    project = twf.SingleSelectField(
        label_text="Your projects : ",
        help_text="the project which contains your sample is selected")
    name = twf.TextField(label_text="Name :", validator=twc.Required)
    type = twf.SingleSelectField(label_text="Type : ")
    protocole = twf.TextArea(label_text="Protocole :")
    measurements = twf.MultipleSelectField(
        label_text="Attached measurement(s) : ")

    submit = twf.SubmitButton(value="Edit my sample")
Exemplo n.º 14
0
class NewTrackPrefilled(twf.TableForm):
    file_upload = twf.FileField(label='Upload : ',
                                help_text='Upload file from filesystem')
    url = twf.TextField(label='Url : ', help_text='Provide an url')
    trackname = twf.TextField(label='Name : ')
    extension = twf.TextField(
        label='Extension : ',
        help_text=
        "Specify the extension of your file if it's not already provided by your file name."
    )
    project_id = twf.HiddenField()
    submit = twf.SubmitButton(id="submit", value="New")
Exemplo n.º 15
0
class AddComputerForm(twf.Form):

    submit = twf.SubmitButton(value='Add Computer')
    action = '/add_computer'
    show_errors = True

    class child(twf.TableLayout):

        hover_help = True

        name = twf.TextField(help_text='Enter a computer name.', validator=twc.Required)
        mac = twf.TextField(help_text='Enter a mac address. 12 character alphanumeric.', validator=MacValidator(required=True))
Exemplo n.º 16
0
def build_form_edit_th(t_length):
    form_widget = MyForm()
    form_widget.submit = twf.SubmitButton(value="Edit the colors")
    all_fields = []
    cpt = 1
    for i in range(t_length / 2):
        all_fields.append(twf.LabelField(id="Track_name_" + str(cpt)))
        all_fields.append(
            twf.TextField(id="Color_Track_" + str(cpt),
                          help_text=" (R,G,B colors)"))
        cpt += 1
    form_widget.children = all_fields
    return form_widget
Exemplo n.º 17
0
class NewTrack(twf.TableForm):
    file_upload = twf.FileField(label='Upload : ',
                                help_text='Upload file from filesystem')
    url = twf.TextField(label='Url : ', help_text='Provide an url')
    smapping = twf.HiddenField()
    trackname = twf.TextField(label='Name : ')
    extension = twf.TextField(
        label='Extension : ',
        help_text=
        "Specify the extension of your file if it's not already provided by your file name."
    )
    species = twf.SingleSelectField(label='Species :')
    assembly = twf.SingleSelectField(label='Assembly :', options=[])
    submit = twf.SubmitButton(id="submit", value="New")
Exemplo n.º 18
0
class SettingsForm(twf.Form):

    submit = twf.SubmitButton(value='Update')
    action = '/update_settings'

    class child(twf.TableLayout):

        hover_help = True

        name = twf.TextField(help_text='Enter a new display name.')
        login_email = twf.TextField(help_text='Enter a new login email.', validator=twc.EmailValidator)
        confirm_email = twf.TextField(help_text='Confirm new login email address.', validator=MatchEmail('new_login_email'))
        new_password = twf.PasswordField(help_text='Enter new password.')
        confirm_password = twf.PasswordField(help_text='Confirm new password.', validator=MatchPassword('new_password'))
        current_password = twf.PasswordField(help_text='Enter current password.', validator=twc.Required)
Exemplo n.º 19
0
class AssignmentForm(twf.Form):

    submit = twf.SubmitButton(value='Assign License')
    action = '/assign_license'
    show_errors = True

    def prepare(self):
        self.child.c.computer.options = [(i.id, str(i.id) + ":" + i.display_name) for i in get_computers(self.value.user_id)]
        self.child.c.license.options = [(i.License.id, str(i.License.id) + ":" + i.Plugin.display_name + ":" + i.LicenseType.display_name + (":floating" if i.License.floating else '' )) for i in get_licenses(self.value.user_id)]
        #self.child.c.count.options = [(i.id, i.display_name) for i in get_available(self.value.user_id)]
        super(AssignmentForm, self).prepare()

    class child(twf.TableLayout):

        hover_help = True

        computer = twf.SingleSelectField(help_text='Select a computer.', options=[], validator=twc.Required)
        license = twf.SingleSelectField(help_text='Select a license to assign.', options=[], validator=twc.Required)
Exemplo n.º 20
0
class CreateUserForm(twf.Form):

    submit = twf.SubmitButton(value='Create User')
    action = '/create_user'
    show_errors = True

    def prepare(self):
        #self.child.c.licenses.options = [(i.id, i.display_name) for i in DBSession.query(model.Plugin).all()]
        #self.child.c.license_type.options = [(i.id, i.display_name) for i in DBSession.query(model.LicenseType).all()]
        super(CreateUserForm, self).prepare()

    class child(twf.TableLayout):

        hover_help = True

        email_filter = twf.HiddenField()
        id_filter = twf.HiddenField()
        name = twf.TextField(help_text='Enter user name.', validator=twc.Required)
        login_email = twf.TextField(help_text='Enter a login email address.', validator=twc.EmailValidator(required=True))
Exemplo n.º 21
0
class AssignLicensesForm(twf.Form):

    submit = twf.SubmitButton(value='Assign Licenses')
    action = '/assign_licences'
    show_errors = True

    def prepare(self):
        self.child.c.licenses.options = [(i.id, i.display_name) for i in DBSession.query(model.Plugin).all()]
        self.child.c.license_type.options = [(i.id, i.display_name) for i in DBSession.query(model.LicenseType).all()]
        super(AssignLicensesForm, self).prepare()

    class child(twf.TableLayout):

        hover_help = True

        email_filter = twf.HiddenField()
        id_filter = twf.HiddenField()
        user_Id= twf.TextField(help_text='Enter a user id.', validator=twc.IntValidator(required=True))
        licenses = twf.MultipleSelectField(help_text='Licenses to assign.', options=[], validator=twc.Required)
        license_type = twf.SingleSelectField(help_text='Licenes Type.', value=0, options=[], validator=twc.Required)
        count = twf.SingleSelectField(help_text='Number of licenses.', value=1, options=[(i, i) for i in range(1,6)], validator=twc.Required)
Exemplo n.º 22
0
    class child(axf.bootstrap.BootstrapFormLayout):
        inline_engine_name = 'genshi'
        template = '''
<div xmlns:py="http://genshi.edgewall.org/" py:strip="True">
    <py:for each="c in w.children_hidden">
        ${c.display()}
    </py:for>
    <div>
        <span id="${w.compound_id}:error" class="error" >
            <p py:for="error in w.rollup_errors" class="alert alert-danger">
               <span class="glyphicon glyphicon-exclamation-sign"></span>
               ${error}
           </p>
        </span>
    </div>
    <div class="form-horizontal">
        <div py:for="c in w.children_non_hidden"
             class="form-group ${((c.validator and getattr(c.validator, 'required', getattr(c.validator, 'not_empty', False))) and ' required' or '') + (c.error_msg and ' has-error' or '')}">
            <label py:if="c.label != None" class="col-sm-3 control-label" for="${c.compound_id}">
               $c.label
            </label>
            <div class="col-sm-7">
                ${c.display()}
                <span id="${c.compound_id}:error" class="error help-block" py:content="c.error_msg"/>
            </div>
            <div>${w.submit.display()}</div>
        </div>
    </div>
</div>
        '''

        uid = twf.HiddenField()
        name = twf.TextField(label='Dashboard Name',
                             validator=twc.Validator(required=True))
        submit = twf.SubmitButton(value=l_('Save'),
                                  css_class='btn btn-default col-sm-2')
Exemplo n.º 23
0
class AddUser(twf.TableForm):
    cid = twf.HiddenField()
    mail = twf.TextField(label='e-mail : ',
                         help_text='Enter the user e-mail.',
                         validator=twc.EmailValidator(required=True))
    submit = twf.SubmitButton(id="submit", value="Add")
Exemplo n.º 24
0
    class child(tww.BaseLayout):
        hover_help = True

        inline_engine_name = 'mako'
        template = \
            u'''
            % for c in w.children_hidden:
                ${c.display()}
            % endfor

            <%def name="display_field(field)">
                <%
                    css_success = ''
                    if field.error_msg:
                        css_success = 'has-error'
                    elif isinstance(field.value, list):
                        if field.value[0]['text']:
                            css_success = 'has-success'
                    elif field.value:
                        css_success = 'has-success'
                %>

                <div class="form-group required ${css_success}"
                title="${field.help_text if field.help_text else ''}">
                    <label class="control-label col-sm-12" for="${field.compound_id}">
                        ${field.label}
                        ${field.error_msg if field.error_msg else ''}
                    </label>
                    <div class="col-xs-12 col-sm-12">
                        ${field.display()}
                    </div>
                </div>
                <div class="col-xs-12" style="height:7px;"></div>
            </%def>

            <%def name="display_honeypot(field)">
                <div class="form-group required honey-field
                ${'has-success' if field.value else ''}"
                title="${field.help_text if field.help_text else ''}">
                    <label class="control-label col-sm-12 honey-field" for="${field.compound_id}">
                        ${field.label}
                        ${field.error_msg if field.error_msg else ''}
                    </label>
                    <div class="col-xs-12 col-sm-12 honey-field">
                        ${field.display()}
                    </div>
                </div>
                <div class="col-xs-12 honey-field" style="height:7px;"></div>
            </%def>

            % for child in w.children_non_hidden:
                % if 'honey-field' in child.css_class:
                    ${display_honeypot(child)}
                % else:
                    ${display_field(child)}
                % endif
            % endfor

            <div class="form-group">
                <label class="control-label col-sm-12" for="submit"> </label>
                <div class="col-xs-12 col-md-12">
                    ${w.submit.display()}
                </div>
            </div>
            '''

        company_name = twf.TextField(
            id='company_name',
            label=u"Nom de l'entreprise:",
            placeholder=u"Mon entreprise qui recrute",
            help_text=u"Le nom de l'entreprise que vous souhaitez ajouter",
            maxlength=100,
            css_class='form-control',
            validator=CompanyNameValidator(required=True))

        # company_siren = twf.TextField(
        #     id='company_siren',
        #     label=u"Numéro de Siren:",
        #     placeholder=u"XXX XXX XXX",
        #     help_text=u"Le numéro de Siren de l'entreprise que vous souhaitez"
        #               u" ajouter, au format XXX XXX XXX",
        #     maxlength=11,
        #     css_class='form-control',
        #     validator=SirenValidator(required=True)
        # )

        company_street = twf.TextField(id='company_street',
                                       label=u"Rue:",
                                       placeholder=u"Numéro et nom de rue",
                                       help_text=u"Numéro et nom de rue",
                                       maxlength=1024,
                                       css_class='form-control',
                                       validator=RequiredValidator)

        company_city = GeocompleteField(
            name='company_city',
            label=u'Ville:',
            value='',
            placeholder=u'Nom ville ou CP...',
            attrs=dict(style='width: 100%;'),
            validator=GeocompleteFieldValidator(required=True))

        company_url = twf.TextField(
            id='company_url',
            label=u"Site web de l'entreprise:",
            placeholder=u"http://pyjobs.fr",
            help_text=u"L'url du site web de l'entreprise",
            maxlength=1024,
            css_class='form-control',
            validator=UrlValidator(required=True))

        company_email = twf.TextField(
            id='company_email',
            label=u"Adresse email de contact:",
            placeholder=u"*****@*****.**",
            help_text=u"L'adresse email de contact de l'entreprise pour les "
            u"personnes souhaitant candidater",
            maxlength=1024,
            css_class='form-control',
            validator=EmailValidator(required=True))

        company_phone = twf.TextField(
            id='company_phone',
            label=u"Numéro de téléphone:",
            placeholder=u"0X.XX.XX.XX.XX",
            help_text=u"Le numéro de téléphone de contact de l'entreprise pour "
            u"les personnes souhaitant candidater au format "
            u"0X.XX.XX.XX.XX",
            maxlength=14,
            css_class='form-control',
            validator=PhoneNumberValidator(required=True))

        company_logo = twf.TextField(
            id='company_logo',
            label=u"Logo de l'entreprise:",
            placeholder=u"http://pyjobs.fr/img/pyjobs_logo_square.png",
            help_text=u"Une url pointant sur une image du logo de l'entreprise",
            maxlength=1024,
            css_class='form-control',
            validator=UrlValidator(required=True))

        company_description = twf.TextArea(
            id='company_description',
            label=u"Description de l'entreprise: (de 100 à 5000 caractères)",
            placeholder=u"Description de l'entreprise...",
            help_text=u"Une description succinte de l'entreprise "
            u"(de 100 à 5000 caractères)",
            maxlength=5000,
            css_class='form-control',
            validator=LengthValidator(required=True, min=100, max=5000))

        company_technologies = PersistentSelect2MultipleSelect(
            name='company_technologies',
            label=u"Technologies utilisées par l'entreprise: (maximum 10)",
            placeholder=u"Technologie 1, Technologie 2, ..., Technologie 10",
            help_text=u"La liste de technologies utilisées par l'entreprise "
            u"(max. 10)",
            attrs=dict(style='width: 100%;'),
            opts=dict(tags=_get_technology_list(),
                      maximumSelectionSize=10,
                      tokenSeparators=[',']),
            validator=Select2MultipleSelectValidator(required=True,
                                                     min=1,
                                                     max=10))

        company_required_field = twf.TextField(
            name='company_required_field',
            label=u'Company label',
            placeholder=u"Label de l'entreprise",
            help_text=u"Message d'aide",
            maxlength=5,
            css_class='form-control honey-field',
            validator=EmptyHoneyPotValidator(required=True))

        submit = twf.SubmitButton('submit')
        submit.value = u"Créer l'entreprise"
        submit.css_class = "btn btn-default form-control"
Exemplo n.º 25
0
class EditOrderForm(twf.ListForm):
    css_class = 'admin-form'
    order_id = twf.HiddenField(key='_id')
    bill = twf.HiddenField(validator=twc.BoolValidator())

    class ShipmentInfo(twf.ListFieldSet):
        label = l_("Dati Spedizione")
        key = 'shipment_info'

        receiver = twf.TextField(validator=twc.Validator(required=True),
                                 css_class="form-control",
                                 label=l_("Destinatario"))
        address = twf.TextField(validator=twc.Validator(required=True),
                                css_class="form-control",
                                label=l_("Indirizzo"))
        city = twf.TextField(validator=twc.Validator(required=True),
                             css_class="form-control",
                             label=l_("Città"))
        province = twf.TextField(validator=twc.Validator(required=True),
                                 css_class="form-control",
                                 label=l_("Provincia"))
        zip_code = twf.TextField(validator=twc.Validator(required=True),
                                 css_class="form-control",
                                 label=l_("CAP"))
        country = twf.SingleSelectField(
            css_class="form-control",
            prompt_text=None,
            label=l_("Stato"),
            options=twc.Deferred(lambda: [('IT', l_('Stato'))]))

    class Details(twf.ListFieldSet):
        label = None
        key = 'details'

        email = twf.TextField(validator=twc.Validator(required=True),
                              css_class="form-control",
                              label=l_("Email"))
        phone = twf.TextField(validator=twc.Validator(),
                              css_class="form-control",
                              label=l_("Telefono"))

    class BillInfo(twf.ListFieldSet):
        label = l_("Dati Fatturazione")
        key = 'bill_info'

        company = twf.TextField(css_class="form-control",
                                label=l_("Ragione Sociale"))
        vat = twf.TextField(css_class="form-control", label=l_("Partita IVA"))
        fiscal_code = twf.TextField(css_class="form-control",
                                    label=l_("Codice Fiscale"))
        address = twf.TextField(css_class="form-control",
                                label=l_("Indirizzo"))
        city = twf.TextField(css_class="form-control", label=l_("Città"))
        province = twf.TextField(css_class="form-control",
                                 label=l_("Provincia"))
        zip_code = twf.TextField(css_class="form-control", label=l_("CAP"))
        country = twf.SingleSelectField(
            css_class="form-control",
            prompt_text=None,
            label=l_("Stato"),
            options=twc.Deferred(lambda: [('IT', l_('Stato'))]))

    submit = twf.SubmitButton(value=l_('Salva'), css_class='form-control')

    def prepare(self):
        super(EditOrderForm, self).prepare()
        if not self.child.children.bill.value or self.child.children.bill.value == 'false':
            self.child.children.BillInfo.container_attrs = {
                'style': 'display:none;'
            }
Exemplo n.º 26
0
class NewProject(twf.TableForm):
    smapping = twf.HiddenField()
    name = twf.TextField(label='Name')
    species = twf.SingleSelectField(label='Species : ')
    assembly = twf.SingleSelectField(label='Assembly :', options=[])
    submit = twf.SubmitButton(id="submit", value="New")
Exemplo n.º 27
0
 class child(twf.TableForm):
     name = twf.TextField(validator=twc.Required)
     group = twf.SingleSelectField(options=['Red', 'Green', 'Blue'])
     notes = twf.TextArea()
     submit = twf.SubmitButton(value='Go!')
Exemplo n.º 28
0
class NewSequenceForm(twf.ListForm):
    smapping = twf.HiddenField()
    species = twf.SingleSelectField(label='Species : ', options=[])
    assembly = twf.SingleSelectField(label='Assembly :', options=[])
    submit = twf.SubmitButton(id="submit", value="New")
Exemplo n.º 29
0
class NewExperimentForm(twf.Form):
    submit = twf.SubmitButton(value="Create")
    action = 'post_create'
    class child(twf.TableLayout):
        owner = twf.SingleSelectField(options=twc.Deferred(get_owners), validator=twc.Required)
        name = twf.TextField(validator=twc.All(twc.StringLengthValidator(min=1), ExperimentDoesntExist('owner')))
Exemplo n.º 30
0
class ShareProject(twf.TableForm):
    pid = twf.HiddenField()
    circles = twf.MultipleSelectField(label='Circles : ',
                                      css_class='circle_select')
    submit = twf.SubmitButton(id="submit", value="Share")