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']
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
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
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'))
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.'))
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
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'}) ]