def request_item(request): li = T.li(class_='request')( display_date(request.target_date), T.span(class_='email')(T.a(href=urls.user_home(request.owner))(request.owner.nickname())), T.a(href=request.uri, class_='request-subject')(request.subject), ) if request.target_date > logic.tznow().date(): li.attrs['class'] += ' future' if request.urgent: li.attrs['class'] += ' urgent' if request.state == 'rejected': li.attrs['class'] += ' rejected' if request.owner == users.get_current_user(): li.attrs['class'] += ' own' li(request_badges(request)) return li
def new_request_form(push=None, subject='', message='', branch=''): label = T.a(class_='toggle', href='#')('New Request') if push else 'New Request' class_ = 'push request' if push else 'request' content = T.div(class_='content') form = T.form(action='/requests', method='post', class_=class_)( T.fieldset(class_='container')( T.legend(label), content( T.div( T.label(for_='new-request-subject')('Subject'), T.input(name='subject', id='new-request-subject', value=subject), ), T.div( T.label(for_='new-request-branch')('Branch'), T.input(name='branch', id='new-request-branch', value=branch), ), T.div( T.label(for_='new-request-message')('Message'), T.textarea(name='message', id='new-request-message', rows='40', cols='120')(message), ), T.div( T.label(for_='new-request-target-date')('Push Date'), T.input(name='target_date', id='new-request-target-date', class_='date', value=logic.tznow().date().strftime('%Y-%m-%d')), ), T.fieldset(class_='flags')( T.legend('Flags'), T.div( T.input(id='new-request-urgent', type='checkbox', name='urgent', class_='checkbox'), T.label(for_='new-request-urgent', class_='checkbox')('Urgent (e.g. P0)'), ), T.div( T.input(id='new-request-tests-pass', type='checkbox', name='tests_pass', class_='checkbox'), T.label(for_='new-request-tests-pass', class_='checkbox')('Passes Buildbot'), ), T.div( T.input(id='new-request-no-testing', type='checkbox', name='no_testing', class_='checkbox'), T.label(for_='new-request-no-testing', class_='checkbox')('No Testing Required'), ), T.div( T.input(id='new-request-push-plans', type='checkbox', name='push_plans', class_='checkbox'), T.label(class_='checkbox', for_='new-request-push-plans')('Push Plans'), ), T.div( T.input(id='new-request-js-serials', type='checkbox', name='js_serials', class_='checkbox'), T.label(class_='checkbox', for_='new-request-js-serials')('Bump Javascript Serials'), ), T.div( T.input(id='new-request-img-serials', type='checkbox', name='img_serials', class_='checkbox'), T.label(class_='checkbox', for_='new-request-img-serials')('Bump Image Serials'), ), ), T.button(type='submit')('Create') ), ), ) if push: content(T.input(type='hidden', name='push', value=str(push.key()))) return form