コード例 #1
0
class TaskSearchForm(RemoteForm): 
    template = "bkr.server.templates.task_search_form"
    params = ['options','hidden']
    fields = [HiddenField(name='system_id', validator=validators.Int()),
              HiddenField(name='distro_id', validator=validators.Int()),
              HiddenField(name='distro_tree_id', validator=validators.Int()),
              HiddenField(name='task_id', validator=validators.Int()),
              TextField(name='task', label=_(u'Task')),
              TextField(name='version', label=_(u'Version')),
              TextField(name='system', label=_(u'System')),
              SingleSelectField(name='arch_id', label=_(u'Arch'),validator=validators.Int(),
                                options=model.Arch.get_all),
              TextField(name='distro', label=_(u'Distro')),
              TextField(name='whiteboard', label=_(u'Recipe Whiteboard')),
              SingleSelectField(name='osmajor_id', label=_(u'Family'),validator=validators.Int(),
                                options=lambda: [(0, 'All')] + [(m.id, m.osmajor) for m
                                    in model.OSMajor.ordered_by_osmajor(model.OSMajor.used_by_any_recipe())]),
              SingleSelectField(name='status', label=_(u'Status'), validator=ValidEnumValue(model.TaskStatus),
                                options=lambda: [(None, 'All')] + [(status, status.value) for status in model.TaskStatus]),
              SingleSelectField(name='result', label=_(u'Result'), validator=ValidEnumValue(model.TaskResult),
                                options=lambda: [(None, 'All')] + [(result, result.value) for result in model.TaskResult]),
             ]
    before = 'task_search_before()'
    on_complete = 'task_search_complete()'
    submit_text = _(u'Submit Query')

    def __init__(self, *args, **kw):
        super(TaskSearchForm,self).__init__(*args,**kw)
        self.javascript.extend([LocalJSLink('bkr', '/static/javascript/loader_v2.js')])

    def update_params(self, d):
        super(TaskSearchForm, self).update_params(d)
        if 'arch_id' in d['options']:
            d['arch_id'] = d['options']['arch_id']
コード例 #2
0
def get_album_fields():
    options = []
    options.append(('edit', 'Edit'))
    options.append(('delete', 'Delete'))
    fields = [
        HiddenField(name='referer'),
        HiddenField(name='id'),
        TextField(name='name',
                  label='Name',
                  attrs={
                      'size': 64,
                      'maxlength': 256
                  },
                  validator=v.UnicodeString),
        TextField(name='mb_id',
                  label='MB id',
                  attrs={
                      'size': 37,
                      'maxlength': 64
                  },
                  validator=v.UnicodeString),
        TextField(name='asin',
                  label='ASIN',
                  attrs={
                      'size': 20,
                      'maxlength': 64
                  },
                  validator=v.UnicodeString),
        #TextField(name='trackcount', label='trackcount', attrs={'size': 4, 'maxlength': 10}, validator=v.UnicodeString),
        SingleSelectField(name='operation', options=options),
    ]
    return fields
コード例 #3
0
def get_artist_fields():
    options = []
    options.append(('edit', 'Edit'))
    options.append(('delete', 'Delete'))
    options.append((
        'merge',
        'Merge all records for this artist with Merge Artist Id; Then Delete'))
    fields = [
        HiddenField(name='referer'),
        HiddenField(name='id'),
        TextField(name='name',
                  label='Name',
                  attrs={
                      'size': 64,
                      'maxlength': 256
                  },
                  validator=v.UnicodeString),
        TextField(name='mb_id',
                  label='MB id',
                  attrs={
                      'size': 37,
                      'maxlength': 64
                  },
                  validator=v.UnicodeString),
        TextField(name='mergeid',
                  label='Merge Artist Id',
                  attrs={
                      'size': 12,
                      'maxlength': 12
                  }),
        SingleSelectField(name='operation', options=options),
    ]
    return fields
コード例 #4
0
 def __init__(self, *args, **kw):
     super(SystemInstallOptions, self).__init__(*args, **kw)
     self.id                = HiddenField(name="id")
     self.prov_arch         = SingleSelectField(name='prov_arch',
                              label=_(u'Arch'),
                              options=[],
                              validator=validators.NotEmpty())
     self.prov_osmajor      = SingleSelectField(name='prov_osmajor',
                              label=_(u'Family'),
                              options=lambda: [(0, 'All')] +
                                 [(m.id, m.osmajor) for m in model.OSMajor.ordered_by_osmajor()],
                              validator=validators.NotEmpty())
     self.prov_osversion    = SingleSelectField(name='prov_osversion',
                              label=_(u'Update'),
                              options=[(0,u'All')],
                              validator=validators.NotEmpty())
     self.prov_ksmeta       = TextField(name='prov_ksmeta', 
                                  label=_(u'Kickstart Metadata'))
     self.prov_koptions     = TextField(name='prov_koptions', 
                                    label=_(u'Kernel Options'))
     self.prov_koptionspost = TextField(name='prov_koptionspost',
                                        label=_(u'Kernel Options Post'))
コード例 #5
0
class BidderFields(WidgetsList):
    """Replace to your Fields"""
    name = TextField(name="Bidder_name", label="Bidder Name")
    display = TextField(name="display_name", label="Display Name")
    status = SingleSelectField("status",   
                                options=["DISABLED","LOCKED","ENABLED"],  
                                default="DISABLED")
    groups = CheckBoxList(label = "Groups", name= "Bidder_groups", validator=validators.Int,
                          options=[(entry.group_id, entry.group_name) for entry in Group.select()])

    password = PasswordField(
      label=_(u'Password'),
      attrs=dict(maxlength=50),
      help_text=_(u'Specify your password.'))
    password_confirm = PasswordField(
      label=_(u'Confirm'),
      attrs=dict(maxlength=50),
     help_text=_(u'Enter the password again to confirm.')) 
コード例 #6
0
def get_track_fields():
    options = []
    options.append(('edit', 'Edit'))
    options.append(('delete', 'Delete'))
    fields = [
        HiddenField(name='referer'),
        HiddenField(name='id'),
        TextField(name='mb_id',
                  label='MB Id',
                  attrs={
                      'size': 37,
                      'maxlength': 64
                  },
                  validator=v.UnicodeString),
        TextField(name='path',
                  label='Path',
                  attrs={
                      'size': 24,
                      'maxlength': 512
                  },
                  validator=v.UnicodeString),
        TextField(name='title',
                  label='Title',
                  attrs={
                      'size': 64,
                      'maxlength': 256
                  },
                  validator=v.UnicodeString),
        TextField(name='artist',
                  label='Artist',
                  attrs={
                      'size': 64,
                      'maxlength': 256
                  },
                  validator=v.UnicodeString),
        TextField(name='album',
                  label='Album',
                  attrs={
                      'size': 64,
                      'maxlength': 256
                  },
                  validator=v.UnicodeString),
        TextField(name='tracknum',
                  label='Tracknum',
                  attrs={
                      'size': 3,
                      'maxlength': 3
                  },
                  validator=v.Int),
        TextField(name='secs',
                  label='Secs',
                  attrs={
                      'size': 10,
                      'maxlength': 10
                  },
                  validator=v.Number),
        TextField(name='zsecs',
                  label='ZSecs',
                  attrs={
                      'size': 10,
                      'maxlength': 10
                  },
                  validator=v.Number),
        TextField(name='md5',
                  label='MD5',
                  attrs={
                      'size': 32,
                      'maxlength': 64
                  },
                  validator=v.UnicodeString),
        TextField(name='source',
                  label='Source',
                  attrs={
                      'size': 32,
                      'maxlength': 64
                  },
                  validator=v.UnicodeString),
        TextField(name='bytes',
                  label='Bytes',
                  attrs={
                      'size': 12,
                      'maxlength': 32
                  },
                  validator=v.Int),
        CheckBox(name='compilation',
                 label='Compilation',
                 attrs={
                     'size': 5,
                     'maxlength': 5
                 }),
        SingleSelectField(name='operation', options=options),
    ]
    return fields
コード例 #7
0
class NewUpdateForm(Form):
    template = "bodhi.templates.new"
    submit_text = "Save Update"
    update_types = config.get('update_types').split()
    request_types = ['Testing', 'Stable', 'None', None]
    fields = [
            AutoCompleteField('builds', label='Package',
                              search_controller=url('/new/search'),
                              search_param='name', result_name='pkgs',
                              template='bodhi.templates.packagefield',
                              validator=AutoCompleteValidator()),
            CheckBox('inheritance', label='Follow Build inheritance',
                     validator=validators.StringBool(),
                     default=False, attrs={'title' : 'Build Inheritance - '
                                                     'TODO'}),
            SingleSelectField('type_', label='Type', options=update_types,
                              validator=validators.OneOf(update_types)),
            SingleSelectField('request', options=request_types,
                              validator=validators.OneOf(request_types +
                                  [r.lower() for r in request_types if r]),
                              default='testing'),
            TextField('bugs', validator=BugValidator(),
                      attrs={'title' : 'Bug Numbers - A space or comma '
                                       'delimited list of bug numbers or '
                                       'aliases.  Example: #1234, 789 '
                                       'CVE-2008-0001'}),
            TextArea('notes', validator=validators.UnicodeString(),
                     rows=13, cols=65,
                     attrs={'title' : 'Advisory Notes - <p>Some details '
                                      'about this update that will appear in '
                                      'the notice.</p>'
                                      '<p><strong>Example:</strong><br />'
                                      'This is an update that fixes problems with '
                                      '**<strong>connecting to a share</strong>**.</p>'
                                      '<p>The following things *<em>break</em>*:</p>'
                                      '<p>* Browsing with `<code>gnome-app-install</code>`<br />'
                                      '* Emailing</p>'}),
            CheckBox(name='close_bugs', help_text='Automatically close bugs',
                     validator=validators.StringBool(),
                     default=True, attrs={'title' : 'Close Bugs - '
                                                    'Automatically close bugs '
                                                    'when this update is '
                                                    'pushed as stable'}),
            HiddenField('edited', default=None),
            CheckBox(name='suggest_reboot', label='Suggest Reboot',
                     validator=validators.StringBool(),
                     default=False, attrs={'title': 'Suggest Reboot - '
                                                    'Recommend that the user '
                                                    'restarts their machine '
                                                    'after installing this '
                                                    'update'}),
            CheckBox(name='autokarma', label='Enable karma automatism',
                     default=True, validator=validators.StringBool(),
                     attrs={'onchange':
                         'if ($("#form_autokarma").attr("checked")) {'
                            '$("#form_stable_karma").attr("disabled", false);'
                            'if ($("#form_stable_karma").attr("value") == 0) $("#form_stable_karma").attr("value", 3);'
                            '$("#form_unstable_karma").attr("disabled", false);'
                            'if ($("#form_unstable_karma").attr("value") == 0) $("#form_unstable_karma").attr("value", -3);'
                         ' } else { '
                            '$("#form_stable_karma").attr("disabled", true);'
                            '$("#form_unstable_karma").attr("disabled", true);'
                         '}',
                    'title': 'Karma Automatism - Enable update request '
                             'automation based on user feedback',
                            }),
            TextField('stable_karma', label='Threshold for pushing to stable',
                      validator=validators.Int(), default='3',
                      attrs={'title' : 'Stable Karma - The threshold for '
                             'automatically pushing this update to stable',
                             'size' : '1'}),
            TextField('unstable_karma', label='Threshold for unpushing',
                      validator=validators.Int(), default='-3',
                      attrs={'title' : 'Unstable Karma - The threshold for '
                             'automatically unpushing an unstable update',
                             'size' : '1'})
    ]