remove unused imports and variables
This commit is contained in:
parent
f1f020a4b0
commit
f167cb5cf3
|
@ -14,18 +14,17 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import random
|
||||
import time
|
||||
import email.Parser
|
||||
|
||||
from quixote import get_response, get_request, get_session, redirect
|
||||
from quixote import get_response, redirect
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import htmltext, TemplateIO
|
||||
|
||||
from qommon import errors
|
||||
from qommon import misc
|
||||
from qommon.bounces import Bounce
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.menu import html_top, command_icon
|
||||
|
||||
from qommon.form import *
|
||||
|
||||
|
|
|
@ -18,10 +18,9 @@ from quixote import redirect
|
|||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon import misc
|
||||
from wcs.categories import Category
|
||||
from qommon.form import *
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.menu import html_top
|
||||
|
||||
from wcs.formdef import FormDef
|
||||
|
||||
|
|
|
@ -14,13 +14,13 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from quixote import redirect, get_publisher
|
||||
from quixote import redirect
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon.form import *
|
||||
from qommon import errors, misc
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.menu import html_top, command_icon
|
||||
|
||||
from wcs import fields
|
||||
from wcs.formdef import FormDef
|
||||
|
|
|
@ -36,20 +36,19 @@ from quixote.html import TemplateIO, htmltext
|
|||
from qommon import misc
|
||||
from qommon.errors import *
|
||||
from qommon.form import *
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.menu import html_top
|
||||
from qommon import get_logger
|
||||
|
||||
from qommon import tokens
|
||||
from qommon.afterjobs import AfterJob
|
||||
from qommon import emails
|
||||
|
||||
from wcs.formdata import FormData, Evolution
|
||||
from wcs.formdef import FormDef, FormField
|
||||
from wcs.formdef import FormDef
|
||||
from wcs.categories import Category
|
||||
from wcs.roles import Role, logged_users_role, get_user_roles
|
||||
from wcs.workflows import Workflow
|
||||
|
||||
from fields import FieldWidget, FieldDefPage, FieldsDirectory
|
||||
from fields import FieldDefPage, FieldsDirectory
|
||||
|
||||
def indent(elem, level=0):
|
||||
# in-place prettyprint formatter
|
||||
|
@ -158,10 +157,10 @@ class FieldsDirectory(FieldsDirectory):
|
|||
r += htmltext('<p>')
|
||||
r += _('This form is currently disabled.')
|
||||
if hasattr(self.objectdef, str('disabled_redirection')) \
|
||||
and self.objectdef.disabled_redirection:
|
||||
r += htmltext(' (<a href="%s">') % self.objectdef.disabled_redirection
|
||||
r += _('redirection')
|
||||
r += htmltext('</a>)')
|
||||
and self.objectdef.disabled_redirection:
|
||||
r += htmltext(' (<a href="%s">') % self.objectdef.disabled_redirection
|
||||
r += _('redirection')
|
||||
r += htmltext('</a>)')
|
||||
r += htmltext(' <a href="../enable?back=fields">%s</a>') % _('Enable')
|
||||
r += htmltext('</p>')
|
||||
return r.getvalue()
|
||||
|
@ -1397,7 +1396,7 @@ class FormsDirectory(AccessControlled, Directory):
|
|||
get_response().breadcrumb.append( ('forms/', _('Forms')) )
|
||||
get_response().breadcrumb.append( ('new', _('New')) )
|
||||
if Role.count() == 0:
|
||||
return error_page('forms', _('You first have to define roles.'))
|
||||
return template.error_page('forms', _('You first have to define roles.'))
|
||||
formdefui = FormDefUI(None)
|
||||
form = formdefui.new_form_ui()
|
||||
if form.get_widget('cancel').parse():
|
||||
|
|
|
@ -18,11 +18,9 @@ from quixote import redirect
|
|||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon import misc
|
||||
from qommon.form import *
|
||||
|
||||
from qommon import errors
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.menu import html_top
|
||||
|
||||
from wcs.roles import Role
|
||||
from wcs.formdef import FormDef
|
||||
|
|
|
@ -18,7 +18,6 @@ import copy
|
|||
import cStringIO
|
||||
import cPickle
|
||||
import random
|
||||
import re
|
||||
import os
|
||||
import urllib2
|
||||
try:
|
||||
|
@ -26,7 +25,6 @@ try:
|
|||
except ImportError:
|
||||
lasso = None
|
||||
import zipfile
|
||||
import base64
|
||||
import shutil
|
||||
|
||||
try:
|
||||
|
@ -39,15 +37,15 @@ except ImportError:
|
|||
|
||||
|
||||
from quixote import get_publisher, get_request, get_response, redirect
|
||||
from quixote.directory import Directory, AccessControlled
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon import misc, get_cfg
|
||||
from qommon import get_cfg
|
||||
from qommon import errors
|
||||
from qommon.form import *
|
||||
from qommon.sms import SMS
|
||||
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.menu import html_top, error_page
|
||||
from qommon.admin.certificates import CertificatesDirectory, m2crypto
|
||||
from qommon.admin.cfg import cfg_submit
|
||||
from qommon.admin.emails import EmailsDirectory
|
||||
|
@ -57,7 +55,7 @@ import qommon.ident
|
|||
import qommon.template
|
||||
|
||||
from formdef import FormDef
|
||||
from fields import FieldWidget, FieldDefPage, FieldsDirectory
|
||||
from fields import FieldDefPage, FieldsDirectory
|
||||
from wcs.roles import Role
|
||||
|
||||
class UserFormDirectory(Directory):
|
||||
|
@ -216,7 +214,6 @@ class UsersDirectory(Directory):
|
|||
|
||||
def _q_traverse(self, path):
|
||||
get_response().breadcrumb.append(('users/', _('Users')))
|
||||
filename = os.path.join(get_publisher().app_dir, 'config', 'user')
|
||||
self.fields = UserFieldsDirectory(UserFieldsFormDef())
|
||||
return Directory._q_traverse(self, path)
|
||||
|
||||
|
@ -851,11 +848,11 @@ class SettingsDirectory(QommonSettingsDirectory):
|
|||
try:
|
||||
r += htmltext('<li>%s %s</li>') % (_('SMS Credit:'), sms.get_money_left())
|
||||
except NotImplementedError:
|
||||
pass
|
||||
pass
|
||||
try:
|
||||
r += htmltext('<li>%s %s</li>') % (_('SMS Left:'), sms.get_sms_left())
|
||||
except NotImplementedError:
|
||||
pass
|
||||
pass
|
||||
except errors.SMSError:
|
||||
r += htmltext("<p>%s</li>") % _("Connection with SMS provider failed")
|
||||
r += htmltext('</ul>')
|
||||
|
|
|
@ -14,10 +14,6 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import random
|
||||
|
||||
from cStringIO import StringIO
|
||||
|
||||
try:
|
||||
set
|
||||
except NameError:
|
||||
|
@ -34,8 +30,7 @@ from wcs.roles import Role
|
|||
import qommon.ident
|
||||
from qommon.form import *
|
||||
from qommon.admin.emails import EmailsDirectory
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon import ezt
|
||||
from qommon.admin.menu import html_top, error_page
|
||||
|
||||
class UserUI:
|
||||
def __init__(self, user):
|
||||
|
@ -321,8 +316,6 @@ class UsersDirectory(Directory):
|
|||
else:
|
||||
get_response().filter['sidebar'] = self.get_sidebar()
|
||||
|
||||
debug_cfg = get_cfg('debug', {})
|
||||
|
||||
users = get_publisher().user_class.select(order_by = 'name')
|
||||
|
||||
checked_roles = None
|
||||
|
|
|
@ -29,7 +29,7 @@ from quixote.html import TemplateIO, htmltext
|
|||
from qommon import errors
|
||||
from qommon import misc
|
||||
from qommon.form import *
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.menu import html_top, command_icon
|
||||
from qommon import get_logger
|
||||
|
||||
from wcs.workflows import *
|
||||
|
|
|
@ -222,7 +222,6 @@ class RootDirectory(BackofficeRootDirectory):
|
|||
get_response().add_javascript(['jquery.js'])
|
||||
DateWidget.prepare_javascript()
|
||||
form = Form(use_tokens=False)
|
||||
site_charset = get_publisher().site_charset
|
||||
form.add(DateWidget, 'start', title=_('Start Date'))
|
||||
form.add(DateWidget, 'end', title=_('End Date'))
|
||||
form.add_submit('submit', _('Submit'))
|
||||
|
@ -528,7 +527,7 @@ class FormPage(Directory):
|
|||
r += htmltext('<input type="submit" class="refresh" value="%s"/>') % _('Refresh')
|
||||
|
||||
r += htmltext('<button id="columns-settings">%s</button>') % _('Columns Settings')
|
||||
r += htmltext('<div style="display: none";>');
|
||||
r += htmltext('<div style="display: none";>')
|
||||
r += htmltext('<ul id="columns-filter">')
|
||||
for field in self.get_formdef_fields():
|
||||
if not hasattr(field, str('get_view_value')):
|
||||
|
|
|
@ -94,7 +94,6 @@ class Category(StorableObject):
|
|||
from qommon.admin.menu import is_accessible
|
||||
if not self.description:
|
||||
return None
|
||||
r = TemplateIO(html=True)
|
||||
text = self.description
|
||||
if text[0] != '<':
|
||||
text = '<p>%s</p>' % text
|
||||
|
|
|
@ -16,10 +16,9 @@
|
|||
|
||||
import collections
|
||||
import json
|
||||
import string
|
||||
import urllib2
|
||||
|
||||
from quixote.html import htmltext, TemplateIO
|
||||
from quixote.html import TemplateIO
|
||||
from qommon.form import *
|
||||
from qommon.misc import get_variadic_url
|
||||
from qommon import get_logger
|
||||
|
|
|
@ -73,7 +73,6 @@ def get_json_dict(fields, data):
|
|||
value = data.get(field.id)
|
||||
if value and hasattr(field, 'get_json_value'):
|
||||
value = field.get_json_value(value)
|
||||
display_value = data.get('%s_display' % field.id)
|
||||
else:
|
||||
value = display_value = None
|
||||
if field.store_display_value:
|
||||
|
|
|
@ -530,7 +530,6 @@ class FormDef(StorableObject):
|
|||
formdef.category_id = int(category_node.attrib.get('category_id'))
|
||||
else:
|
||||
category = category_node.text.encode(charset)
|
||||
cats = Category.select()
|
||||
for c in Category.select():
|
||||
if c.name == category:
|
||||
formdef.category_id = c.id
|
||||
|
@ -618,20 +617,6 @@ class FormDef(StorableObject):
|
|||
return v
|
||||
return None
|
||||
|
||||
def get_sign_text(self, dict = {}):
|
||||
text = ""
|
||||
on_disabled_page = False
|
||||
on_page = False
|
||||
for field in self.fields:
|
||||
if field.type != 'page':
|
||||
value = dict.get(field.id, '')
|
||||
if field.type == "table":
|
||||
value = field.get_rst_view_value(value)
|
||||
text += "[%s] %s\n%s\n--\n" % \
|
||||
(field.id, field.label, value)
|
||||
|
||||
return text
|
||||
|
||||
def get_substitution_variables(self, minimal=False):
|
||||
d = {
|
||||
'form_name': self.name,
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import os
|
||||
import urllib
|
||||
|
||||
from quixote import get_request, get_publisher
|
||||
|
|
|
@ -14,15 +14,10 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import base64
|
||||
import mimetypes
|
||||
|
||||
from quixote import get_publisher, get_request, get_response, get_session, redirect
|
||||
from quixote.directory import Directory, AccessControlled
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from wcs import formdata
|
||||
|
||||
from wcs.fields import WidgetField
|
||||
|
||||
from qommon import template
|
||||
|
@ -118,7 +113,7 @@ class FormStatusPage(Directory):
|
|||
return mine
|
||||
|
||||
def json(self):
|
||||
mine = self.check_auth()
|
||||
self.check_auth()
|
||||
return self.export_to_json()
|
||||
|
||||
def receipt_message(self, mine=False):
|
||||
|
@ -442,7 +437,6 @@ class FormStatusPage(Directory):
|
|||
return r.getvalue()
|
||||
|
||||
def submit(self, form, comment_only = False):
|
||||
status = None
|
||||
current_status = self.filled.status
|
||||
user = get_request().user
|
||||
next_url = self.filled.handle_workflow_form(user, form)
|
||||
|
@ -488,8 +482,8 @@ class FormStatusPage(Directory):
|
|||
|
||||
def _q_lookup(self, component):
|
||||
if component == 'files':
|
||||
self.check_receiver()
|
||||
return FilesDirectory(self.filled)
|
||||
self.check_receiver()
|
||||
return FilesDirectory(self.filled)
|
||||
return Directory._q_lookup(self, component)
|
||||
|
||||
def _q_traverse(self, path):
|
||||
|
|
|
@ -15,9 +15,7 @@
|
|||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
import urllib
|
||||
import re
|
||||
import sys
|
||||
|
||||
|
@ -28,7 +26,6 @@ from quixote.form.widget import *
|
|||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon import errors, get_cfg
|
||||
from wcs import formdata
|
||||
from qommon import misc, get_logger
|
||||
from qommon import template
|
||||
from qommon.form import *
|
||||
|
@ -37,9 +34,8 @@ from qommon import ezt
|
|||
|
||||
from wcs.anonylink import AnonymityLink
|
||||
from wcs.categories import Category
|
||||
from wcs.formdef import FormField, FormDef
|
||||
from wcs.formdef import FormDef
|
||||
from wcs.formdata import FormData
|
||||
from wcs.users import User
|
||||
from wcs.roles import logged_users_role
|
||||
from wcs.workflows import Workflow, EditableWorkflowStatusItem
|
||||
from wcs.api import get_user_from_api_query_string
|
||||
|
@ -48,14 +44,6 @@ from qommon.admin.texts import TextsDirectory
|
|||
|
||||
from backoffice import FormDefUI
|
||||
|
||||
try:
|
||||
import elementtree.ElementTree as ET
|
||||
except ImportError:
|
||||
try:
|
||||
import xml.etree.ElementTree as ET
|
||||
except ImportError:
|
||||
ET = None
|
||||
|
||||
|
||||
def html_top(title = None):
|
||||
template.html_top(title = title, default_org = _('Forms'))
|
||||
|
@ -763,7 +751,6 @@ class RootDirectory(AccessControlled, Directory):
|
|||
request = get_request()
|
||||
user = request.user
|
||||
|
||||
home_cfg = get_cfg('home', {})
|
||||
if not self.category:
|
||||
get_logger().info('home page')
|
||||
if user:
|
||||
|
@ -994,7 +981,6 @@ class RootDirectory(AccessControlled, Directory):
|
|||
list_forms = list_forms + advertised_forms
|
||||
cats = Category.select()
|
||||
Category.sort_by_position(cats)
|
||||
one = False
|
||||
for c in cats:
|
||||
if [x for x in list_forms if x.category_id == c.id]:
|
||||
result.append(c)
|
||||
|
|
|
@ -19,9 +19,7 @@ from quixote.directory import Directory
|
|||
from quixote.html import TemplateIO, htmltext
|
||||
|
||||
from qommon.form import *
|
||||
from qommon import misc, get_cfg
|
||||
from qommon.admin.menu import html_top, command_icon, error_page
|
||||
from qommon.admin.cfg import cfg_submit
|
||||
from qommon.admin.menu import html_top, command_icon
|
||||
|
||||
try:
|
||||
from qommon.certificate import CertificateAuthorities
|
||||
|
|
|
@ -17,12 +17,11 @@
|
|||
import os
|
||||
import random
|
||||
|
||||
from quixote import get_publisher, get_request, get_response, redirect
|
||||
from quixote import get_publisher, get_request, get_response
|
||||
from quixote.html import htmltext, TemplateIO
|
||||
from quixote.directory import Directory
|
||||
|
||||
from qommon import logger
|
||||
from qommon import misc
|
||||
from qommon.admin.menu import html_top, error_page
|
||||
|
||||
class ByUserDirectory(Directory):
|
||||
|
|
|
@ -23,10 +23,8 @@ from quixote.directory import Directory
|
|||
|
||||
from qommon.form import *
|
||||
from qommon import misc, get_cfg, ezt
|
||||
from qommon.misc import is_user_admin
|
||||
from qommon.admin.menu import html_top, is_accessible
|
||||
|
||||
from cfg import cfg_submit
|
||||
|
||||
class TextsDirectory(Directory):
|
||||
texts_dict = {}
|
||||
|
|
|
@ -15,13 +15,11 @@
|
|||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
import random
|
||||
import string
|
||||
import time
|
||||
import csv
|
||||
|
||||
from base import AuthMethod, NoSuchMethodForUserError
|
||||
|
||||
import quixote
|
||||
from quixote import redirect, get_publisher
|
||||
from quixote.directory import AccessControlled, Directory
|
||||
from quixote.html import TemplateIO, htmltext
|
||||
|
@ -1055,7 +1053,6 @@ class UsernamePasswordWidget(CompositeWidget):
|
|||
self.add(StringWidget, 'username', value.get('username'), title = _('Username'),
|
||||
required = kwargs.get('required'))
|
||||
|
||||
passwords_cfg = get_cfg('passwords', {})
|
||||
if value.get('password'):
|
||||
kwargs['required'] = False
|
||||
self.add(PasswordWidget, 'password', title = _('Password'),
|
||||
|
@ -1090,8 +1087,6 @@ class MethodUserDirectory(Directory):
|
|||
raise NoSuchMethodForUserError()
|
||||
|
||||
def get_actions(self):
|
||||
passwords_cfg = get_cfg('passwords', {})
|
||||
|
||||
actions = []
|
||||
if self.account.hashing_algo:
|
||||
actions.append(('email', _('Send new password by email')))
|
||||
|
@ -1240,7 +1235,6 @@ class AccountDirectory(Directory):
|
|||
return Directory._q_traverse(self, path)
|
||||
|
||||
def _q_index(self):
|
||||
passwords_cfg = get_cfg('passwords', {})
|
||||
identities_cfg = get_cfg('identities', {})
|
||||
users_cfg = get_cfg('users', {})
|
||||
|
||||
|
|
|
@ -68,9 +68,9 @@ class Metadata(object):
|
|||
'''Return new or earlier version of PEM keys'''
|
||||
dir = self.publisher.app_dir
|
||||
if not signing_pem_key and self.config.get('publickey'):
|
||||
signing_pem_key = file(os.path.join(dir, 'public-key.pem')).read()
|
||||
signing_pem_key = file(os.path.join(dir, 'public-key.pem')).read()
|
||||
if not encryption_pem_key and self.config.get('encryption_publickey'):
|
||||
encryption_pem_key = file(os.path.join(dir, 'encryption-public-key.pem')).read()
|
||||
encryption_pem_key = file(os.path.join(dir, 'encryption-public-key.pem')).read()
|
||||
return (signing_pem_key, encryption_pem_key)
|
||||
|
||||
def get_key_descriptors(self, signing_pem_key, encryption_pem_key):
|
||||
|
|
|
@ -15,12 +15,12 @@
|
|||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
from quixote import get_publisher, get_request, redirect, get_response, get_session_manager
|
||||
from quixote.directory import AccessControlled, Directory
|
||||
from quixote.directory import Directory
|
||||
from quixote.html import htmltext, TemplateIO
|
||||
|
||||
from qommon import template
|
||||
from qommon.form import *
|
||||
from qommon import get_cfg, get_logger
|
||||
from qommon import get_cfg
|
||||
from qommon import errors
|
||||
|
||||
import qommon.ident.password
|
||||
|
@ -188,7 +188,6 @@ class MyspaceDirectory(Directory):
|
|||
|
||||
if form.is_submitted() and not form.has_errors():
|
||||
user = get_request().user
|
||||
ident_methods = get_cfg('identification', {}).get('methods', ['idp']) or []
|
||||
try:
|
||||
account = PasswordAccount.get_on_index(user.id, str('user_id'))
|
||||
account.remove_self()
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
|
||||
import os
|
||||
import time
|
||||
import tempfile
|
||||
|
||||
from quixote import get_publisher
|
||||
|
||||
|
|
|
@ -35,7 +35,6 @@ class Role(StorableObject):
|
|||
emails = self.emails or []
|
||||
if not self.emails_to_members:
|
||||
return emails
|
||||
import users
|
||||
users_with_roles = get_publisher().user_class.get_users_with_role(self.id)
|
||||
emails.extend([x.email for x in users_with_roles if x.email])
|
||||
return emails
|
||||
|
|
|
@ -44,7 +44,6 @@ from qommon.afterjobs import AfterJobStatusDirectory
|
|||
|
||||
from categories import Category
|
||||
from formdef import FormDef
|
||||
from formdata import FormData
|
||||
from anonylink import AnonymityLink
|
||||
from roles import Role
|
||||
from wcs.api import get_user_from_api_query_string
|
||||
|
@ -254,7 +253,6 @@ class RootDirectory(Directory):
|
|||
user.identification_token = None
|
||||
user.store()
|
||||
|
||||
old_name = session.user
|
||||
session.set_user(user.id)
|
||||
|
||||
for anonylink in AnonymityLink.select(
|
||||
|
|
|
@ -22,14 +22,12 @@ except ImportError:
|
|||
except ImportError:
|
||||
ET = None
|
||||
|
||||
from qommon.publisher import get_publisher_class
|
||||
from qommon.form import *
|
||||
|
||||
from wcs.workflows import WorkflowStatusItem, register_item_class, \
|
||||
get_role_translation
|
||||
from wcs.workflows import WorkflowStatusItem, register_item_class
|
||||
from wcs.formdef import FormDef
|
||||
|
||||
from wcs.admin.fields import FieldWidget, FieldDefPage, FieldsDirectory
|
||||
from wcs.admin.fields import FieldDefPage, FieldsDirectory
|
||||
from wcs.formdata import get_json_dict
|
||||
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ from qommon.publisher import get_publisher_class
|
|||
from qommon.cron import CronJob
|
||||
|
||||
from wcs.workflows import Workflow, WorkflowStatusJumpItem, register_item_class
|
||||
from wcs.formdata import Evolution
|
||||
from wcs.api import get_user_from_api_query_string
|
||||
|
||||
|
||||
|
|
|
@ -16,11 +16,9 @@
|
|||
|
||||
from wcs.qommon.humantime import *
|
||||
|
||||
from wcs.workflows import Workflow, WorkflowStatusJumpItem, register_item_class
|
||||
from wcs.workflows import WorkflowStatusJumpItem, register_item_class
|
||||
|
||||
from wcs.formdata import Evolution
|
||||
from qommon.form import *
|
||||
from qommon.publisher import get_publisher_class
|
||||
|
||||
class TimeoutWorkflowStatusItem(WorkflowStatusJumpItem):
|
||||
description = N_('Change Status on Timeout')
|
||||
|
|
Loading…
Reference in New Issue