--- a/.hgtags Wed Oct 07 12:38:30 2009 +0200
+++ b/.hgtags Fri Oct 09 16:39:26 2009 +0200
@@ -76,3 +76,7 @@
f476cecd46904f215bd29249ded8508d8f5634d7 cubicweb-debian-version-3.5.1-1
1f0aa3cd5af2c92df8f9695773b8e465eb6f1795 cubicweb-version-3.5.2
75cc4aa76fb12c06d4190956aa050cdf19ba4d8f cubicweb-debian-version-3.5.2-1
+540210e138d323e5224d7b08cbd71f5a23ed630d cubicweb-version-3.5.3
+2e22b975f9c23aebfe3e0a16a798c3fe81fa2a82 cubicweb-debian-version-3.5.3-1
+312349b3712e0a3e32247e03fdc7408e17bd19de cubicweb-version-3.5.4
+37d025b2aa7735dae4a861059014c560b45b19e6 cubicweb-debian-version-3.5.4-1
--- a/__init__.py Wed Oct 07 12:38:30 2009 +0200
+++ b/__init__.py Fri Oct 09 16:39:26 2009 +0200
@@ -55,7 +55,7 @@
"Binary objects must use raw strings, not %s" % data.__class__
StringIO.write(self, data)
-# use this dictionary for renaming of entity types while keeping bw compath
+# use this dictionary for renaming of entity types while keeping bw compat
ETYPE_NAME_MAP = {# 3.2 migration
'ECache': 'CWCache',
'EUser': 'CWUser',
--- a/__pkginfo__.py Wed Oct 07 12:38:30 2009 +0200
+++ b/__pkginfo__.py Fri Oct 09 16:39:26 2009 +0200
@@ -7,7 +7,7 @@
distname = "cubicweb"
modname = "cubicweb"
-numversion = (3, 5, 2)
+numversion = (3, 5, 4)
version = '.'.join(str(num) for num in numversion)
license = 'LGPL v2'
--- a/cwctl.py Wed Oct 07 12:38:30 2009 +0200
+++ b/cwctl.py Fri Oct 09 16:39:26 2009 +0200
@@ -71,7 +71,10 @@
def ordered_instances(self):
"""return instances in the order in which they should be started,
considering $REGISTRY_DIR/startorder file if it exists (useful when
- some instances depends on another as external source
+ some instances depends on another as external source).
+
+ Instance used by another one should appears first in the file (one
+ instance per line)
"""
regdir = cwcfg.registry_dir()
_allinstances = list_instances(regdir)
--- a/debian/changelog Wed Oct 07 12:38:30 2009 +0200
+++ b/debian/changelog Fri Oct 09 16:39:26 2009 +0200
@@ -1,3 +1,15 @@
+cubicweb (3.5.4-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- Sylvain Thénault <sylvain.thenault@logilab.fr> Wed, 07 Oct 2009 20:58:35 +0200
+
+cubicweb (3.5.3-1) unstable; urgency=low
+
+ * new upstream release
+
+ -- Sylvain Thénault <sylvain.thenault@logilab.fr> Wed, 07 Oct 2009 15:35:10 +0200
+
cubicweb (3.5.2-1) unstable; urgency=low
* new upstream release
--- a/entities/test/unittest_wfobjs.py Wed Oct 07 12:38:30 2009 +0200
+++ b/entities/test/unittest_wfobjs.py Fri Oct 09 16:39:26 2009 +0200
@@ -158,7 +158,7 @@
'WHERE T name "deactivate"')
self._test_stduser_deactivate()
- def test_subworkflow_base(self):
+ def test_swf_base(self):
"""subworkflow
+-----------+ tr1 +-----------+
@@ -239,7 +239,7 @@
('swfstate3', 'state3', 'swftr1', 'exiting from subworkflow subworkflow'),
])
- def test_subworkflow_exit_consistency(self):
+ def test_swf_exit_consistency(self):
# sub-workflow
swf = add_wf(self, 'CWGroup', name='subworkflow')
swfstate1 = swf.add_state(u'swfstate1', initial=True)
@@ -255,6 +255,68 @@
ex = self.assertRaises(ValidationError, self.commit)
self.assertEquals(ex.errors, {'subworkflow_exit': u"can't have multiple exits on the same state"})
+ def test_swf_fire_in_a_row(self):
+ # sub-workflow
+ subwf = add_wf(self, 'CWGroup', name='subworkflow')
+ xsigning = subwf.add_state('xsigning', initial=True)
+ xaborted = subwf.add_state('xaborted')
+ xsigned = subwf.add_state('xsigned')
+ xabort = subwf.add_transition('xabort', (xsigning,), xaborted)
+ xsign = subwf.add_transition('xsign', (xsigning,), xsigning)
+ xcomplete = subwf.add_transition('xcomplete', (xsigning,), xsigned,
+ type=u'auto')
+ # main workflow
+ twf = add_wf(self, 'CWGroup', name='mainwf', default=True)
+ created = twf.add_state(_('created'), initial=True)
+ identified = twf.add_state(_('identified'))
+ released = twf.add_state(_('released'))
+ closed = twf.add_state(_('closed'))
+ twf.add_wftransition(_('identify'), subwf, (created,),
+ [(xsigned, identified), (xaborted, created)])
+ twf.add_wftransition(_('release'), subwf, (identified,),
+ [(xsigned, released), (xaborted, identified)])
+ twf.add_wftransition(_('close'), subwf, (released,),
+ [(xsigned, closed), (xaborted, released)])
+ self.commit()
+ group = self.add_entity('CWGroup', name=u'grp1')
+ self.commit()
+ for trans in ('identify', 'release', 'close'):
+ group.fire_transition(trans)
+ self.commit()
+
+
+ def test_swf_magic_tr(self):
+ # sub-workflow
+ subwf = add_wf(self, 'CWGroup', name='subworkflow')
+ xsigning = subwf.add_state('xsigning', initial=True)
+ xaborted = subwf.add_state('xaborted')
+ xsigned = subwf.add_state('xsigned')
+ xabort = subwf.add_transition('xabort', (xsigning,), xaborted)
+ xsign = subwf.add_transition('xsign', (xsigning,), xsigned)
+ # main workflow
+ twf = add_wf(self, 'CWGroup', name='mainwf', default=True)
+ created = twf.add_state(_('created'), initial=True)
+ identified = twf.add_state(_('identified'))
+ released = twf.add_state(_('released'))
+ twf.add_wftransition(_('identify'), subwf, created,
+ [(xaborted, None), (xsigned, identified)])
+ twf.add_wftransition(_('release'), subwf, identified,
+ [(xaborted, None)])
+ self.commit()
+ group = self.add_entity('CWGroup', name=u'grp1')
+ self.commit()
+ for trans, nextstate in (('identify', 'xsigning'),
+ ('xabort', 'created'),
+ ('identify', 'xsigning'),
+ ('xsign', 'identified'),
+ ('release', 'xsigning'),
+ ('xabort', 'identified')
+ ):
+ group.fire_transition(trans)
+ self.commit()
+ group.clear_all_caches()
+ self.assertEquals(group.state, nextstate)
+
class CustomWorkflowTC(CubicWebTC):
--- a/entities/wfobjs.py Wed Oct 07 12:38:30 2009 +0200
+++ b/entities/wfobjs.py Fri Oct 09 16:39:26 2009 +0200
@@ -124,27 +124,28 @@
tr.set_transition_permissions(requiredgroups, conditions, reset=False)
return tr
- def add_transition(self, name, fromstates, tostate,
+ def add_transition(self, name, fromstates, tostate=None,
requiredgroups=(), conditions=(), **kwargs):
"""add a transition to this workflow from some state(s) to another"""
tr = self._add_transition('Transition', name, fromstates,
requiredgroups, conditions, **kwargs)
- if hasattr(tostate, 'eid'):
- tostate = tostate.eid
- self._cw.execute('SET T destination_state S '
- 'WHERE S eid %(s)s, T eid %(t)s',
- {'t': tr.eid, 's': tostate}, ('s', 't'))
+ if tostate is not None:
+ if hasattr(tostate, 'eid'):
+ tostate = tostate.eid
+ self._cw.execute('SET T destination_state S '
+ 'WHERE S eid %(s)s, T eid %(t)s',
+ {'t': tr.eid, 's': tostate}, ('s', 't'))
return tr
- def add_wftransition(self, name, subworkflow, fromstates, exitpoints,
+ def add_wftransition(self, name, subworkflow, fromstates, exitpoints=(),
requiredgroups=(), conditions=(), **kwargs):
"""add a workflow transition to this workflow"""
tr = self._add_transition('WorkflowTransition', name, fromstates,
requiredgroups, conditions, **kwargs)
if hasattr(subworkflow, 'eid'):
subworkflow = subworkflow.eid
- self._cw.execute('SET T subworkflow WF WHERE WF eid %(wf)s,T eid %(t)s',
- {'t': tr.eid, 'wf': subworkflow}, ('wf', 't'))
+ assert _cw.req.execute('SET T subworkflow WF WHERE WF eid %(wf)s,T eid %(t)s',
+ {'t': tr.eid, 'wf': subworkflow}, ('wf', 't'))
for fromstate, tostate in exitpoints:
tr.add_exit_point(fromstate, tostate)
return tr
@@ -258,28 +259,37 @@
def add_exit_point(self, fromstate, tostate):
if hasattr(fromstate, 'eid'):
fromstate = fromstate.eid
- if hasattr(tostate, 'eid'):
- tostate = tostate.eid
- self._cw.execute('INSERT SubWorkflowExitPoint X: T subworkflow_exit X, '
- 'X subworkflow_state FS, X destination_state TS '
- 'WHERE T eid %(t)s, FS eid %(fs)s, TS eid %(ts)s',
- {'t': self.eid, 'fs': fromstate, 'ts': tostate},
- ('t', 'fs', 'ts'))
+ if tostate is None:
+ self._cw.execute('INSERT SubWorkflowExitPoint X: T subworkflow_exit X, '
+ 'X subworkflow_state FS WHERE T eid %(t)s, FS eid %(fs)s',
+ {'t': self.eid, 'fs': fromstate}, ('t', 'fs'))
+ else:
+ if hasattr(tostate, 'eid'):
+ tostate = tostate.eid
+ self._cw.execute('INSERT SubWorkflowExitPoint X: T subworkflow_exit X, '
+ 'X subworkflow_state FS, X destination_state TS '
+ 'WHERE T eid %(t)s, FS eid %(fs)s, TS eid %(ts)s',
+ {'t': self.eid, 'fs': fromstate, 'ts': tostate},
+ ('t', 'fs', 'ts'))
- def get_exit_point(self, state):
+ def get_exit_point(self, entity, stateeid):
"""if state is an exit point, return its associated destination state"""
- if hasattr(state, 'eid'):
- state = state.eid
- stateeid = self.exit_points().get(state)
- if stateeid is not None:
- return self._cw.entity_from_eid(stateeid)
- return None
+ if hasattr(stateeid, 'eid'):
+ stateeid = stateeid.eid
+ try:
+ tostateeid = self.exit_points()[stateeid]
+ except KeyError:
+ return None
+ if tostateeid is None:
+ # go back to state from which we've entered the subworkflow
+ return entity.subworkflow_input_trinfo().previous_state
+ return self._cw.entity_from_eid(tostateeid)
@cached
def exit_points(self):
result = {}
for ep in self.subworkflow_exit:
- result[ep.subwf_state.eid] = ep.destination.eid
+ result[ep.subwf_state.eid] = ep.destination and ep.destination.eid
return result
def clear_all_caches(self):
@@ -297,7 +307,7 @@
@property
def destination(self):
- return self.destination_state[0]
+ return self.destination_state and self.destination_state[0] or None
class State(AnyEntity):
@@ -458,11 +468,10 @@
"""
assert self.current_workflow
if isinstance(tr, basestring):
- tr = self.current_workflow.transition_by_name(tr)
- tr = self.current_workflow.transition_by_name(trname)
- if tr is None:
- raise WorkflowException('not a %s transition: %s' % (self.__regid__,
- trname))
+ _tr = self.current_workflow.transition_by_name(tr)
+ assert _tr is not None, 'not a %s transition: %s' % (
+ self.__regid__, tr)
+ tr = _tr
return self._add_trinfo(comment, commentformat, tr.eid)
def change_state(self, statename, comment=None, commentformat=None, tr=None):
@@ -487,18 +496,20 @@
# XXX try to find matching transition?
return self._add_trinfo(comment, commentformat, tr and tr.eid, stateeid)
- def subworkflow_input_transition(self):
- """return the transition which has went through the current sub-workflow
+ def subworkflow_input_trinfo(self):
+ """return the TrInfo which has be recorded when this entity went into
+ the current sub-workflow
"""
if self.main_workflow.eid == self.current_workflow.eid:
return # doesn't make sense
subwfentries = []
- for trinfo in reversed(self.workflow_history):
+ for trinfo in self.workflow_history:
if (trinfo.transition and
trinfo.previous_state.workflow.eid != trinfo.new_state.workflow.eid):
# entering or leaving a subworkflow
if (subwfentries and
- subwfentries[-1].new_state.workflow.eid == trinfo.previous_state.workflow.eid):
+ subwfentries[-1].new_state.workflow.eid == trinfo.previous_state.workflow.eid and
+ subwfentries[-1].previous_state.workflow.eid == trinfo.new_state.workflow.eid):
# leave
del subwfentries[-1]
else:
@@ -506,7 +517,12 @@
subwfentries.append(trinfo)
if not subwfentries:
return None
- return subwfentries[-1].transition
+ return subwfentries[-1]
+
+ def subworkflow_input_transition(self):
+ """return the transition which has went through the current sub-workflow
+ """
+ return getattr(self.subworkflow_input_trinfo(), 'transition', None)
def clear_all_caches(self):
super(WorkflowableMixIn, self).clear_all_caches()
--- a/entity.py Wed Oct 07 12:38:30 2009 +0200
+++ b/entity.py Fri Oct 09 16:39:26 2009 +0200
@@ -61,7 +61,7 @@
:cvar skip_copy_for: a list of relations that should be skipped when copying
this kind of entity. Note that some relations such
as composite relations or relations that have '?1' as object
- cardinality
+ cardinality are always skipped.
"""
__registry__ = 'etypes'
__select__ = yes()
@@ -373,7 +373,9 @@
# entity cloning ##########################################################
def copy_relations(self, ceid):
- """copy relations of the object with the given eid on this object
+ """copy relations of the object with the given eid on this
+ object (this method is called on the newly created copy, and
+ ceid designates the original entity).
By default meta and composite relations are skipped.
Overrides this if you want another behaviour
--- a/etwist/server.py Wed Oct 07 12:38:30 2009 +0200
+++ b/etwist/server.py Fri Oct 09 16:39:26 2009 +0200
@@ -35,10 +35,10 @@
# (start-repository command)
# See http://www.erlenstar.demon.co.uk/unix/faq_toc.html#TOC16
if os.fork(): # launch child and...
- os._exit(0)
+ return 1
os.setsid()
- if os.fork(): # launch child and...
- os._exit(0) # kill off parent again.
+ if os.fork(): # launch child again.
+ return 1
# move to the root to avoit mount pb
os.chdir('/')
# set paranoid umask
@@ -97,14 +97,17 @@
addSlash = False
def __init__(self, config, debug=None):
- self.appli = CubicWebPublisher(config, debug=debug)
self.debugmode = debug
self.config = config
self.base_url = config['base-url'] or config.default_base_url()
- self.versioned_datadir = 'data%s' % config.instance_md5_version()
assert self.base_url[-1] == '/'
self.https_url = config['https-url']
assert not self.https_url or self.https_url[-1] == '/'
+
+ def init_publisher(self):
+ config = self.config
+ self.appli = CubicWebPublisher(config, debug=self.debugmode)
+ self.versioned_datadir = 'data%s' % config.instance_md5_version()
# when we have an in-memory repository, clean unused sessions every XX
# seconds and properly shutdown the server
if config.repo_method == 'inmemory':
@@ -122,6 +125,9 @@
self.appli.repo.start_looping_tasks()
self.set_url_rewriter()
CW_EVENT_MANAGER.bind('after-registry-reload', self.set_url_rewriter)
+
+ def start_service(self):
+ config = self.config
interval = min(config['cleanup-session-time'] or 120,
config['cleanup-anonymous-session-time'] or 720) / 2.
start_task(interval, self.appli.session_handler.clean_sessions)
@@ -375,12 +381,12 @@
# serve it via standard HTTP on port set in the configuration
port = config['port'] or 8080
reactor.listenTCP(port, channel.HTTPFactory(website))
- baseurl = config['base-url'] or config.default_base_url()
logger = getLogger('cubicweb.twisted')
- logger.info('instance started on %s', baseurl)
+ logger.info('instance started on %s', root_resource.base_url)
if not debug:
print 'instance starting in the background'
- daemonize()
+ if daemonize():
+ return # child process
if config['pid-file']:
# ensure the directory where the pid-file should be set exists (for
# instance /var/run/cubicweb may be deleted on computer restart)
@@ -388,6 +394,7 @@
if not os.path.exists(piddir):
os.makedirs(piddir)
file(config['pid-file'], 'w').write(str(os.getpid()))
+ root_resource.init_publisher() # before changing uid
if config['uid'] is not None:
try:
uid = int(config['uid'])
@@ -395,6 +402,7 @@
from pwd import getpwnam
uid = getpwnam(config['uid']).pw_uid
os.setuid(uid)
+ root_resource.start_service()
if config['profile']:
prof = hotshot.Profile(config['profile'])
prof.runcall(reactor.run)
--- a/hooks/workflow.py Wed Oct 07 12:38:30 2009 +0200
+++ b/hooks/workflow.py Fri Oct 09 16:39:26 2009 +0200
@@ -242,7 +242,7 @@
# inconsistency detected
msg = session._("state doesn't belong to entity's current workflow")
raise ValidationError(entity.eid, {'to_state': msg})
- tostate = wftr.get_exit_point(entity['to_state'])
+ tostate = wftr.get_exit_point(forentity, entity['to_state'])
if tostate is not None:
# reached an exit point
msg = session._('exiting from subworkflow %s')
--- a/i18n/en.po Wed Oct 07 12:38:30 2009 +0200
+++ b/i18n/en.po Fri Oct 09 16:39:26 2009 +0200
@@ -31,6 +31,14 @@
msgstr ""
#, python-format
+msgid "%(attr)s set to %(newvalue)s"
+msgstr ""
+
+#, python-format
+msgid "%(attr)s updated from %(oldvalue)s to %(newvalue)s"
+msgstr ""
+
+#, python-format
msgid "%(cstr)s constraint failed for value %(value)r"
msgstr ""
@@ -118,6 +126,10 @@
msgid "%s software version of the database"
msgstr ""
+#, python-format
+msgid "%s updated"
+msgstr ""
+
msgid "(UNEXISTANT EID)"
msgstr ""
@@ -533,13 +545,13 @@
msgid "This CWConstraintType"
msgstr "This constraint type"
+msgid "This CWEType"
+msgstr "This entity type"
+
msgctxt "inlined:CWRelation.from_entity.subject"
msgid "This CWEType"
msgstr ""
-msgid "This CWEType"
-msgstr "This entity type"
-
msgctxt "inlined:CWRelation.to_entity.subject"
msgid "This CWEType"
msgstr ""
@@ -709,6 +721,12 @@
msgid "actions"
msgstr ""
+msgid "actions_about"
+msgstr ""
+
+msgid "actions_about_description"
+msgstr ""
+
msgid "actions_addentity"
msgstr "add an entity of this type"
@@ -727,6 +745,12 @@
msgid "actions_cancel_description"
msgstr ""
+msgid "actions_changelog"
+msgstr ""
+
+msgid "actions_changelog_description"
+msgstr ""
+
msgid "actions_copy"
msgstr "copy"
@@ -799,6 +823,12 @@
msgid "actions_myprefs_description"
msgstr ""
+msgid "actions_poweredby"
+msgstr ""
+
+msgid "actions_poweredby_description"
+msgstr ""
+
msgid "actions_prefs"
msgstr "preferences"
@@ -856,6 +886,9 @@
msgid "add"
msgstr ""
+msgid "add BaseTransition transition_of Workflow object"
+msgstr ""
+
msgid "add Bookmark bookmarked_by CWUser object"
msgstr "bookmark"
@@ -934,11 +967,11 @@
msgid "add WorkflowTransition transition_of Workflow object"
msgstr "workflow-transition"
-msgctxt "inlined:CWRelation.to_entity.subject"
+msgctxt "inlined:CWRelation.from_entity.subject"
msgid "add a CWEType"
msgstr "add an entity type"
-msgctxt "inlined:CWRelation.from_entity.subject"
+msgctxt "inlined:CWRelation.to_entity.subject"
msgid "add a CWEType"
msgstr "add an entity type"
@@ -974,6 +1007,10 @@
msgid "add_permission"
msgstr "add permission"
+msgctxt "CWGroup"
+msgid "add_permission_object"
+msgstr "can add"
+
msgctxt "RQLExpression"
msgid "add_permission_object"
msgstr "used to define add permission on"
@@ -981,10 +1018,6 @@
msgid "add_permission_object"
msgstr "has permission to add"
-msgctxt "CWGroup"
-msgid "add_permission_object"
-msgstr "can add"
-
#, python-format
msgid "added %(etype)s #%(eid)s (%(title)s)"
msgstr ""
@@ -996,7 +1029,7 @@
msgstr ""
msgid "addrelated"
-msgstr ""
+msgstr "add"
msgid "address"
msgstr ""
@@ -1005,13 +1038,13 @@
msgid "address"
msgstr "address"
+msgid "alias"
+msgstr ""
+
msgctxt "EmailAddress"
msgid "alias"
msgstr "alias"
-msgid "alias"
-msgstr ""
-
msgid "allow to set a specific workflow for an entity"
msgstr ""
@@ -1028,6 +1061,11 @@
msgid "allowed_transition"
msgstr "allowed transition"
+msgctxt "BaseTransition"
+msgid "allowed_transition_object"
+msgstr "incoming states"
+
+msgctxt "Transition"
msgid "allowed_transition_object"
msgstr "incoming states"
@@ -1035,11 +1073,6 @@
msgid "allowed_transition_object"
msgstr "incoming states"
-msgctxt "Transition"
-msgid "allowed_transition_object"
-msgstr "incoming states"
-
-msgctxt "BaseTransition"
msgid "allowed_transition_object"
msgstr "incoming states"
@@ -1098,6 +1131,9 @@
msgid "authentication failure"
msgstr ""
+msgid "auto"
+msgstr "automatic"
+
msgid "automatic"
msgstr ""
@@ -1211,17 +1247,13 @@
msgid "by relation"
msgstr ""
+msgid "by_transition"
+msgstr "by transition"
+
msgctxt "TrInfo"
msgid "by_transition"
msgstr "by transition"
-msgid "by_transition"
-msgstr "by transition"
-
-msgctxt "WorkflowTransition"
-msgid "by_transition_object"
-msgstr "transition information"
-
msgctxt "BaseTransition"
msgid "by_transition_object"
msgstr "transition information"
@@ -1230,6 +1262,10 @@
msgid "by_transition_object"
msgstr "transition information"
+msgctxt "WorkflowTransition"
+msgid "by_transition_object"
+msgstr "transition information"
+
msgid "by_transition_object"
msgstr "transition information"
@@ -1278,10 +1314,6 @@
msgid "cancel this insert"
msgstr ""
-msgctxt "CWRelation"
-msgid "cardinality"
-msgstr "cardinality"
-
msgid "cardinality"
msgstr "cardinality"
@@ -1289,6 +1321,10 @@
msgid "cardinality"
msgstr "cardinality"
+msgctxt "CWRelation"
+msgid "cardinality"
+msgstr "cardinality"
+
msgid "category"
msgstr ""
@@ -1389,7 +1425,10 @@
msgid "composite"
msgstr "composite"
-msgctxt "WorkflowTransition"
+msgid "condition"
+msgstr "condition"
+
+msgctxt "BaseTransition"
msgid "condition"
msgstr "condition"
@@ -1397,23 +1436,20 @@
msgid "condition"
msgstr "condition"
-msgid "condition"
-msgstr "condition"
-
-msgctxt "BaseTransition"
+msgctxt "WorkflowTransition"
msgid "condition"
msgstr "condition"
msgid "condition:"
msgstr "condtion:"
+msgctxt "RQLExpression"
+msgid "condition_object"
+msgstr ""
+
msgid "condition_object"
msgstr "condition of"
-msgctxt "RQLExpression"
-msgid "condition_object"
-msgstr ""
-
msgid "confirm password"
msgstr ""
@@ -1428,10 +1464,10 @@
msgid "constrained_by"
msgstr "constrained by"
+msgctxt "CWConstraint"
msgid "constrained_by_object"
msgstr "constraints"
-msgctxt "CWConstraint"
msgid "constrained_by_object"
msgstr "constraints"
@@ -1550,6 +1586,10 @@
msgid "created_by_object"
msgstr "has created"
+msgid ""
+"creating BaseTransition (BaseTransition transition_of Workflow %(linkto)s)"
+msgstr ""
+
msgid "creating Bookmark (Bookmark bookmarked_by CWUser %(linkto)s)"
msgstr "creating bookmark for %(linkto)s"
@@ -1654,20 +1694,20 @@
msgid "creation_date"
msgstr "creation date"
+msgid "cstrtype"
+msgstr "constraint's type"
+
msgctxt "CWConstraint"
msgid "cstrtype"
msgstr "constraint type"
-msgid "cstrtype"
-msgstr "constraint's type"
-
-msgid "cstrtype_object"
-msgstr "used by"
-
msgctxt "CWConstraintType"
msgid "cstrtype_object"
msgstr "constraint type of"
+msgid "cstrtype_object"
+msgstr "used by"
+
msgid "csv entities export"
msgstr ""
@@ -1726,17 +1766,17 @@
msgid "default workflow for an entity type"
msgstr ""
+msgid "default_workflow"
+msgstr "default workflow"
+
msgctxt "CWEType"
msgid "default_workflow"
msgstr "default workflow"
-msgid "default_workflow"
-msgstr "default workflow"
-
+msgctxt "Workflow"
msgid "default_workflow_object"
msgstr "default workflow of"
-msgctxt "Workflow"
msgid "default_workflow_object"
msgstr "default workflow of"
@@ -1804,14 +1844,15 @@
msgid "delete_permission"
msgstr "can be deleted by"
+msgctxt "CWEType"
+msgid "delete_permission"
+msgstr "delete permission"
+
msgctxt "CWRType"
msgid "delete_permission"
msgstr "delete permission"
-msgctxt "CWEType"
-msgid "delete_permission"
-msgstr "delete permission"
-
+msgctxt "CWGroup"
msgid "delete_permission_object"
msgstr "has permission to delete"
@@ -1819,7 +1860,6 @@
msgid "delete_permission_object"
msgstr "has permission to delete"
-msgctxt "CWGroup"
msgid "delete_permission_object"
msgstr "has permission to delete"
@@ -1839,7 +1879,11 @@
msgid "description"
msgstr ""
-msgctxt "Transition"
+msgctxt "CWEType"
+msgid "description"
+msgstr "description"
+
+msgctxt "CWRelation"
msgid "description"
msgstr "description"
@@ -1847,7 +1891,11 @@
msgid "description"
msgstr "description"
-msgctxt "CWRelation"
+msgctxt "CWAttribute"
+msgid "description"
+msgstr "description"
+
+msgctxt "Transition"
msgid "description"
msgstr "description"
@@ -1859,10 +1907,6 @@
msgid "description"
msgstr "description"
-msgctxt "CWEType"
-msgid "description"
-msgstr "description"
-
msgctxt "CWRType"
msgid "description"
msgstr "description"
@@ -1871,14 +1915,6 @@
msgid "description"
msgstr "description"
-msgctxt "CWAttribute"
-msgid "description"
-msgstr "description"
-
-msgctxt "CWRelation"
-msgid "description_format"
-msgstr "format"
-
msgid "description_format"
msgstr "format"
@@ -1886,6 +1922,10 @@
msgid "description_format"
msgstr "format"
+msgctxt "CWRelation"
+msgid "description_format"
+msgstr "format"
+
msgctxt "Workflow"
msgid "description_format"
msgstr "format"
@@ -1926,14 +1966,14 @@
msgid "destination_state"
msgstr "destination state"
+msgctxt "Transition"
+msgid "destination_state"
+msgstr ""
+
msgctxt "SubWorkflowExitPoint"
msgid "destination_state"
msgstr "destination state"
-msgctxt "Transition"
-msgid "destination_state"
-msgstr ""
-
msgctxt "State"
msgid "destination_state_object"
msgstr "destination of"
@@ -2091,13 +2131,13 @@
msgid "expected:"
msgstr ""
+msgid "expression"
+msgstr ""
+
msgctxt "RQLExpression"
msgid "expression"
msgstr ""
-msgid "expression"
-msgstr ""
-
msgid "exprtype"
msgstr "expression's type"
@@ -2153,37 +2193,37 @@
msgid "file tree view"
msgstr ""
+msgid "final"
+msgstr ""
+
msgctxt "CWEType"
msgid "final"
msgstr ""
-msgid "final"
-msgstr ""
-
msgctxt "CWRType"
msgid "final"
msgstr ""
+msgid "firstname"
+msgstr ""
+
msgctxt "CWUser"
msgid "firstname"
msgstr ""
-msgid "firstname"
-msgstr ""
-
msgid "foaf"
msgstr ""
msgid "follow"
msgstr ""
+msgid "for_user"
+msgstr "for user"
+
msgctxt "CWProperty"
msgid "for_user"
msgstr ""
-msgid "for_user"
-msgstr "for user"
-
msgctxt "CWUser"
msgid "for_user_object"
msgstr ""
@@ -2239,20 +2279,20 @@
msgid "full text or RQL query"
msgstr ""
+msgid "fulltext_container"
+msgstr "fulltext container"
+
msgctxt "CWRType"
msgid "fulltext_container"
msgstr "fulltext container"
-msgid "fulltext_container"
-msgstr "fulltext container"
+msgid "fulltextindexed"
+msgstr "fulltext indexed"
msgctxt "CWAttribute"
msgid "fulltextindexed"
msgstr ""
-msgid "fulltextindexed"
-msgstr "fulltext indexed"
-
msgid "generic plot"
msgstr ""
@@ -2389,10 +2429,10 @@
msgid "in memory relation schema"
msgstr ""
-msgctxt "CWUser"
msgid "in_group"
msgstr "in group"
+msgctxt "CWUser"
msgid "in_group"
msgstr "in group"
@@ -2447,10 +2487,10 @@
msgid "initial state for this workflow"
msgstr ""
-msgctxt "Workflow"
msgid "initial_state"
msgstr "initial state"
+msgctxt "Workflow"
msgid "initial_state"
msgstr "initial state"
@@ -2626,10 +2666,10 @@
msgid "main informations"
msgstr ""
-msgctxt "RQLExpression"
msgid "mainvars"
msgstr "main vars"
+msgctxt "RQLExpression"
msgid "mainvars"
msgstr "main vars"
@@ -2694,38 +2734,6 @@
msgid "my custom search"
msgstr ""
-msgctxt "CWPermission"
-msgid "name"
-msgstr "name"
-
-msgctxt "State"
-msgid "name"
-msgstr "name"
-
-msgctxt "BaseTransition"
-msgid "name"
-msgstr ""
-
-msgctxt "CWRType"
-msgid "name"
-msgstr ""
-
-msgctxt "CWGroup"
-msgid "name"
-msgstr ""
-
-msgctxt "WorkflowTransition"
-msgid "name"
-msgstr ""
-
-msgctxt "CWCache"
-msgid "name"
-msgstr ""
-
-msgid "name"
-msgstr ""
-
-msgctxt "CWConstraintType"
msgid "name"
msgstr ""
@@ -2741,6 +2749,38 @@
msgid "name"
msgstr ""
+msgctxt "CWGroup"
+msgid "name"
+msgstr ""
+
+msgctxt "CWConstraintType"
+msgid "name"
+msgstr ""
+
+msgctxt "WorkflowTransition"
+msgid "name"
+msgstr ""
+
+msgctxt "State"
+msgid "name"
+msgstr "name"
+
+msgctxt "CWPermission"
+msgid "name"
+msgstr "name"
+
+msgctxt "CWRType"
+msgid "name"
+msgstr ""
+
+msgctxt "BaseTransition"
+msgid "name"
+msgstr ""
+
+msgctxt "CWCache"
+msgid "name"
+msgstr ""
+
msgid "name of the cache"
msgstr ""
@@ -2804,6 +2844,9 @@
msgid "no version information"
msgstr ""
+msgid "normal"
+msgstr ""
+
msgid "not authorized"
msgstr ""
@@ -2843,7 +2886,6 @@
msgid "order"
msgstr ""
-msgctxt "CWRelation"
msgid "ordernum"
msgstr "order"
@@ -2851,6 +2893,7 @@
msgid "ordernum"
msgstr "order"
+msgctxt "CWRelation"
msgid "ordernum"
msgstr "order"
@@ -2910,10 +2953,10 @@
msgid "pick existing bookmarks"
msgstr ""
-msgctxt "CWProperty"
msgid "pkey"
msgstr "key"
+msgctxt "CWProperty"
msgid "pkey"
msgstr "key"
@@ -2959,13 +3002,13 @@
msgid "primary_email"
msgstr "primary email"
+msgctxt "EmailAddress"
+msgid "primary_email_object"
+msgstr ""
+
msgid "primary_email_object"
msgstr "primary email of"
-msgctxt "EmailAddress"
-msgid "primary_email_object"
-msgstr ""
-
msgid "progress"
msgstr ""
@@ -2981,6 +3024,9 @@
msgid "read_perm"
msgstr "read perm"
+msgid "read_permission"
+msgstr "can be read by"
+
msgctxt "CWEType"
msgid "read_permission"
msgstr "read permission"
@@ -2989,12 +3035,6 @@
msgid "read_permission"
msgstr "read permission"
-msgid "read_permission"
-msgstr "can be read by"
-
-msgid "read_permission_object"
-msgstr "has permission to delete"
-
msgctxt "CWGroup"
msgid "read_permission_object"
msgstr ""
@@ -3003,6 +3043,9 @@
msgid "read_permission_object"
msgstr ""
+msgid "read_permission_object"
+msgstr "has permission to delete"
+
msgid "registry"
msgstr ""
@@ -3027,13 +3070,13 @@
msgid "relation_type"
msgstr "relation type"
+msgctxt "CWRType"
+msgid "relation_type_object"
+msgstr ""
+
msgid "relation_type_object"
msgstr "relation definitions"
-msgctxt "CWRType"
-msgid "relation_type_object"
-msgstr ""
-
msgid "relations"
msgstr ""
@@ -3059,10 +3102,6 @@
msgid "remove this EmailAddress"
msgstr ""
-msgctxt "WorkflowTransition"
-msgid "require_group"
-msgstr "require group"
-
msgid "require_group"
msgstr "require the group"
@@ -3078,6 +3117,10 @@
msgid "require_group"
msgstr "require group"
+msgctxt "WorkflowTransition"
+msgid "require_group"
+msgstr "require group"
+
msgctxt "CWGroup"
msgid "require_group_object"
msgstr ""
@@ -3271,13 +3314,13 @@
msgid "specializes"
msgstr ""
+msgctxt "CWEType"
+msgid "specializes_object"
+msgstr ""
+
msgid "specializes_object"
msgstr "specialized by"
-msgctxt "CWEType"
-msgid "specializes_object"
-msgstr ""
-
msgid "startup views"
msgstr ""
@@ -3295,13 +3338,13 @@
"workflow for this entity first."
msgstr ""
+msgid "state_of"
+msgstr "state of"
+
msgctxt "State"
msgid "state_of"
msgstr ""
-msgid "state_of"
-msgstr "state of"
-
msgctxt "Workflow"
msgid "state_of_object"
msgstr ""
@@ -3359,10 +3402,10 @@
msgid "subworkflow_object"
msgstr "subworkflow of"
-msgctxt "SubWorkflowExitPoint"
msgid "subworkflow_state"
msgstr "subworkflow state"
+msgctxt "SubWorkflowExitPoint"
msgid "subworkflow_state"
msgstr "subworkflow state"
@@ -3472,7 +3515,6 @@
msgid "to associate with"
msgstr ""
-msgctxt "CWRelation"
msgid "to_entity"
msgstr "to entity"
@@ -3480,6 +3522,7 @@
msgid "to_entity"
msgstr "to entity"
+msgctxt "CWRelation"
msgid "to_entity"
msgstr "to entity"
@@ -3493,20 +3536,20 @@
msgid "to_interval_end"
msgstr "to"
+msgid "to_state"
+msgstr "to state"
+
msgctxt "TrInfo"
msgid "to_state"
msgstr ""
-msgid "to_state"
-msgstr "to state"
+msgctxt "State"
+msgid "to_state_object"
+msgstr ""
msgid "to_state_object"
msgstr "transitions to this state"
-msgctxt "State"
-msgid "to_state_object"
-msgstr ""
-
msgid "todo_by"
msgstr "to do by"
@@ -3522,6 +3565,9 @@
msgid "transition may not be fired"
msgstr ""
+msgid "transition_of"
+msgstr "transition of"
+
msgctxt "BaseTransition"
msgid "transition_of"
msgstr "transition of"
@@ -3534,9 +3580,6 @@
msgid "transition_of"
msgstr ""
-msgid "transition_of"
-msgstr "transition of"
-
msgctxt "Workflow"
msgid "transition_of_object"
msgstr ""
@@ -3553,6 +3596,18 @@
msgid "type"
msgstr ""
+msgctxt "BaseTransition"
+msgid "type"
+msgstr ""
+
+msgctxt "Transition"
+msgid "type"
+msgstr ""
+
+msgctxt "WorkflowTransition"
+msgid "type"
+msgstr ""
+
msgid "type here a sparql query"
msgstr ""
@@ -3610,13 +3665,13 @@
msgid "up"
msgstr ""
+msgid "upassword"
+msgstr "password"
+
msgctxt "CWUser"
msgid "upassword"
msgstr ""
-msgid "upassword"
-msgstr "password"
-
msgid "update"
msgstr ""
@@ -3630,28 +3685,31 @@
msgid "update_permission"
msgstr ""
+msgctxt "CWGroup"
msgid "update_permission_object"
-msgstr "has permission to update"
+msgstr ""
msgctxt "RQLExpression"
msgid "update_permission_object"
msgstr ""
-msgctxt "CWGroup"
msgid "update_permission_object"
+msgstr "has permission to update"
+
+msgid "updated"
msgstr ""
#, python-format
msgid "updated %(etype)s #%(eid)s (%(title)s)"
msgstr ""
+msgid "uri"
+msgstr ""
+
msgctxt "ExternalUri"
msgid "uri"
msgstr ""
-msgid "uri"
-msgstr ""
-
msgid "use template languages"
msgstr ""
@@ -3660,13 +3718,13 @@
"states in workflow's definitions."
msgstr ""
+msgid "use_email"
+msgstr "use email"
+
msgctxt "CWUser"
msgid "use_email"
msgstr ""
-msgid "use_email"
-msgstr "use email"
-
msgctxt "EmailAddress"
msgid "use_email_object"
msgstr ""
@@ -3721,11 +3779,11 @@
msgid "value"
msgstr ""
-msgctxt "CWProperty"
+msgctxt "CWConstraint"
msgid "value"
msgstr ""
-msgctxt "CWConstraint"
+msgctxt "CWProperty"
msgid "value"
msgstr ""
@@ -3803,13 +3861,13 @@
msgid "workflow to which this transition belongs"
msgstr ""
+msgid "workflow_of"
+msgstr ""
+
msgctxt "Workflow"
msgid "workflow_of"
msgstr ""
-msgid "workflow_of"
-msgstr ""
-
msgctxt "CWEType"
msgid "workflow_of_object"
msgstr ""
--- a/i18n/es.po Wed Oct 07 12:38:30 2009 +0200
+++ b/i18n/es.po Fri Oct 09 16:39:26 2009 +0200
@@ -36,6 +36,14 @@
msgstr " del estado %(fromstate)s hacia el estado %(tostate)s\n"
#, python-format
+msgid "%(attr)s set to %(newvalue)s"
+msgstr ""
+
+#, python-format
+msgid "%(attr)s updated from %(oldvalue)s to %(newvalue)s"
+msgstr ""
+
+#, python-format
msgid "%(cstr)s constraint failed for value %(value)r"
msgstr "el valor %(value)r no satisface la condición %(cstr)s"
@@ -123,6 +131,10 @@
msgid "%s software version of the database"
msgstr "versión sistema de la base para %s"
+#, python-format
+msgid "%s updated"
+msgstr ""
+
msgid "(UNEXISTANT EID)"
msgstr ""
@@ -541,10 +553,6 @@
msgid "This CWConstraintType"
msgstr "Este tipo de Restricción"
-msgctxt "inlined:CWRelation.to_entity.subject"
-msgid "This CWEType"
-msgstr ""
-
msgid "This CWEType"
msgstr "Este tipo de Entidad"
@@ -552,6 +560,10 @@
msgid "This CWEType"
msgstr ""
+msgctxt "inlined:CWRelation.to_entity.subject"
+msgid "This CWEType"
+msgstr ""
+
msgid "This CWGroup"
msgstr "Este grupo"
@@ -561,26 +573,26 @@
msgid "This CWProperty"
msgstr "Esta propiedad"
+msgid "This CWRType"
+msgstr "Este tipo de relación"
+
msgctxt "inlined:CWRelation.relation_type.subject"
msgid "This CWRType"
msgstr ""
-msgid "This CWRType"
-msgstr "Este tipo de relación"
-
msgid "This CWRelation"
msgstr "Esta definición de relación no final"
msgid "This CWUser"
msgstr "Este usuario"
+msgctxt "inlined:CWUser.use_email.subject"
+msgid "This EmailAddress"
+msgstr ""
+
msgid "This EmailAddress"
msgstr "Esta dirección electrónica"
-msgctxt "inlined:CWUser.use_email.subject"
-msgid "This EmailAddress"
-msgstr ""
-
msgid "This ExternalUri"
msgstr ""
@@ -732,6 +744,12 @@
msgid "actions"
msgstr "acciones"
+msgid "actions_about"
+msgstr ""
+
+msgid "actions_about_description"
+msgstr ""
+
msgid "actions_addentity"
msgstr "agregar una entidad de este tipo"
@@ -750,6 +768,12 @@
msgid "actions_cancel_description"
msgstr ""
+msgid "actions_changelog"
+msgstr ""
+
+msgid "actions_changelog_description"
+msgstr ""
+
msgid "actions_copy"
msgstr "Copiar"
@@ -822,6 +846,12 @@
msgid "actions_myprefs_description"
msgstr ""
+msgid "actions_poweredby"
+msgstr ""
+
+msgid "actions_poweredby_description"
+msgstr ""
+
msgid "actions_prefs"
msgstr "Preferencias"
@@ -879,6 +909,9 @@
msgid "add"
msgstr "Agregar"
+msgid "add BaseTransition transition_of Workflow object"
+msgstr ""
+
msgid "add Bookmark bookmarked_by CWUser object"
msgstr "Agregar a los favoritos "
@@ -957,11 +990,11 @@
msgid "add WorkflowTransition transition_of Workflow object"
msgstr ""
-msgctxt "inlined:CWRelation.to_entity.subject"
+msgctxt "inlined:CWRelation.from_entity.subject"
msgid "add a CWEType"
msgstr ""
-msgctxt "inlined:CWRelation.from_entity.subject"
+msgctxt "inlined:CWRelation.to_entity.subject"
msgid "add a CWEType"
msgstr ""
@@ -984,14 +1017,14 @@
# subject and object forms for each relation type
# (no object form for final relation types)
-msgctxt "CWEType"
msgid "add_permission"
-msgstr ""
+msgstr "Autorización para agregar"
# subject and object forms for each relation type
# (no object form for final relation types)
+msgctxt "CWEType"
msgid "add_permission"
-msgstr "Autorización para agregar"
+msgstr ""
msgctxt "CWRType"
msgid "add_permission"
@@ -1001,13 +1034,13 @@
msgid "add_permission_object"
msgstr ""
+msgctxt "RQLExpression"
+msgid "add_permission_object"
+msgstr ""
+
msgid "add_permission_object"
msgstr "tiene la autorización para agregar"
-msgctxt "RQLExpression"
-msgid "add_permission_object"
-msgstr ""
-
#, python-format
msgid "added %(etype)s #%(eid)s (%(title)s)"
msgstr "Agregado %(etype)s #%(eid)s (%(title)s)"
@@ -1023,20 +1056,20 @@
msgid "addrelated"
msgstr ""
-msgctxt "EmailAddress"
-msgid "address"
-msgstr ""
-
msgid "address"
msgstr "dirección"
msgctxt "EmailAddress"
-msgid "alias"
+msgid "address"
msgstr ""
msgid "alias"
msgstr "alias"
+msgctxt "EmailAddress"
+msgid "alias"
+msgstr ""
+
msgid "allow to set a specific workflow for an entity"
msgstr ""
@@ -1046,13 +1079,13 @@
msgid "allowed transitions from this state"
msgstr "transiciones autorizadas desde este estado"
+msgid "allowed_transition"
+msgstr "transición autorizada"
+
msgctxt "State"
msgid "allowed_transition"
msgstr ""
-msgid "allowed_transition"
-msgstr "transición autorizada"
-
msgctxt "BaseTransition"
msgid "allowed_transition_object"
msgstr ""
@@ -1125,6 +1158,9 @@
msgid "authentication failure"
msgstr "Usuario o contraseña incorrecta"
+msgid "auto"
+msgstr ""
+
msgid "automatic"
msgstr "Automático"
@@ -1239,14 +1275,14 @@
msgid "by relation"
msgstr "por relación"
+msgid "by_transition"
+msgstr ""
+
msgctxt "TrInfo"
msgid "by_transition"
msgstr ""
-msgid "by_transition"
-msgstr ""
-
-msgctxt "WorkflowTransition"
+msgctxt "BaseTransition"
msgid "by_transition_object"
msgstr ""
@@ -1254,10 +1290,10 @@
msgid "by_transition_object"
msgstr ""
+msgctxt "WorkflowTransition"
msgid "by_transition_object"
msgstr ""
-msgctxt "BaseTransition"
msgid "by_transition_object"
msgstr ""
@@ -1308,16 +1344,16 @@
msgid "cancel this insert"
msgstr "Cancelar esta inserción"
-msgctxt "CWRelation"
msgid "cardinality"
-msgstr ""
+msgstr "cardinalidad"
msgctxt "CWAttribute"
msgid "cardinality"
msgstr ""
+msgctxt "CWRelation"
msgid "cardinality"
-msgstr "cardinalidad"
+msgstr ""
msgid "category"
msgstr "categoria"
@@ -1345,13 +1381,13 @@
msgid "comment"
msgstr ""
+msgid "comment_format"
+msgstr "Formato"
+
msgctxt "TrInfo"
msgid "comment_format"
msgstr ""
-msgid "comment_format"
-msgstr "Formato"
-
msgid "components"
msgstr "Componentes"
@@ -1415,13 +1451,13 @@
msgid "components_rqlinput_description"
msgstr "La barra de demanda rql, en el encabezado de página"
+msgid "composite"
+msgstr "composite"
+
msgctxt "CWRelation"
msgid "composite"
msgstr ""
-msgid "composite"
-msgstr "composite"
-
msgid "condition"
msgstr "condición"
@@ -1450,6 +1486,9 @@
msgid "confirm password"
msgstr "Confirmar contraseña"
+msgid "constrained_by"
+msgstr "Restricción hecha por"
+
msgctxt "CWAttribute"
msgid "constrained_by"
msgstr ""
@@ -1458,16 +1497,13 @@
msgid "constrained_by"
msgstr ""
-msgid "constrained_by"
-msgstr "Restricción hecha por"
+msgctxt "CWConstraint"
+msgid "constrained_by_object"
+msgstr ""
msgid "constrained_by_object"
msgstr "ha restringido"
-msgctxt "CWConstraint"
-msgid "constrained_by_object"
-msgstr ""
-
msgid "constraint factory"
msgstr "FAbrica de restricciones"
@@ -1599,6 +1635,10 @@
msgid "created_by_object"
msgstr "ha creado"
+msgid ""
+"creating BaseTransition (BaseTransition transition_of Workflow %(linkto)s)"
+msgstr ""
+
msgid "creating Bookmark (Bookmark bookmarked_by CWUser %(linkto)s)"
msgstr "Creando Favorito"
@@ -1718,13 +1758,13 @@
msgid "cstrtype"
msgstr ""
+msgctxt "CWConstraintType"
+msgid "cstrtype_object"
+msgstr ""
+
msgid "cstrtype_object"
msgstr "utilizado por"
-msgctxt "CWConstraintType"
-msgid "cstrtype_object"
-msgstr ""
-
msgid "csv entities export"
msgstr "Exportar entidades en csv"
@@ -1797,13 +1837,13 @@
msgid "default_workflow_object"
msgstr ""
+msgid "defaultval"
+msgstr "Valor por defecto"
+
msgctxt "CWAttribute"
msgid "defaultval"
msgstr ""
-msgid "defaultval"
-msgstr "Valor por defecto"
-
msgid "define a CubicWeb user"
msgstr "Define un usuario CubicWeb"
@@ -1871,6 +1911,10 @@
msgid "delete_permission"
msgstr ""
+msgctxt "CWGroup"
+msgid "delete_permission_object"
+msgstr ""
+
msgctxt "RQLExpression"
msgid "delete_permission_object"
msgstr ""
@@ -1878,10 +1922,6 @@
msgid "delete_permission_object"
msgstr "posee la autorización de eliminar"
-msgctxt "CWGroup"
-msgid "delete_permission_object"
-msgstr ""
-
#, python-format
msgid "deleted %(etype)s #%(eid)s (%(title)s)"
msgstr "Eliminación de la entidad %(etype)s #%(eid)s (%(title)s)"
@@ -1897,15 +1937,18 @@
msgid "depends on the constraint type"
msgstr "Depende del tipo de condición"
-msgctxt "State"
+msgid "description"
+msgstr "Descripción"
+
+msgctxt "CWEType"
msgid "description"
msgstr ""
-msgctxt "WorkflowTransition"
+msgctxt "CWRelation"
msgid "description"
msgstr ""
-msgctxt "Transition"
+msgctxt "Workflow"
msgid "description"
msgstr ""
@@ -1913,21 +1956,18 @@
msgid "description"
msgstr ""
-msgctxt "Workflow"
+msgctxt "Transition"
msgid "description"
msgstr ""
-msgctxt "CWRelation"
+msgctxt "WorkflowTransition"
msgid "description"
msgstr ""
-msgctxt "CWEType"
+msgctxt "State"
msgid "description"
msgstr ""
-msgid "description"
-msgstr "Descripción"
-
msgctxt "CWRType"
msgid "description"
msgstr ""
@@ -1936,19 +1976,22 @@
msgid "description"
msgstr ""
-msgctxt "BaseTransition"
msgid "description_format"
-msgstr ""
-
-msgctxt "CWRType"
+msgstr "Formato"
+
+msgctxt "CWEType"
msgid "description_format"
msgstr ""
-msgctxt "State"
+msgctxt "CWRelation"
msgid "description_format"
msgstr ""
-msgctxt "WorkflowTransition"
+msgctxt "Workflow"
+msgid "description_format"
+msgstr ""
+
+msgctxt "CWAttribute"
msgid "description_format"
msgstr ""
@@ -1956,25 +1999,22 @@
msgid "description_format"
msgstr ""
-msgctxt "CWAttribute"
+msgctxt "WorkflowTransition"
msgid "description_format"
msgstr ""
-msgctxt "Workflow"
+msgctxt "State"
msgid "description_format"
msgstr ""
-msgctxt "CWRelation"
+msgctxt "CWRType"
msgid "description_format"
msgstr ""
-msgctxt "CWEType"
+msgctxt "BaseTransition"
msgid "description_format"
msgstr ""
-msgid "description_format"
-msgstr "Formato"
-
msgid "destination state"
msgstr ""
@@ -1984,24 +2024,24 @@
msgid "destination state of a transition"
msgstr "Estado destino de una transición"
+msgid "destination_state"
+msgstr "Estado destino"
+
msgctxt "Transition"
msgid "destination_state"
msgstr ""
-msgid "destination_state"
-msgstr "Estado destino"
-
msgctxt "SubWorkflowExitPoint"
msgid "destination_state"
msgstr ""
+msgctxt "State"
+msgid "destination_state_object"
+msgstr ""
+
msgid "destination_state_object"
msgstr "Destino de"
-msgctxt "State"
-msgid "destination_state_object"
-msgstr ""
-
msgid "detach attached file"
msgstr "soltar el archivo existente"
@@ -2159,13 +2199,13 @@
msgid "expected:"
msgstr "Previsto :"
+msgid "expression"
+msgstr "Expresión"
+
msgctxt "RQLExpression"
msgid "expression"
msgstr ""
-msgid "expression"
-msgstr "Expresión"
-
msgid "exprtype"
msgstr "Tipo de la expresión"
@@ -2224,34 +2264,34 @@
msgid "final"
msgstr "Final"
+msgctxt "CWEType"
+msgid "final"
+msgstr ""
+
msgctxt "CWRType"
msgid "final"
msgstr ""
-msgctxt "CWEType"
-msgid "final"
-msgstr ""
-
-msgctxt "CWUser"
-msgid "firstname"
-msgstr ""
-
msgid "firstname"
msgstr "Nombre"
+msgctxt "CWUser"
+msgid "firstname"
+msgstr ""
+
msgid "foaf"
msgstr "Amigo de un Amigo, FOAF"
msgid "follow"
msgstr "Seguir la liga"
+msgid "for_user"
+msgstr "Para el usuario"
+
msgctxt "CWProperty"
msgid "for_user"
msgstr ""
-msgid "for_user"
-msgstr "Para el usuario"
-
msgctxt "CWUser"
msgid "for_user_object"
msgstr ""
@@ -2280,23 +2320,23 @@
msgid "from_entity"
msgstr ""
-msgid "from_entity_object"
-msgstr "Relación sujeto"
-
msgctxt "CWEType"
msgid "from_entity_object"
msgstr ""
+msgid "from_entity_object"
+msgstr "Relación sujeto"
+
msgid "from_interval_start"
msgstr ""
-msgctxt "TrInfo"
-msgid "from_state"
-msgstr ""
-
msgid "from_state"
msgstr "De el estado"
+msgctxt "TrInfo"
+msgid "from_state"
+msgstr ""
+
msgctxt "State"
msgid "from_state_object"
msgstr ""
@@ -2307,20 +2347,20 @@
msgid "full text or RQL query"
msgstr "Texto de búsqueda o demanda RQL"
+msgid "fulltext_container"
+msgstr "Contenedor de texto indexado"
+
msgctxt "CWRType"
msgid "fulltext_container"
msgstr ""
-msgid "fulltext_container"
-msgstr "Contenedor de texto indexado"
-
-msgctxt "CWAttribute"
-msgid "fulltextindexed"
-msgstr ""
-
msgid "fulltextindexed"
msgstr "Indexación de texto"
+msgctxt "CWAttribute"
+msgid "fulltextindexed"
+msgstr ""
+
msgid "generic plot"
msgstr "Trazado de curbas estándares"
@@ -2465,20 +2505,20 @@
msgid "in memory relation schema"
msgstr "Esquema de la relación en memoria"
+msgid "in_group"
+msgstr "En el grupo"
+
msgctxt "CWUser"
msgid "in_group"
msgstr ""
-msgid "in_group"
-msgstr "En el grupo"
+msgctxt "CWGroup"
+msgid "in_group_object"
+msgstr ""
msgid "in_group_object"
msgstr "Miembros"
-msgctxt "CWGroup"
-msgid "in_group_object"
-msgstr ""
-
msgid "in_state"
msgstr "estado"
@@ -2498,13 +2538,13 @@
msgid "index this attribute's value in the plain text index"
msgstr "Indexar el valor de este atributo en el índice de texto simple"
+msgid "indexed"
+msgstr "Indexado"
+
msgctxt "CWAttribute"
msgid "indexed"
msgstr ""
-msgid "indexed"
-msgstr "Indexado"
-
msgid "indicate the current state of an entity"
msgstr "Indica el estado actual de una entidad"
@@ -2531,20 +2571,20 @@
msgid "initial_state"
msgstr ""
+msgctxt "State"
+msgid "initial_state_object"
+msgstr ""
+
msgid "initial_state_object"
msgstr "es el estado inicial de"
-msgctxt "State"
-msgid "initial_state_object"
-msgstr ""
+msgid "inlined"
+msgstr "Puesto en línea"
msgctxt "CWRType"
msgid "inlined"
msgstr ""
-msgid "inlined"
-msgstr "Puesto en línea"
-
msgid "instance schema"
msgstr ""
@@ -2625,13 +2665,13 @@
msgid "last connection date"
msgstr "Ultima fecha de conexión"
+msgid "last_login_time"
+msgstr "Ultima fecha de conexión"
+
msgctxt "CWUser"
msgid "last_login_time"
msgstr ""
-msgid "last_login_time"
-msgstr "Ultima fecha de conexión"
-
msgid "latest modification time of an entity"
msgstr "Fecha de la última modificación de una entidad "
@@ -2780,7 +2820,26 @@
msgid "my custom search"
msgstr "Mi busqueda personalizada"
-msgctxt "CWRType"
+msgid "name"
+msgstr "Nombre"
+
+msgctxt "CWEType"
+msgid "name"
+msgstr ""
+
+msgctxt "Transition"
+msgid "name"
+msgstr ""
+
+msgctxt "Workflow"
+msgid "name"
+msgstr ""
+
+msgctxt "CWGroup"
+msgid "name"
+msgstr ""
+
+msgctxt "CWConstraintType"
msgid "name"
msgstr ""
@@ -2792,10 +2851,11 @@
msgid "name"
msgstr ""
+msgctxt "CWPermission"
msgid "name"
-msgstr "Nombre"
-
-msgctxt "CWGroup"
+msgstr ""
+
+msgctxt "CWRType"
msgid "name"
msgstr ""
@@ -2803,30 +2863,10 @@
msgid "name"
msgstr ""
-msgctxt "Workflow"
-msgid "name"
-msgstr ""
-
msgctxt "CWCache"
msgid "name"
msgstr ""
-msgctxt "CWConstraintType"
-msgid "name"
-msgstr ""
-
-msgctxt "Transition"
-msgid "name"
-msgstr ""
-
-msgctxt "CWEType"
-msgid "name"
-msgstr ""
-
-msgctxt "CWPermission"
-msgid "name"
-msgstr ""
-
msgid "name of the cache"
msgstr "Nombre del Cache"
@@ -2896,6 +2936,9 @@
msgid "no version information"
msgstr "no información de version"
+msgid "normal"
+msgstr ""
+
msgid "not authorized"
msgstr "no autorizado"
@@ -2935,6 +2978,9 @@
msgid "order"
msgstr "orden"
+msgid "ordernum"
+msgstr "orden"
+
msgctxt "CWAttribute"
msgid "ordernum"
msgstr ""
@@ -2943,9 +2989,6 @@
msgid "ordernum"
msgstr ""
-msgid "ordernum"
-msgstr "orden"
-
msgid "owl"
msgstr "owl"
@@ -3001,13 +3044,13 @@
msgid "pick existing bookmarks"
msgstr "Seleccione los favoritos existentes"
+msgid "pkey"
+msgstr "pkey"
+
msgctxt "CWProperty"
msgid "pkey"
msgstr ""
-msgid "pkey"
-msgstr "pkey"
-
msgid "please correct errors below"
msgstr "Favor de corregir errores"
@@ -3020,13 +3063,13 @@
msgid "powered by CubicWeb"
msgstr ""
+msgid "prefered_form"
+msgstr ""
+
msgctxt "EmailAddress"
msgid "prefered_form"
msgstr ""
-msgid "prefered_form"
-msgstr ""
-
msgctxt "EmailAddress"
msgid "prefered_form_object"
msgstr ""
@@ -3050,13 +3093,13 @@
msgid "primary_email"
msgstr ""
+msgctxt "EmailAddress"
+msgid "primary_email_object"
+msgstr ""
+
msgid "primary_email_object"
msgstr "Dirección de email principal (objeto)"
-msgctxt "EmailAddress"
-msgid "primary_email_object"
-msgstr ""
-
msgid "progress"
msgstr "Avance"
@@ -3083,9 +3126,6 @@
msgid "read_permission"
msgstr ""
-msgid "read_permission_object"
-msgstr "Objeto_permiso_lectura"
-
msgctxt "CWGroup"
msgid "read_permission_object"
msgstr ""
@@ -3094,6 +3134,9 @@
msgid "read_permission_object"
msgstr ""
+msgid "read_permission_object"
+msgstr "Objeto_permiso_lectura"
+
msgid "registry"
msgstr ""
@@ -3110,11 +3153,11 @@
msgid "relation_type"
msgstr "tipo de relación"
-msgctxt "CWRelation"
+msgctxt "CWAttribute"
msgid "relation_type"
msgstr ""
-msgctxt "CWAttribute"
+msgctxt "CWRelation"
msgid "relation_type"
msgstr ""
@@ -3134,11 +3177,11 @@
msgid "relative url of the bookmarked page"
msgstr "Url relativa de la pagina"
-msgctxt "inlined:CWRelation.to_entity.subject"
+msgctxt "inlined:CWRelation.from_entity.subject"
msgid "remove this CWEType"
msgstr ""
-msgctxt "inlined:CWRelation.from_entity.subject"
+msgctxt "inlined:CWRelation.to_entity.subject"
msgid "remove this CWEType"
msgstr ""
@@ -3150,10 +3193,6 @@
msgid "remove this EmailAddress"
msgstr ""
-msgctxt "WorkflowTransition"
-msgid "require_group"
-msgstr ""
-
msgid "require_group"
msgstr "Requiere grupo"
@@ -3161,11 +3200,15 @@
msgid "require_group"
msgstr ""
+msgctxt "Transition"
+msgid "require_group"
+msgstr ""
+
msgctxt "CWPermission"
msgid "require_group"
msgstr ""
-msgctxt "Transition"
+msgctxt "WorkflowTransition"
msgid "require_group"
msgstr ""
@@ -3394,20 +3437,20 @@
"workflow for this entity first."
msgstr ""
+msgid "state_of"
+msgstr "estado_de"
+
msgctxt "State"
msgid "state_of"
msgstr ""
-msgid "state_of"
-msgstr "estado_de"
+msgctxt "Workflow"
+msgid "state_of_object"
+msgstr ""
msgid "state_of_object"
msgstr "objeto_estado_de"
-msgctxt "Workflow"
-msgid "state_of_object"
-msgstr ""
-
msgid "status change"
msgstr "cambio de estatus"
@@ -3427,41 +3470,41 @@
msgid "subject_plural:"
msgstr "sujetos:"
+msgid "subworkflow"
+msgstr ""
+
msgctxt "WorkflowTransition"
msgid "subworkflow"
msgstr ""
-msgid "subworkflow"
-msgstr ""
-
msgid "subworkflow state"
msgstr ""
+msgid "subworkflow_exit"
+msgstr ""
+
msgctxt "WorkflowTransition"
msgid "subworkflow_exit"
msgstr ""
-msgid "subworkflow_exit"
+msgctxt "SubWorkflowExitPoint"
+msgid "subworkflow_exit_object"
msgstr ""
msgid "subworkflow_exit_object"
msgstr ""
-msgctxt "SubWorkflowExitPoint"
-msgid "subworkflow_exit_object"
-msgstr ""
-
-msgid "subworkflow_object"
-msgstr ""
-
msgctxt "Workflow"
msgid "subworkflow_object"
msgstr ""
-msgctxt "SubWorkflowExitPoint"
+msgid "subworkflow_object"
+msgstr ""
+
msgid "subworkflow_state"
msgstr ""
+msgctxt "SubWorkflowExitPoint"
msgid "subworkflow_state"
msgstr ""
@@ -3482,13 +3525,13 @@
msgid "surname"
msgstr ""
+msgid "symetric"
+msgstr "simetrico"
+
msgctxt "CWRType"
msgid "symetric"
msgstr ""
-msgid "symetric"
-msgstr "simetrico"
-
msgid "system entities"
msgstr "entidades de sistema"
@@ -3554,13 +3597,13 @@
msgid "timetable"
msgstr "tabla de tiempos"
+msgid "title"
+msgstr "titulo"
+
msgctxt "Bookmark"
msgid "title"
msgstr ""
-msgid "title"
-msgstr "titulo"
-
msgid "to"
msgstr "a"
@@ -3571,34 +3614,34 @@
msgid "to associate with"
msgstr "a asociar con"
-msgctxt "CWRelation"
msgid "to_entity"
-msgstr ""
+msgstr "hacia entidad"
msgctxt "CWAttribute"
msgid "to_entity"
msgstr ""
+msgctxt "CWRelation"
msgid "to_entity"
-msgstr "hacia entidad"
-
-msgid "to_entity_object"
-msgstr "hacia entidad objeto"
+msgstr ""
msgctxt "CWEType"
msgid "to_entity_object"
msgstr ""
+msgid "to_entity_object"
+msgstr "hacia entidad objeto"
+
msgid "to_interval_end"
msgstr ""
-msgctxt "TrInfo"
-msgid "to_state"
-msgstr ""
-
msgid "to_state"
msgstr "hacia el estado"
+msgctxt "TrInfo"
+msgid "to_state"
+msgstr ""
+
msgctxt "State"
msgid "to_state_object"
msgstr ""
@@ -3621,18 +3664,18 @@
msgid "transition may not be fired"
msgstr ""
-msgctxt "Transition"
-msgid "transition_of"
-msgstr ""
-
msgid "transition_of"
msgstr "transicion de"
-msgctxt "WorkflowTransition"
+msgctxt "BaseTransition"
msgid "transition_of"
msgstr ""
-msgctxt "BaseTransition"
+msgctxt "Transition"
+msgid "transition_of"
+msgstr ""
+
+msgctxt "WorkflowTransition"
msgid "transition_of"
msgstr ""
@@ -3652,6 +3695,18 @@
msgid "type"
msgstr "type"
+msgctxt "BaseTransition"
+msgid "type"
+msgstr ""
+
+msgctxt "Transition"
+msgid "type"
+msgstr ""
+
+msgctxt "WorkflowTransition"
+msgid "type"
+msgstr ""
+
msgid "type here a sparql query"
msgstr ""
@@ -3729,9 +3784,6 @@
msgid "update_permission"
msgstr ""
-msgid "update_permission_object"
-msgstr "objeto de autorización de modificaciones"
-
msgctxt "CWGroup"
msgid "update_permission_object"
msgstr ""
@@ -3740,17 +3792,23 @@
msgid "update_permission_object"
msgstr ""
+msgid "update_permission_object"
+msgstr "objeto de autorización de modificaciones"
+
+msgid "updated"
+msgstr ""
+
#, python-format
msgid "updated %(etype)s #%(eid)s (%(title)s)"
msgstr "actualización de la entidad %(etype)s #%(eid)s (%(title)s)"
+msgid "uri"
+msgstr ""
+
msgctxt "ExternalUri"
msgid "uri"
msgstr ""
-msgid "uri"
-msgstr ""
-
msgid "use template languages"
msgstr "utilizar plantillas de lenguaje"
@@ -3761,13 +3819,13 @@
"utilizado para definir una transición desde uno o multiples estados hacia "
"uno o varios estados destino en las definiciones del workflow"
+msgid "use_email"
+msgstr "correo electrónico"
+
msgctxt "CWUser"
msgid "use_email"
msgstr ""
-msgid "use_email"
-msgstr "correo electrónico"
-
msgctxt "EmailAddress"
msgid "use_email_object"
msgstr ""
@@ -3827,10 +3885,6 @@
msgid "validating..."
msgstr "validando ..."
-msgctxt "CWProperty"
-msgid "value"
-msgstr ""
-
msgid "value"
msgstr "valor"
@@ -3838,6 +3892,10 @@
msgid "value"
msgstr ""
+msgctxt "CWProperty"
+msgid "value"
+msgstr ""
+
msgid "value associated to this key is not editable manually"
msgstr "el valor asociado a este elemento no es editable manualmente"
--- a/i18n/fr.po Wed Oct 07 12:38:30 2009 +0200
+++ b/i18n/fr.po Fri Oct 09 16:39:26 2009 +0200
@@ -36,6 +36,14 @@
msgstr " de l'état %(fromstate)s vers l'état %(tostate)s\n"
#, python-format
+msgid "%(attr)s set to %(newvalue)s"
+msgstr "%(attr)s modifié à %(newvalue)s"
+
+#, python-format
+msgid "%(attr)s updated from %(oldvalue)s to %(newvalue)s"
+msgstr "%(attr)s modifié de %(oldvalue)s à %(newvalue)s"
+
+#, python-format
msgid "%(cstr)s constraint failed for value %(value)r"
msgstr "la valeur %(value)r ne satisfait pas la contrainte %(cstr)s"
@@ -123,6 +131,10 @@
msgid "%s software version of the database"
msgstr "version logicielle de la base pour %s"
+#, python-format
+msgid "%s updated"
+msgstr "%s mis à jour"
+
msgid "(UNEXISTANT EID)"
msgstr "(EID INTROUVABLE)"
@@ -540,13 +552,13 @@
msgid "This CWConstraintType"
msgstr "Ce type de contrainte"
+msgid "This CWEType"
+msgstr "Ce type d'entité"
+
msgctxt "inlined:CWRelation.from_entity.subject"
msgid "This CWEType"
msgstr "type d'entité sujet"
-msgid "This CWEType"
-msgstr "Ce type d'entité"
-
msgctxt "inlined:CWRelation.to_entity.subject"
msgid "This CWEType"
msgstr "type d'entité objet"
@@ -737,6 +749,12 @@
msgid "actions"
msgstr "actions"
+msgid "actions_about"
+msgstr ""
+
+msgid "actions_about_description"
+msgstr ""
+
msgid "actions_addentity"
msgstr "ajouter une entité de ce type"
@@ -755,6 +773,12 @@
msgid "actions_cancel_description"
msgstr ""
+msgid "actions_changelog"
+msgstr ""
+
+msgid "actions_changelog_description"
+msgstr ""
+
msgid "actions_copy"
msgstr "copier"
@@ -827,6 +851,12 @@
msgid "actions_myprefs_description"
msgstr ""
+msgid "actions_poweredby"
+msgstr ""
+
+msgid "actions_poweredby_description"
+msgstr ""
+
msgid "actions_prefs"
msgstr "préférences"
@@ -884,6 +914,9 @@
msgid "add"
msgstr "ajouter"
+msgid "add BaseTransition transition_of Workflow object"
+msgstr ""
+
msgid "add Bookmark bookmarked_by CWUser object"
msgstr "signet"
@@ -962,14 +995,14 @@
msgid "add WorkflowTransition transition_of Workflow object"
msgstr "transition workflow"
+msgctxt "inlined:CWRelation.from_entity.subject"
+msgid "add a CWEType"
+msgstr "ajouter un type d'entité sujet"
+
msgctxt "inlined:CWRelation.to_entity.subject"
msgid "add a CWEType"
msgstr "ajouter un type d'entité objet"
-msgctxt "inlined:CWRelation.from_entity.subject"
-msgid "add a CWEType"
-msgstr "ajouter un type d'entité sujet"
-
msgctxt "inlined:CWRelation.relation_type.subject"
msgid "add a CWRType"
msgstr "ajouter un type de relation"
@@ -1002,6 +1035,10 @@
msgid "add_permission"
msgstr "permission d'ajout"
+msgctxt "CWGroup"
+msgid "add_permission_object"
+msgstr "a la permission d'ajouter"
+
msgctxt "RQLExpression"
msgid "add_permission_object"
msgstr "a la permission d'ajouter"
@@ -1009,10 +1046,6 @@
msgid "add_permission_object"
msgstr "a la permission d'ajouter"
-msgctxt "CWGroup"
-msgid "add_permission_object"
-msgstr "a la permission d'ajouter"
-
#, python-format
msgid "added %(etype)s #%(eid)s (%(title)s)"
msgstr "ajout de l'entité %(etype)s #%(eid)s (%(title)s)"
@@ -1035,10 +1068,10 @@
msgid "address"
msgstr "adresse électronique"
-msgctxt "EmailAddress"
msgid "alias"
msgstr "alias"
+msgctxt "EmailAddress"
msgid "alias"
msgstr "alias"
@@ -1058,10 +1091,7 @@
msgid "allowed_transition"
msgstr "transitions autorisées"
-msgid "allowed_transition_object"
-msgstr "états en entrée"
-
-msgctxt "WorkflowTransition"
+msgctxt "BaseTransition"
msgid "allowed_transition_object"
msgstr "transition autorisée de"
@@ -1069,10 +1099,13 @@
msgid "allowed_transition_object"
msgstr "transition autorisée de"
-msgctxt "BaseTransition"
+msgctxt "WorkflowTransition"
msgid "allowed_transition_object"
msgstr "transition autorisée de"
+msgid "allowed_transition_object"
+msgstr "états en entrée"
+
msgid "am/pm calendar (month)"
msgstr "calendrier am/pm (mois)"
@@ -1130,6 +1163,9 @@
msgid "authentication failure"
msgstr "Identifiant ou mot de passe incorrect"
+msgid "auto"
+msgstr "automatique"
+
msgid "automatic"
msgstr "automatique"
@@ -1245,17 +1281,13 @@
msgid "by relation"
msgstr "via la relation"
+msgid "by_transition"
+msgstr "transition"
+
msgctxt "TrInfo"
msgid "by_transition"
msgstr "transition"
-msgid "by_transition"
-msgstr "transition"
-
-msgctxt "WorkflowTransition"
-msgid "by_transition_object"
-msgstr "a pour information"
-
msgctxt "BaseTransition"
msgid "by_transition_object"
msgstr "a pour information"
@@ -1264,6 +1296,10 @@
msgid "by_transition_object"
msgstr "a pour information"
+msgctxt "WorkflowTransition"
+msgid "by_transition_object"
+msgstr "a pour information"
+
msgid "by_transition_object"
msgstr "changement d'états"
@@ -1314,10 +1350,6 @@
msgid "cancel this insert"
msgstr "annuler cette insertion"
-msgctxt "CWRelation"
-msgid "cardinality"
-msgstr "cardinalité"
-
msgid "cardinality"
msgstr "cardinalité"
@@ -1325,6 +1357,10 @@
msgid "cardinality"
msgstr "cardinalité"
+msgctxt "CWRelation"
+msgid "cardinality"
+msgstr "cardinalité"
+
msgid "category"
msgstr "categorie"
@@ -1428,7 +1464,10 @@
msgid "composite"
msgstr "composite"
-msgctxt "WorkflowTransition"
+msgid "condition"
+msgstr "condition"
+
+msgctxt "BaseTransition"
msgid "condition"
msgstr "condition"
@@ -1436,20 +1475,17 @@
msgid "condition"
msgstr "condition"
-msgid "condition"
-msgstr "condition"
-
-msgctxt "BaseTransition"
+msgctxt "WorkflowTransition"
msgid "condition"
msgstr "condition"
msgid "condition:"
msgstr "condition :"
+msgctxt "RQLExpression"
msgid "condition_object"
msgstr "condition de"
-msgctxt "RQLExpression"
msgid "condition_object"
msgstr "condition de"
@@ -1467,10 +1503,10 @@
msgid "constrained_by"
msgstr "contraint par"
+msgctxt "CWConstraint"
msgid "constrained_by_object"
msgstr "contrainte de"
-msgctxt "CWConstraint"
msgid "constrained_by_object"
msgstr "contrainte de"
@@ -1606,6 +1642,10 @@
msgid "created_by_object"
msgstr "a créé"
+msgid ""
+"creating BaseTransition (BaseTransition transition_of Workflow %(linkto)s)"
+msgstr ""
+
msgid "creating Bookmark (Bookmark bookmarked_by CWUser %(linkto)s)"
msgstr "création d'un signet pour %(linkto)s"
@@ -1718,20 +1758,20 @@
msgid "creation_date"
msgstr "date de création"
+msgid "cstrtype"
+msgstr "type de constrainte"
+
msgctxt "CWConstraint"
msgid "cstrtype"
msgstr "type"
-msgid "cstrtype"
-msgstr "type de constrainte"
-
-msgid "cstrtype_object"
-msgstr "utilisé par"
-
msgctxt "CWConstraintType"
msgid "cstrtype_object"
msgstr "type des contraintes"
+msgid "cstrtype_object"
+msgstr "utilisé par"
+
msgid "csv entities export"
msgstr "export d'entités en CSV"
@@ -1790,17 +1830,17 @@
msgid "default workflow for an entity type"
msgstr "workflow par défaut pour un type d'entité"
+msgid "default_workflow"
+msgstr "workflow par défaut"
+
msgctxt "CWEType"
msgid "default_workflow"
msgstr "workflow par défaut"
-msgid "default_workflow"
-msgstr "workflow par défaut"
-
+msgctxt "Workflow"
msgid "default_workflow_object"
msgstr "workflow par défaut de"
-msgctxt "Workflow"
msgid "default_workflow_object"
msgstr "workflow par défaut de"
@@ -1875,24 +1915,24 @@
msgid "delete_permission"
msgstr "permission de supprimer"
+msgctxt "CWEType"
+msgid "delete_permission"
+msgstr "permission de supprimer"
+
msgctxt "CWRType"
msgid "delete_permission"
msgstr "permission de supprimer"
-msgctxt "CWEType"
-msgid "delete_permission"
-msgstr "permission de supprimer"
-
+msgctxt "CWGroup"
msgid "delete_permission_object"
-msgstr "a la permission de supprimer"
+msgstr "peut supprimer"
msgctxt "RQLExpression"
msgid "delete_permission_object"
msgstr "peut supprimer"
-msgctxt "CWGroup"
msgid "delete_permission_object"
-msgstr "peut supprimer"
+msgstr "a la permission de supprimer"
#, python-format
msgid "deleted %(etype)s #%(eid)s (%(title)s)"
@@ -1912,7 +1952,11 @@
msgid "description"
msgstr "description"
-msgctxt "Transition"
+msgctxt "CWEType"
+msgid "description"
+msgstr "description"
+
+msgctxt "CWRelation"
msgid "description"
msgstr "description"
@@ -1920,7 +1964,11 @@
msgid "description"
msgstr "description"
-msgctxt "CWRelation"
+msgctxt "CWAttribute"
+msgid "description"
+msgstr "description"
+
+msgctxt "Transition"
msgid "description"
msgstr "description"
@@ -1932,10 +1980,6 @@
msgid "description"
msgstr "description"
-msgctxt "CWEType"
-msgid "description"
-msgstr "description"
-
msgctxt "CWRType"
msgid "description"
msgstr "description"
@@ -1944,14 +1988,6 @@
msgid "description"
msgstr "description"
-msgctxt "CWAttribute"
-msgid "description"
-msgstr "description"
-
-msgctxt "CWRelation"
-msgid "description_format"
-msgstr "format"
-
msgid "description_format"
msgstr "format"
@@ -1959,6 +1995,10 @@
msgid "description_format"
msgstr "format"
+msgctxt "CWRelation"
+msgid "description_format"
+msgstr "format"
+
msgctxt "Workflow"
msgid "description_format"
msgstr "format"
@@ -1999,11 +2039,11 @@
msgid "destination_state"
msgstr "état de destination"
-msgctxt "SubWorkflowExitPoint"
+msgctxt "Transition"
msgid "destination_state"
msgstr "état de destination"
-msgctxt "Transition"
+msgctxt "SubWorkflowExitPoint"
msgid "destination_state"
msgstr "état de destination"
@@ -2170,13 +2210,13 @@
msgid "expected:"
msgstr "attendu :"
+msgid "expression"
+msgstr "expression"
+
msgctxt "RQLExpression"
msgid "expression"
msgstr "rql de l'expression"
-msgid "expression"
-msgstr "expression"
-
msgid "exprtype"
msgstr "type de l'expression"
@@ -2232,10 +2272,10 @@
msgid "file tree view"
msgstr "arborescence (fichiers)"
-msgctxt "CWEType"
msgid "final"
msgstr "final"
+msgctxt "CWEType"
msgid "final"
msgstr "final"
@@ -2243,10 +2283,10 @@
msgid "final"
msgstr "final"
-msgctxt "CWUser"
msgid "firstname"
msgstr "prénom"
+msgctxt "CWUser"
msgid "firstname"
msgstr "prénom"
@@ -2256,13 +2296,13 @@
msgid "follow"
msgstr "suivre le lien"
+msgid "for_user"
+msgstr "pour l'utilisateur"
+
msgctxt "CWProperty"
msgid "for_user"
msgstr "propriété de l'utilisateur"
-msgid "for_user"
-msgstr "pour l'utilisateur"
-
msgctxt "CWUser"
msgid "for_user_object"
msgstr "a pour préférence"
@@ -2318,20 +2358,20 @@
msgid "full text or RQL query"
msgstr "texte à rechercher ou requête RQL"
+msgid "fulltext_container"
+msgstr "conteneur du texte indexé"
+
msgctxt "CWRType"
msgid "fulltext_container"
msgstr "objet à indexer"
-msgid "fulltext_container"
-msgstr "conteneur du texte indexé"
+msgid "fulltextindexed"
+msgstr "indexation du texte"
msgctxt "CWAttribute"
msgid "fulltextindexed"
msgstr "texte indexé"
-msgid "fulltextindexed"
-msgstr "indexation du texte"
-
msgid "generic plot"
msgstr "tracé de courbes standard"
@@ -2477,13 +2517,13 @@
msgid "in memory relation schema"
msgstr "schéma de la relation en mémoire"
+msgid "in_group"
+msgstr "dans le groupe"
+
msgctxt "CWUser"
msgid "in_group"
msgstr "fait partie du groupe"
-msgid "in_group"
-msgstr "dans le groupe"
-
msgctxt "CWGroup"
msgid "in_group_object"
msgstr "contient les utilisateurs"
@@ -2536,10 +2576,10 @@
msgid "initial state for this workflow"
msgstr "état initial pour ce workflow"
-msgctxt "Workflow"
msgid "initial_state"
msgstr "état initial"
+msgctxt "Workflow"
msgid "initial_state"
msgstr "état initial"
@@ -2725,10 +2765,10 @@
msgid "main informations"
msgstr "Informations générales"
-msgctxt "RQLExpression"
msgid "mainvars"
msgstr "variables principales"
+msgctxt "RQLExpression"
msgid "mainvars"
msgstr "variables principales"
@@ -2793,38 +2833,6 @@
msgid "my custom search"
msgstr "ma recherche personnalisée"
-msgctxt "CWPermission"
-msgid "name"
-msgstr "nom"
-
-msgctxt "State"
-msgid "name"
-msgstr "nom"
-
-msgctxt "BaseTransition"
-msgid "name"
-msgstr "nom"
-
-msgctxt "CWRType"
-msgid "name"
-msgstr "nom"
-
-msgctxt "CWGroup"
-msgid "name"
-msgstr "nom"
-
-msgctxt "WorkflowTransition"
-msgid "name"
-msgstr "nom"
-
-msgctxt "CWCache"
-msgid "name"
-msgstr "nom"
-
-msgid "name"
-msgstr "nom"
-
-msgctxt "CWConstraintType"
msgid "name"
msgstr "nom"
@@ -2840,6 +2848,38 @@
msgid "name"
msgstr "nom"
+msgctxt "CWGroup"
+msgid "name"
+msgstr "nom"
+
+msgctxt "CWConstraintType"
+msgid "name"
+msgstr "nom"
+
+msgctxt "WorkflowTransition"
+msgid "name"
+msgstr "nom"
+
+msgctxt "State"
+msgid "name"
+msgstr "nom"
+
+msgctxt "CWPermission"
+msgid "name"
+msgstr "nom"
+
+msgctxt "CWRType"
+msgid "name"
+msgstr "nom"
+
+msgctxt "BaseTransition"
+msgid "name"
+msgstr "nom"
+
+msgctxt "CWCache"
+msgid "name"
+msgstr "nom"
+
msgid "name of the cache"
msgstr "nom du cache applicatif"
@@ -2905,6 +2945,9 @@
msgid "no version information"
msgstr "pas d'information de version"
+msgid "normal"
+msgstr "normal"
+
msgid "not authorized"
msgstr "non autorisé"
@@ -2944,16 +2987,16 @@
msgid "order"
msgstr "ordre"
-msgctxt "CWRelation"
msgid "ordernum"
-msgstr "numéro d'ordre"
+msgstr "ordre"
msgctxt "CWAttribute"
msgid "ordernum"
msgstr "numéro d'ordre"
+msgctxt "CWRelation"
msgid "ordernum"
-msgstr "ordre"
+msgstr "numéro d'ordre"
msgid "owl"
msgstr "owl"
@@ -3012,13 +3055,13 @@
msgid "pick existing bookmarks"
msgstr "récupérer des signets existants"
+msgid "pkey"
+msgstr "clé"
+
msgctxt "CWProperty"
msgid "pkey"
msgstr "code de la propriété"
-msgid "pkey"
-msgstr "clé"
-
msgid "please correct errors below"
msgstr "veuillez corriger les erreurs ci-dessous"
@@ -3061,13 +3104,13 @@
msgid "primary_email"
msgstr "email principal"
-msgid "primary_email_object"
-msgstr "adresse email principale (object)"
-
msgctxt "EmailAddress"
msgid "primary_email_object"
msgstr "adresse principale de"
+msgid "primary_email_object"
+msgstr "adresse email principale (object)"
+
msgid "progress"
msgstr "avancement"
@@ -3083,6 +3126,9 @@
msgid "read_perm"
msgstr "lecture"
+msgid "read_permission"
+msgstr "permission de lire"
+
msgctxt "CWEType"
msgid "read_permission"
msgstr "permission d'ajouter"
@@ -3091,12 +3137,6 @@
msgid "read_permission"
msgstr "permission d'ajouter"
-msgid "read_permission"
-msgstr "permission de lire"
-
-msgid "read_permission_object"
-msgstr "a la permission de lire"
-
msgctxt "CWGroup"
msgid "read_permission_object"
msgstr "peut lire"
@@ -3105,6 +3145,9 @@
msgid "read_permission_object"
msgstr "peut lire"
+msgid "read_permission_object"
+msgstr "a la permission de lire"
+
msgid "registry"
msgstr "registre"
@@ -3129,10 +3172,10 @@
msgid "relation_type"
msgstr "type de relation"
+msgctxt "CWRType"
msgid "relation_type_object"
msgstr "définition"
-msgctxt "CWRType"
msgid "relation_type_object"
msgstr "définition"
@@ -3161,10 +3204,6 @@
msgid "remove this EmailAddress"
msgstr "supprimer cette adresse électronique"
-msgctxt "WorkflowTransition"
-msgid "require_group"
-msgstr "restreinte au groupe"
-
msgid "require_group"
msgstr "nécessite le groupe"
@@ -3180,6 +3219,10 @@
msgid "require_group"
msgstr "restreinte au groupe"
+msgctxt "WorkflowTransition"
+msgid "require_group"
+msgstr "restreinte au groupe"
+
msgctxt "CWGroup"
msgid "require_group_object"
msgstr "dé"
@@ -3385,10 +3428,10 @@
msgid "specializes"
msgstr "spécialise"
+msgctxt "CWEType"
msgid "specializes_object"
msgstr "parent de"
-msgctxt "CWEType"
msgid "specializes_object"
msgstr "parent de"
@@ -3411,10 +3454,10 @@
"l'état n'appartient pas au workflow courant de l'entité. Vous désirez peut-"
"être spécifier que cette entité doit utiliser ce workflow."
-msgctxt "State"
msgid "state_of"
msgstr "état de"
+msgctxt "State"
msgid "state_of"
msgstr "état de"
@@ -3475,13 +3518,13 @@
msgid "subworkflow_object"
msgstr "utilisé par la transition"
+msgid "subworkflow_state"
+msgstr "état du sous-workflow"
+
msgctxt "SubWorkflowExitPoint"
msgid "subworkflow_state"
msgstr "état"
-msgid "subworkflow_state"
-msgstr "état du sous-workflow"
-
msgctxt "State"
msgid "subworkflow_state_object"
msgstr "état de sortie de"
@@ -3589,16 +3632,16 @@
msgid "to associate with"
msgstr "pour associer à"
-msgctxt "CWRelation"
msgid "to_entity"
-msgstr "pour l'entité"
+msgstr "vers l'entité"
msgctxt "CWAttribute"
msgid "to_entity"
msgstr "pour l'entité"
+msgctxt "CWRelation"
msgid "to_entity"
-msgstr "vers l'entité"
+msgstr "pour l'entité"
msgctxt "CWEType"
msgid "to_entity_object"
@@ -3610,20 +3653,20 @@
msgid "to_interval_end"
msgstr "à"
+msgid "to_state"
+msgstr "vers l'état"
+
msgctxt "TrInfo"
msgid "to_state"
msgstr "état de destination"
-msgid "to_state"
-msgstr "vers l'état"
-
-msgid "to_state_object"
-msgstr "transitions vers cet état"
-
msgctxt "State"
msgid "to_state_object"
msgstr "transition vers cet état"
+msgid "to_state_object"
+msgstr "transitions vers cet état"
+
msgid "todo_by"
msgstr "à faire par"
@@ -3639,6 +3682,9 @@
msgid "transition may not be fired"
msgstr "la transition ne peut-être déclenchée"
+msgid "transition_of"
+msgstr "transition de"
+
msgctxt "BaseTransition"
msgid "transition_of"
msgstr "transition de"
@@ -3651,9 +3697,6 @@
msgid "transition_of"
msgstr "transition de"
-msgid "transition_of"
-msgstr "transition de"
-
msgctxt "Workflow"
msgid "transition_of_object"
msgstr "a pour transition"
@@ -3670,6 +3713,18 @@
msgid "type"
msgstr "type"
+msgctxt "BaseTransition"
+msgid "type"
+msgstr "type"
+
+msgctxt "Transition"
+msgid "type"
+msgstr "type"
+
+msgctxt "WorkflowTransition"
+msgid "type"
+msgstr "type"
+
msgid "type here a sparql query"
msgstr "Tapez une requête sparql"
@@ -3727,10 +3782,10 @@
msgid "up"
msgstr "haut"
-msgctxt "CWUser"
msgid "upassword"
msgstr "mot de passe"
+msgctxt "CWUser"
msgid "upassword"
msgstr "mot de passe"
@@ -3747,25 +3802,28 @@
msgid "update_permission"
msgstr "permission de modifier"
+msgctxt "CWGroup"
msgid "update_permission_object"
-msgstr "à la permission de modifier"
+msgstr "peut modifier"
msgctxt "RQLExpression"
msgid "update_permission_object"
msgstr "peut modifier"
-msgctxt "CWGroup"
msgid "update_permission_object"
-msgstr "peut modifier"
+msgstr "à la permission de modifier"
+
+msgid "updated"
+msgstr ""
#, python-format
msgid "updated %(etype)s #%(eid)s (%(title)s)"
msgstr "modification de l'entité %(etype)s #%(eid)s (%(title)s)"
-msgctxt "ExternalUri"
msgid "uri"
msgstr "uri"
+msgctxt "ExternalUri"
msgid "uri"
msgstr "uri"
@@ -3779,13 +3837,13 @@
"utiliser dans une définition de processus pour ajouter une transition depuis "
"un ou plusieurs états vers un état de destination."
+msgid "use_email"
+msgstr "adresse électronique"
+
msgctxt "CWUser"
msgid "use_email"
msgstr "utilise l'adresse électronique"
-msgid "use_email"
-msgstr "adresse électronique"
-
msgctxt "EmailAddress"
msgid "use_email_object"
msgstr "utilisée par"
@@ -3846,14 +3904,14 @@
msgid "value"
msgstr "valeur"
+msgctxt "CWConstraint"
+msgid "value"
+msgstr "contrainte"
+
msgctxt "CWProperty"
msgid "value"
msgstr "valeur"
-msgctxt "CWConstraint"
-msgid "value"
-msgstr "contrainte"
-
msgid "value associated to this key is not editable manually"
msgstr "la valeur associée à cette clé n'est pas éditable manuellement"
@@ -3909,6 +3967,9 @@
"and python-projects@lists.logilab.org), set this to indicate which is the "
"preferred form."
msgstr ""
+"quand plusieurs addresses sont équivalentes (comme python-projects@logilab."
+"org et python-projects@lists.logilab.org), indique laquelle est la forme "
+"préférentielle."
msgid "workflow"
msgstr "workflow"
@@ -3929,10 +3990,10 @@
msgid "workflow to which this transition belongs"
msgstr "workflow auquel cette transition appartient"
-msgctxt "Workflow"
msgid "workflow_of"
msgstr "workflow de"
+msgctxt "Workflow"
msgid "workflow_of"
msgstr "workflow de"
--- a/misc/migration/3.5.3_Any.py Wed Oct 07 12:38:30 2009 +0200
+++ b/misc/migration/3.5.3_Any.py Fri Oct 09 16:39:26 2009 +0200
@@ -1,4 +1,7 @@
-sync_schema_props_perms('state_of')
-sync_schema_props_perms('transition_of')
-
-add_attribute('BaseTransition', 'type')
+# type attribute might already be there if migrating from
+# version < 3.5 to version >= 3.5.3, BaseTransition being added
+# in bootstrap_migration
+if versions_map['cubicweb'][0] < (3, 5, 0):
+ add_attribute('BaseTransition', 'type')
+ sync_schema_props_perms('state_of')
+ sync_schema_props_perms('transition_of')
--- a/req.py Wed Oct 07 12:38:30 2009 +0200
+++ b/req.py Fri Oct 09 16:39:26 2009 +0200
@@ -108,7 +108,13 @@
# XXX move to CWEntityManager or even better as factory method (unclear
# where yet...)
def create_entity(self, etype, *args, **kwargs):
- """add a new entity of the given type"""
+ """add a new entity of the given type
+
+ Example (in a shell session):
+
+ c = create_entity('Company', name='Logilab')
+ create_entity('Person', ('works_for', 'Y'), Y=c.eid, firstname='John', lastname='Doe')
+ """
rql = 'INSERT %s X' % etype
relations = []
restrictions = []
--- a/rset.py Wed Oct 07 12:38:30 2009 +0200
+++ b/rset.py Fri Oct 09 16:39:26 2009 +0200
@@ -451,14 +451,19 @@
if rqlst.TYPE == 'select':
# UNION query, find the subquery from which this entity has been
# found
- rqlst, col = rqlst.locate_subquery(col, etype, self.args)
+ select, col = rqlst.locate_subquery(col, etype, self.args)
+ else:
+ select = rqlst
# take care, due to outer join support, we may find None
# values for non final relation
- for i, attr, x in attr_desc_iterator(rqlst, col):
+ for i, attr, x in attr_desc_iterator(select, col):
+ outerselidx = rqlst.subquery_selection_index(select, i)
+ if outerselidx is None:
+ continue
if x == 'subject':
rschema = eschema.subject_relation(attr)
if rschema.is_final():
- entity[attr] = rowvalues[i]
+ entity[attr] = rowvalues[outerselidx]
continue
tetype = rschema.objects(etype)[0]
card = rschema.rproperty(etype, tetype, 'cardinality')[0]
@@ -468,7 +473,7 @@
card = rschema.rproperty(tetype, etype, 'cardinality')[1]
# only keep value if it can't be multivalued
if card in '1?':
- if rowvalues[i] is None:
+ if rowvalues[outerselidx] is None:
if x == 'subject':
rql = 'Any Y WHERE X %s Y, X eid %s'
else:
@@ -476,7 +481,7 @@
rrset = ResultSet([], rql % (attr, entity.eid))
req.decorate_rset(rrset)
else:
- rrset = self._build_entity(row, i).as_rset()
+ rrset = self._build_entity(row, outerselidx).as_rset()
entity.set_related_cache(attr, x, rrset)
return entity
@@ -602,7 +607,6 @@
break
else:
continue
- #varname = var.name
for ref in var.references():
rel = ref.relation()
if rel is None or rel.is_types_restriction():
--- a/schemas/workflow.py Wed Oct 07 12:38:30 2009 +0200
+++ b/schemas/workflow.py Fri Oct 09 16:39:26 2009 +0200
@@ -92,9 +92,10 @@
"""
__specializes_schema__ = True
- destination_state = SubjectRelation('State', cardinality='1*',
- constraints=[RQLConstraint('S transition_of WF, O state_of WF')],
- description=_('destination state for this transition'))
+ destination_state = SubjectRelation(
+ 'State', cardinality='1*',
+ constraints=[RQLConstraint('S transition_of WF, O state_of WF')],
+ description=_('destination state for this transition'))
class WorkflowTransition(BaseTransition):
@@ -103,18 +104,23 @@
subworkflow = SubjectRelation('Workflow', cardinality='1*',
constraints=[RQLConstraint('S transition_of WF, WF workflow_of ET, O workflow_of ET')])
- subworkflow_exit = SubjectRelation('SubWorkflowExitPoint', cardinality='+1',
+ # XXX use exit_of and inline it
+ subworkflow_exit = SubjectRelation('SubWorkflowExitPoint', cardinality='*1',
composite='subject')
class SubWorkflowExitPoint(EntityType):
"""define how we get out from a sub-workflow"""
- subworkflow_state = SubjectRelation('State', cardinality='1*',
- constraints=[RQLConstraint('T subworkflow_exit S, T subworkflow WF, O state_of WF')],
- description=_('subworkflow state'))
- destination_state = SubjectRelation('State', cardinality='1*',
- constraints=[RQLConstraint('T subworkflow_exit S, T transition_of WF, O state_of WF')],
- description=_('destination state'))
+ subworkflow_state = SubjectRelation(
+ 'State', cardinality='1*',
+ constraints=[RQLConstraint('T subworkflow_exit S, T subworkflow WF, O state_of WF')],
+ description=_('subworkflow state'))
+ destination_state = SubjectRelation(
+ 'State', cardinality='?*',
+ constraints=[RQLConstraint('T subworkflow_exit S, T transition_of WF, O state_of WF')],
+ description=_('destination state. No destination state means that transition '
+ 'should go back to the state from which we\'ve entered the '
+ 'subworkflow.'))
class TrInfo(EntityType):
--- a/server/msplanner.py Wed Oct 07 12:38:30 2009 +0200
+++ b/server/msplanner.py Fri Oct 09 16:39:26 2009 +0200
@@ -636,7 +636,7 @@
sourcesterms[source][term].remove(solindex)
except KeyError:
import rql.base as rqlb
- assert isinstance(term, rqlb.BaseNode), repr(term)
+ assert isinstance(term, (rqlb.BaseNode, Variable)), repr(term)
continue # may occur with subquery column alias
if not sourcesterms[source][term]:
del sourcesterms[source][term]
--- a/server/repository.py Wed Oct 07 12:38:30 2009 +0200
+++ b/server/repository.py Fri Oct 09 16:39:26 2009 +0200
@@ -1153,7 +1153,9 @@
def pyro_register(self, host=''):
"""register the repository as a pyro object"""
- from logilab.common.pyro_ext import register_object
+ import tempfile
+ from logilab.common.pyro_ext import register_object, config
+ config.PYRO_STORAGE = tempfile.gettempdir() # XXX until lgc > 0.45.1 is out
appid = self.config['pyro-instance-id'] or self.config.appid
daemon = register_object(self, appid, self.config['pyro-ns-group'],
self.config['pyro-host'],
--- a/server/sources/pyrorql.py Wed Oct 07 12:38:30 2009 +0200
+++ b/server/sources/pyrorql.py Fri Oct 09 16:39:26 2009 +0200
@@ -219,7 +219,7 @@
nshost = self.config.get('pyro-ns-host') or self.repo.config['pyro-ns-host']
nsgroup = self.config.get('pyro-ns-group') or self.repo.config['pyro-ns-group']
self.info('connecting to instance :%s.%s for user %s',
- nsgroup, nshost, self.config['cubicweb-user'])
+ nsgroup, self.config['pyro-ns-id'], self.config['cubicweb-user'])
#cnxprops = ConnectionProperties(cnxtype=self.config['cnx-type'])
return dbapi.connect(database=self.config['pyro-ns-id'],
login=self.config['cubicweb-user'],
--- a/server/sqlutils.py Wed Oct 07 12:38:30 2009 +0200
+++ b/server/sqlutils.py Fri Oct 09 16:39:26 2009 +0200
@@ -33,7 +33,8 @@
SQL_PREFIX = 'cw_'
-def sqlexec(sqlstmts, cursor_or_execute, withpb=True, pbtitle='', delimiter=';'):
+def sqlexec(sqlstmts, cursor_or_execute, withpb=not os.environ.get('APYCOT_ROOT'),
+ pbtitle='', delimiter=';'):
"""execute sql statements ignoring DROP/ CREATE GROUP or USER statements
error. If a cnx is given, commit at each statement
"""
--- a/web/component.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/component.py Fri Oct 09 16:39:26 2009 +0200
@@ -104,6 +104,8 @@
start = int(self._cw.form[self.start_param])
except KeyError:
start, stop = 0, self.page_size
+ if start >= len(self.rset):
+ start, stop = 0, self.page_size
self.starting_from = start
return start, stop
--- a/web/uicfg.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/uicfg.py Fri Oct 09 16:39:26 2009 +0200
@@ -284,14 +284,9 @@
else:
card, composed = _card_and_comp(sschema, rschema, oschema, role)
if card in '1+':
- if not rschema.is_final() and composed:
- # XXX why? probably because we want it unlined, though
- # this is not the case by default
- sectdict['main'] = 'hidden'
- else:
- sectdict['main'] = 'attributes'
- if not 'muledit' in sectdict:
- sectdict['muledit'] = 'attributes'
+ sectdict['main'] = 'attributes'
+ if not 'muledit' in sectdict:
+ sectdict['muledit'] = 'attributes'
elif rschema.is_final():
sectdict['main'] = 'attributes'
else:
@@ -402,7 +397,6 @@
continue
yield (rschema, targetschemas, role)
-
autoform_section = AutoformSectionRelationTags('autoform_section')
# relations'field class
--- a/web/views/autoform.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/views/autoform.py Fri Oct 09 16:39:26 2009 +0200
@@ -134,22 +134,12 @@
# -> generate the <form> node when the content is rendered
# and we know the correct enctype (formrenderer's w attribute
# is not a StringIO)
- for rschema, targettypes, role in self.inlined_relations():
- # inlined forms don't handle multiple target types
- if len(targettypes) != 1:
- continue
- targettype = targettypes[0]
- if targettype in _tested:
- continue
- _tested.add(targettype)
- if self.should_inline_relation_form(rschema, targettype, role):
- entity = self._cw.vreg['etypes'].etype_class(targettype)(self._cw)
- subform = self._cw.vreg['forms'].select('edition', self._cw,
- entity=entity)
- if hasattr(subform, '_subform_needs_multipart'):
- needs_multipart = subform._subform_needs_multipart(_tested)
+ for formview in self.inlined_form_views():
+ if formview.form:
+ if hasattr(formview.form, '_subform_needs_multipart'):
+ needs_multipart = formview.form._subform_needs_multipart(_tested)
else:
- needs_multipart = subform.form_needs_multipart
+ needs_multipart = formview.form.form_needs_multipart
if needs_multipart:
return True
return False
@@ -269,7 +259,7 @@
def inlined_form_views(self):
"""compute and return list of inlined form views (hosting the inlined form object)
"""
- formviews = []
+ allformviews = []
entity = self.edited_entity
for rschema, ttypes, role in self.inlined_relations():
# show inline forms only if there's one possible target type
@@ -281,7 +271,7 @@
continue
ttype = ttypes[0].type
if self.should_inline_relation_form(rschema, ttype, role):
- formviews += self.inline_edition_form_view(rschema, ttype, role)
+ formviews = list(self.inline_edition_form_view(rschema, ttype, role))
if role == 'subject':
card = rschema.rproperty(entity.e_schema, ttype, 'cardinality')[0]
else:
@@ -298,7 +288,8 @@
etype=ttype, rtype=rschema, role=role,
peid=self.edited_entity.eid, pform=self, card=card)
formviews.append(addnewlink)
- return formviews
+ allformviews += formviews
+ return allformviews
def inlined_forms(self):
for formview in self.inlined_form_views():
--- a/web/views/basecontrollers.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/views/basecontrollers.py Fri Oct 09 16:39:26 2009 +0200
@@ -192,8 +192,6 @@
except ValidationError, ex:
return (False, _validation_error(req, ex), ctrl._edited_entity)
except Redirect, ex:
- if ctrl._edited_entity:
- ctrl._edited_entity.complete()
try:
req.cnx.commit() # ValidationError may be raise on commit
except ValidationError, ex:
@@ -203,6 +201,10 @@
req.exception('unexpected error while validating form')
return (False, req._(str(ex).decode('utf-8')), ctrl._edited_entity)
else:
+ # complete entity: it can be used in js callbacks where we might
+ # want every possible information
+ if ctrl._edited_entity:
+ ctrl._edited_entity.complete()
return (True, ex.location, ctrl._edited_entity)
except Exception, ex:
req.cnx.rollback()
@@ -554,7 +556,6 @@
rql = 'Any X WHERE X eid in (%s)' % (','.join(eids))
rset = self._cw.execute(rql)
for entity in rset.entities():
- entity.complete() # XXX really?
yield entity
@property
--- a/web/views/editforms.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/views/editforms.py Fri Oct 09 16:39:26 2009 +0200
@@ -371,6 +371,8 @@
entity
"""
__regid__ = 'copy'
+
+ title = _('copy')
warning_message = _('Please note that this is only a shallow copy')
def render_form(self, entity):
--- a/web/views/formrenderers.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/views/formrenderers.py Fri Oct 09 16:39:26 2009 +0200
@@ -352,7 +352,7 @@
_options = FormRenderer._options + ('display_relations_form', 'main_form_title')
display_relations_form = True
- main_form_title = _('main information')
+ main_form_title = _('main informations')
def render(self, form, values):
rendered = super(EntityFormRenderer, self).render(form, values)
--- a/web/views/treeview.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/views/treeview.py Fri Oct 09 16:39:26 2009 +0200
@@ -180,6 +180,7 @@
# the local node info
self.wview(vid, self.cw_rset, row=row, col=col, **morekwargs)
if is_open and not is_leaf: # => rql is defined
- self.wview(parentvid, self._cw.execute(rql), treeid=treeid, initial_load=False, **morekwargs)
+ self.wview(parentvid, self._cw.execute(rql), subvid=vid,
+ treeid=treeid, initial_load=False, **morekwargs)
w(u'</li>')
--- a/web/views/urlrewrite.py Wed Oct 07 12:38:30 2009 +0200
+++ b/web/views/urlrewrite.py Fri Oct 09 16:39:26 2009 +0200
@@ -170,7 +170,7 @@
for key in formgroups:
form2[key] = match.group(key)
if "vtitle" in form2:
- form2['vtitle'] = req._(form2['vtitle'])
+ form2['vtitle'] = req.__(form2['vtitle'])
if form2:
req.form.update(form2)
return controller, rset