# HG changeset patch # User Julien Cristau # Date 1426166496 -3600 # Node ID 512ba8f37bd4d2693b81bdec5d122ec03f865af3 # Parent eacb8ea38bf570c995beb399c6bba578860aca9b# Parent fb138c2b7da37c58535279fc07d782fb9d3355ac merge 3.19.10 into 3.20 diff -r eacb8ea38bf5 -r 512ba8f37bd4 .hgtags --- a/.hgtags Wed Feb 25 17:13:46 2015 +0100 +++ b/.hgtags Thu Mar 12 14:21:36 2015 +0100 @@ -398,6 +398,9 @@ b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-version-3.19.9 b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-debian-version-3.19.9-1 b7c373d74754f5ba9344575cb179b47282c413b6 cubicweb-centos-version-3.19.9-1 +3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-version-3.19.10 +3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-debian-version-3.19.10-1 +3bab0b9b0ee7355a6fea45c2adca88bffe130e5d cubicweb-centos-version-3.19.10-1 7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-version-3.20.0 7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-debian-version-3.20.0-1 7e6b7739afe6128589ad51b0318decb767cbae36 cubicweb-centos-version-3.20.0-1 diff -r eacb8ea38bf5 -r 512ba8f37bd4 __pkginfo__.py diff -r eacb8ea38bf5 -r 512ba8f37bd4 cubicweb.spec diff -r eacb8ea38bf5 -r 512ba8f37bd4 debian/changelog --- a/debian/changelog Wed Feb 25 17:13:46 2015 +0100 +++ b/debian/changelog Thu Mar 12 14:21:36 2015 +0100 @@ -28,6 +28,12 @@ -- Julien Cristau Tue, 06 Jan 2015 18:11:03 +0100 +cubicweb (3.19.10-1) unstable; urgency=low + + * New upstream release. + + -- Rémi Cardona Thu, 12 Mar 2015 11:52:01 +0100 + cubicweb (3.19.9-1) unstable; urgency=low * new upstream release diff -r eacb8ea38bf5 -r 512ba8f37bd4 devtools/devctl.py --- a/devtools/devctl.py Wed Feb 25 17:13:46 2015 +0100 +++ b/devtools/devctl.py Thu Mar 12 14:21:36 2015 +0100 @@ -167,6 +167,7 @@ if not eschema.final: add_msg(w, 'This %s:' % etype) add_msg(w, 'New %s' % etype) + add_msg(w, 'add a %s' % etype) # AddNewAction if libconfig is not None: # processing a cube # As of 3.20.3 we no longer use it, but keeping this string # allows developers to run i18ncube with new cubicweb and still diff -r eacb8ea38bf5 -r 512ba8f37bd4 devtools/test/data/cubes/i18ntestcube/i18n/en.po.ref --- a/devtools/test/data/cubes/i18ntestcube/i18n/en.po.ref Wed Feb 25 17:13:46 2015 +0100 +++ b/devtools/test/data/cubes/i18ntestcube/i18n/en.po.ref Thu Mar 12 14:21:36 2015 +0100 @@ -41,6 +41,12 @@ msgid "add ForumThread in_forum Forum object" msgstr "" +msgid "add a Forum" +msgstr "" + +msgid "add a ForumThread" +msgstr "" + msgid "creating ForumThread (ForumThread in_forum Forum %(linkto)s)" msgstr "" diff -r eacb8ea38bf5 -r 512ba8f37bd4 etwist/twconfig.py --- a/etwist/twconfig.py Wed Feb 25 17:13:46 2015 +0100 +++ b/etwist/twconfig.py Thu Mar 12 14:21:36 2015 +0100 @@ -103,7 +103,7 @@ def default_base_url(self): from socket import getfqdn - return 'http://%s:%s/' % (self['host'] or getfqdn(), self['port'] or 8080) + return 'http://%s:%s/' % (self['host'] or getfqdn().lower(), self['port'] or 8080) try: diff -r eacb8ea38bf5 -r 512ba8f37bd4 i18n/de.po --- a/i18n/de.po Wed Feb 25 17:13:46 2015 +0100 +++ b/i18n/de.po Thu Mar 12 14:21:36 2015 +0100 @@ -1120,6 +1120,30 @@ msgid "add WorkflowTransition transition_of Workflow object" msgstr "Workflow-Übergang" +msgid "add a BaseTransition" +msgstr "" + +msgid "add a Bookmark" +msgstr "" + +msgid "add a CWAttribute" +msgstr "" + +msgid "add a CWCache" +msgstr "" + +msgid "add a CWConstraint" +msgstr "" + +msgid "add a CWConstraintType" +msgstr "" + +msgid "add a CWDataImport" +msgstr "" + +msgid "add a CWEType" +msgstr "" + msgctxt "inlined:CWRelation.from_entity.subject" msgid "add a CWEType" msgstr "einen Entitätstyp hinzufügen" @@ -1128,14 +1152,68 @@ msgid "add a CWEType" msgstr "einen Entitätstyp hinzufügen" +msgid "add a CWGroup" +msgstr "" + +msgid "add a CWProperty" +msgstr "" + +msgid "add a CWRType" +msgstr "" + msgctxt "inlined:CWRelation.relation_type.subject" msgid "add a CWRType" msgstr "einen Relationstyp hinzufügen" +msgid "add a CWRelation" +msgstr "" + +msgid "add a CWSource" +msgstr "" + +msgid "add a CWSourceHostConfig" +msgstr "" + +msgid "add a CWSourceSchemaConfig" +msgstr "" + +msgid "add a CWUniqueTogetherConstraint" +msgstr "" + +msgid "add a CWUser" +msgstr "" + +msgid "add a EmailAddress" +msgstr "" + msgctxt "inlined:CWUser.use_email.subject" msgid "add a EmailAddress" msgstr "Email-Adresse hinzufügen" +msgid "add a ExternalUri" +msgstr "" + +msgid "add a RQLExpression" +msgstr "" + +msgid "add a State" +msgstr "" + +msgid "add a SubWorkflowExitPoint" +msgstr "" + +msgid "add a TrInfo" +msgstr "" + +msgid "add a Transition" +msgstr "" + +msgid "add a Workflow" +msgstr "" + +msgid "add a WorkflowTransition" +msgstr "" + # subject and object forms for each relation type # (no object form for final relation types) msgid "add_permission" diff -r eacb8ea38bf5 -r 512ba8f37bd4 i18n/en.po --- a/i18n/en.po Wed Feb 25 17:13:46 2015 +0100 +++ b/i18n/en.po Thu Mar 12 14:21:36 2015 +0100 @@ -1082,6 +1082,30 @@ msgid "add WorkflowTransition transition_of Workflow object" msgstr "workflow-transition" +msgid "add a BaseTransition" +msgstr "" + +msgid "add a Bookmark" +msgstr "" + +msgid "add a CWAttribute" +msgstr "" + +msgid "add a CWCache" +msgstr "" + +msgid "add a CWConstraint" +msgstr "" + +msgid "add a CWConstraintType" +msgstr "" + +msgid "add a CWDataImport" +msgstr "" + +msgid "add a CWEType" +msgstr "" + msgctxt "inlined:CWRelation.from_entity.subject" msgid "add a CWEType" msgstr "add an entity type" @@ -1090,14 +1114,68 @@ msgid "add a CWEType" msgstr "add an entity type" +msgid "add a CWGroup" +msgstr "" + +msgid "add a CWProperty" +msgstr "" + +msgid "add a CWRType" +msgstr "" + msgctxt "inlined:CWRelation.relation_type.subject" msgid "add a CWRType" msgstr "add a relation type" +msgid "add a CWRelation" +msgstr "" + +msgid "add a CWSource" +msgstr "" + +msgid "add a CWSourceHostConfig" +msgstr "" + +msgid "add a CWSourceSchemaConfig" +msgstr "" + +msgid "add a CWUniqueTogetherConstraint" +msgstr "" + +msgid "add a CWUser" +msgstr "" + +msgid "add a EmailAddress" +msgstr "" + msgctxt "inlined:CWUser.use_email.subject" msgid "add a EmailAddress" msgstr "add an email address" +msgid "add a ExternalUri" +msgstr "" + +msgid "add a RQLExpression" +msgstr "" + +msgid "add a State" +msgstr "" + +msgid "add a SubWorkflowExitPoint" +msgstr "" + +msgid "add a TrInfo" +msgstr "" + +msgid "add a Transition" +msgstr "" + +msgid "add a Workflow" +msgstr "" + +msgid "add a WorkflowTransition" +msgstr "" + # subject and object forms for each relation type # (no object form for final relation types) msgid "add_permission" diff -r eacb8ea38bf5 -r 512ba8f37bd4 i18n/es.po --- a/i18n/es.po Wed Feb 25 17:13:46 2015 +0100 +++ b/i18n/es.po Thu Mar 12 14:21:36 2015 +0100 @@ -1139,6 +1139,30 @@ msgid "add WorkflowTransition transition_of Workflow object" msgstr "Transición Workflow" +msgid "add a BaseTransition" +msgstr "" + +msgid "add a Bookmark" +msgstr "" + +msgid "add a CWAttribute" +msgstr "" + +msgid "add a CWCache" +msgstr "" + +msgid "add a CWConstraint" +msgstr "" + +msgid "add a CWConstraintType" +msgstr "" + +msgid "add a CWDataImport" +msgstr "" + +msgid "add a CWEType" +msgstr "" + msgctxt "inlined:CWRelation.from_entity.subject" msgid "add a CWEType" msgstr "Agregar un tipo de entidad" @@ -1147,14 +1171,68 @@ msgid "add a CWEType" msgstr "Agregar un tipo de entidad" +msgid "add a CWGroup" +msgstr "" + +msgid "add a CWProperty" +msgstr "" + +msgid "add a CWRType" +msgstr "" + msgctxt "inlined:CWRelation.relation_type.subject" msgid "add a CWRType" msgstr "Agregar un tipo de relación" +msgid "add a CWRelation" +msgstr "" + +msgid "add a CWSource" +msgstr "" + +msgid "add a CWSourceHostConfig" +msgstr "" + +msgid "add a CWSourceSchemaConfig" +msgstr "" + +msgid "add a CWUniqueTogetherConstraint" +msgstr "" + +msgid "add a CWUser" +msgstr "" + +msgid "add a EmailAddress" +msgstr "" + msgctxt "inlined:CWUser.use_email.subject" msgid "add a EmailAddress" msgstr "Agregar correo electrónico" +msgid "add a ExternalUri" +msgstr "" + +msgid "add a RQLExpression" +msgstr "" + +msgid "add a State" +msgstr "" + +msgid "add a SubWorkflowExitPoint" +msgstr "" + +msgid "add a TrInfo" +msgstr "" + +msgid "add a Transition" +msgstr "" + +msgid "add a Workflow" +msgstr "" + +msgid "add a WorkflowTransition" +msgstr "" + # subject and object forms for each relation type # (no object form for final relation types) msgid "add_permission" diff -r eacb8ea38bf5 -r 512ba8f37bd4 i18n/fr.po --- a/i18n/fr.po Wed Feb 25 17:13:46 2015 +0100 +++ b/i18n/fr.po Thu Mar 12 14:21:36 2015 +0100 @@ -1135,6 +1135,30 @@ msgid "add WorkflowTransition transition_of Workflow object" msgstr "transition workflow" +msgid "add a BaseTransition" +msgstr "" + +msgid "add a Bookmark" +msgstr "" + +msgid "add a CWAttribute" +msgstr "" + +msgid "add a CWCache" +msgstr "" + +msgid "add a CWConstraint" +msgstr "" + +msgid "add a CWConstraintType" +msgstr "" + +msgid "add a CWDataImport" +msgstr "" + +msgid "add a CWEType" +msgstr "" + msgctxt "inlined:CWRelation.from_entity.subject" msgid "add a CWEType" msgstr "ajouter un type d'entité sujet" @@ -1143,14 +1167,68 @@ msgid "add a CWEType" msgstr "ajouter un type d'entité objet" +msgid "add a CWGroup" +msgstr "" + +msgid "add a CWProperty" +msgstr "" + +msgid "add a CWRType" +msgstr "" + msgctxt "inlined:CWRelation.relation_type.subject" msgid "add a CWRType" msgstr "ajouter un type de relation" +msgid "add a CWRelation" +msgstr "" + +msgid "add a CWSource" +msgstr "" + +msgid "add a CWSourceHostConfig" +msgstr "" + +msgid "add a CWSourceSchemaConfig" +msgstr "" + +msgid "add a CWUniqueTogetherConstraint" +msgstr "" + +msgid "add a CWUser" +msgstr "" + +msgid "add a EmailAddress" +msgstr "" + msgctxt "inlined:CWUser.use_email.subject" msgid "add a EmailAddress" msgstr "ajouter une adresse électronique" +msgid "add a ExternalUri" +msgstr "" + +msgid "add a RQLExpression" +msgstr "" + +msgid "add a State" +msgstr "" + +msgid "add a SubWorkflowExitPoint" +msgstr "" + +msgid "add a TrInfo" +msgstr "" + +msgid "add a Transition" +msgstr "" + +msgid "add a Workflow" +msgstr "" + +msgid "add a WorkflowTransition" +msgstr "" + # subject and object forms for each relation type # (no object form for final relation types) msgid "add_permission" diff -r eacb8ea38bf5 -r 512ba8f37bd4 server/sources/native.py --- a/server/sources/native.py Wed Feb 25 17:13:46 2015 +0100 +++ b/server/sources/native.py Thu Mar 12 14:21:36 2015 +0100 @@ -1553,14 +1553,15 @@ system database in a database independent format. The file is a Zip archive containing the following files: - * format.txt: the format of the archive. Currently '1.0' + * format.txt: the format of the archive. Currently '1.1' * tables.txt: list of filenames in the archive tables/ directory * sequences.txt: list of filenames in the archive sequences/ directory + * numranges.txt: list of filenames in the archive numrange/ directory * versions.txt: the list of cube versions from CWProperty * tables/.: pickled data * sequences/: pickled data - The pickled data format for tables and sequences is a tuple of 3 elements: + The pickled data format for tables, numranges and sequences is a tuple of 3 elements: * the table name * a tuple of column names * a list of rows (as tuples with one element per column) @@ -1598,6 +1599,9 @@ for seq in self.get_sequences(): self.logger.info('processing sequence %s', seq) self.write_sequence(archive, seq) + for numrange in self.get_numranges(): + self.logger.info('processing numrange %s', numrange) + self.write_numrange(archive, numrange) for table in self.get_tables(): self.logger.info('processing table %s', table) self.write_table(archive, table) @@ -1628,12 +1632,16 @@ return non_entity_tables + etype_tables + relation_tables def get_sequences(self): + return [] + + def get_numranges(self): return ['entities_id_seq'] def write_metadata(self, archive): - archive.writestr('format.txt', '1.0') + archive.writestr('format.txt', '1.1') archive.writestr('tables.txt', '\n'.join(self.get_tables())) archive.writestr('sequences.txt', '\n'.join(self.get_sequences())) + archive.writestr('numranges.txt', '\n'.join(self.get_numranges())) versions = self._get_versions() versions_str = '\n'.join('%s %s' % (k, v) for k, v in versions) @@ -1646,6 +1654,13 @@ serialized = self._serialize(seq, columns, rows) archive.writestr('sequences/%s' % seq, serialized) + def write_numrange(self, archive, numrange): + sql = self.dbhelper.sql_numrange_current_state(numrange) + columns, rows_iterator = self._get_cols_and_rows(sql) + rows = list(rows_iterator) + serialized = self._serialize(numrange, columns, rows) + archive.writestr('numrange/%s' % numrange, serialized) + def write_table(self, archive, table): nb_lines_sql = 'SELECT COUNT(*) FROM %s' % table self.cursor.execute(nb_lines_sql) @@ -1682,10 +1697,13 @@ archive = zipfile.ZipFile(backupfile, 'r', allowZip64=True) self.cnx = self.get_connection() self.cursor = self.cnx.cursor() - sequences, tables, table_chunks = self.read_metadata(archive, backupfile) + sequences, numranges, tables, table_chunks = self.read_metadata(archive, backupfile) for seq in sequences: self.logger.info('restoring sequence %s', seq) self.read_sequence(archive, seq) + for numrange in numranges: + self.logger.info('restoring numrange %s', seq) + self.read_numrange(archive, numrange) for table in tables: self.logger.info('restoring table %s', table) self.read_table(archive, table, sorted(table_chunks[table])) @@ -1696,11 +1714,12 @@ def read_metadata(self, archive, backupfile): formatinfo = archive.read('format.txt') self.logger.info('checking metadata') - if formatinfo.strip() != "1.0": + if formatinfo.strip() != "1.1": self.logger.critical('Unsupported format in archive: %s', formatinfo) raise ValueError('Unknown format in %s: %s' % (backupfile, formatinfo)) tables = archive.read('tables.txt').splitlines() sequences = archive.read('sequences.txt').splitlines() + numranges = archive.read('numranges.txt').splitlines() file_versions = self._parse_versions(archive.read('versions.txt')) versions = set(self._get_versions()) if file_versions != versions: @@ -1717,7 +1736,7 @@ filename = basename(name) tablename, _ext = filename.rsplit('.', 1) table_chunks.setdefault(tablename, []).append(name) - return sequences, tables, table_chunks + return sequences, numranges, tables, table_chunks def read_sequence(self, archive, seq): seqname, columns, rows = loads(archive.read('sequences/%s' % seq)) @@ -1729,6 +1748,16 @@ self.cursor.execute(sql) self.cnx.commit() + def read_numrange(self, archive, numrange): + rangename, columns, rows = loads(archive.read('numrange/%s' % numrange)) + assert rangename == numrange + assert len(rows) == 1 + assert len(rows[0]) == 1 + value = rows[0][0] + sql = self.dbhelper.sql_restart_numrange(numrange, value) + self.cursor.execute(sql) + self.cnx.commit() + def read_table(self, archive, table, filenames): merge_args = self._source.merge_args self.cursor.execute('DELETE FROM %s' % table) diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/test/unittest_views_editforms.py --- a/web/test/unittest_views_editforms.py Wed Feb 25 17:13:46 2015 +0100 +++ b/web/test/unittest_views_editforms.py Thu Mar 12 14:21:36 2015 +0100 @@ -148,6 +148,13 @@ self.vreg['forms'].select('edition', req, entity=rset.get_entity(0, 0)) self.assertFalse(any(f for f in form.fields if f is None)) + def test_edition_form_with_action(self): + with self.admin_access.web_request() as req: + rset = req.execute('CWUser X LIMIT 1') + form = self.vreg['forms'].select('edition', req, rset=rset, row=0, + col=0, action='my_custom_action') + self.assertEqual(form.form_action(), 'my_custom_action') + def test_attribute_add_permissions(self): # https://www.cubicweb.org/ticket/4342844 with self.admin_access.repo_cnx() as cnx: diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/views/autoform.py --- a/web/views/autoform.py Wed Feb 25 17:13:46 2015 +0100 +++ b/web/views/autoform.py Thu Mar 12 14:21:36 2015 +0100 @@ -732,10 +732,7 @@ @deprecated('[3.18] use form_action()') def get_action(self): - try: - return self._action - except AttributeError: - return self._cw.build_url(self._default_form_action_path) + return self._action @iclassmethod diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/about_en.rst --- a/web/wdoc/about_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/about_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -22,4 +22,4 @@ .. _dublincore: http://dublincore.org .. _Logilab: http://www.logilab.fr/ -.. _schema: schema +.. _schema: ../schema diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/about_fr.rst --- a/web/wdoc/about_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/about_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -25,4 +25,4 @@ .. _dublincore: http://dublincore.org .. _Logilab: http://www.logilab.fr/ -.. _schéma: schema +.. _schéma: ../schema diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/add_content_en.rst --- a/web/wdoc/add_content_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/add_content_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -2,7 +2,7 @@ ----------------- As manager, you can access to entity creation forms by using the `site management`_ page. -.. _`site management`: manage +.. _`site management`: ../manage As regular user, the index page or the action box may propose some links to create entities according to the context. diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/add_content_fr.rst --- a/web/wdoc/add_content_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/add_content_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -2,7 +2,7 @@ ------------------- Pour un administrateur, la création des objets est toujours possible directement dans la `page de gestion de site`_. -.. _`page de gestion de site`: manage +.. _`page de gestion de site`: ../manage Pour les utilisateurs, la page principale ou la boîte d'action des entités vous permettra la création de nouveaux contenus. L'intérêt de la dernière méthode est de faciliter l'édition de la relation entre les objets. diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/advanced_usage_schema_en.rst --- a/web/wdoc/advanced_usage_schema_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/advanced_usage_schema_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -6,4 +6,4 @@ site is not a content management system with items placed in folders. It is an interface to a database which applies a view to retreived data. -.. _schema: schema +.. _schema: ../schema diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/advanced_usage_schema_fr.rst --- a/web/wdoc/advanced_usage_schema_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/advanced_usage_schema_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -5,7 +5,7 @@ Commencez d'abord par jeter un œil au schéma_ de l'application, puis essayez de vous rappeler que vous naviguez dans un ensemble de données en appliquant des vues aux résultats de requête. Ce site n'est pas un système de gestion de contenu avec des objets dans des répertoires. C'est une interface vers une base de données qui vous permet d'appliquer une vue aux données récupérées. -.. _schéma: schema +.. _schéma: ../schema Relation entre les objets diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/bookmarks_fr.rst --- a/web/wdoc/bookmarks_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/bookmarks_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -27,4 +27,4 @@ ayez le droit de les modifier. -.. _`préférences utilisateurs`: myprefs +.. _`préférences utilisateurs`: ../myprefs diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/custom_view_en.rst --- a/web/wdoc/custom_view_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/custom_view_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -6,10 +6,10 @@ preferences`_). Once you're satified, add a `bookmark`_ if you want to reuse this view later. -.. _`RQL tutorial`: doc/tut_rql -.. _`schema`: schema -.. _`user preferences`: myprefs -.. _`bookmark`: doc/bookmarks +.. _`RQL tutorial`: tut_rql +.. _`schema`: ../schema +.. _`user preferences`: ../myprefs +.. _`bookmark`: bookmarks Below are some example of what can be acheived... diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/custom_view_fr.rst --- a/web/wdoc/custom_view_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/custom_view_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -9,10 +9,10 @@ utilisateur`_). Une fois que vous êtes satisfait, ajoutez un `signet`_ si vous voulez réutiliser votre vue plus tard. -.. _`tutoriel RQL`: doc/tut_rql -.. _`schéma`: schema -.. _`préférences utilisateur`: myprefs -.. _`signet`: doc/bookmarks +.. _`tutoriel RQL`: tut_rql +.. _`schéma`: ../schema +.. _`préférences utilisateur`: ../myprefs +.. _`signet`: bookmarks Ci-dessous quelques exemples de ce que l'on peut faire... diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/custom_view_last_update_en.rst --- a/web/wdoc/custom_view_last_update_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/custom_view_last_update_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -5,4 +5,4 @@ Links below is providing useful RQL query example. -.. _all latest changes: view?rql=Any+M%2CX+WHERE+X+modification_date+M+ORDERBY+M+DESC+LIMIT+30 +.. _all latest changes: ../view?rql=Any+M%2CX+WHERE+X+modification_date+M+ORDERBY+M+DESC+LIMIT+30 diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/custom_view_last_update_fr.rst --- a/web/wdoc/custom_view_last_update_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/custom_view_last_update_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -6,5 +6,5 @@ * la table des `derniers changements`_ fournit un exemple d'utilisation de RQL pour récupérer les derniers changements ayant eu lieu sur ce site. -.. _`derniers changements`: view?rql=Any+M%2CX+WHERE+X+modification_date+M+ORDERBY+M+DESC+LIMIT+30 +.. _`derniers changements`: ../view?rql=Any+M%2CX+WHERE+X+modification_date+M+ORDERBY+M+DESC+LIMIT+30 diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/custom_view_rss_en.rst --- a/web/wdoc/custom_view_rss_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/custom_view_rss_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -10,5 +10,5 @@ an RSS reader into that and follow the site activity. For example : :raw-html:`

latest changes

` +href="../view?vid=rss&rql=Any+X%2CM+WHERE+X+modification_date+M+ORDERBY+M+DESC+LIMIT+30"> latest changes

` diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/custom_view_rss_fr.rst --- a/web/wdoc/custom_view_rss_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/custom_view_rss_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -13,6 +13,6 @@ derniers changements sous forme de flux RSS: :raw-html:`

latest changes

` +href="../view?vid=rss&rql=Any+X%2CM+WHERE+X+modification_date+M+ORDERBY+M+DESC+LIMIT+30"> latest changes

` diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/search_en.rst --- a/web/wdoc/search_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/search_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -10,4 +10,4 @@ * `rql` : RQL query * `text` : full text search -.. _RQL: doc/tut_rql +.. _RQL: tut_rql diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/search_fr.rst --- a/web/wdoc/search_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/search_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -11,5 +11,5 @@ * `rql` : requête RQL * `text` : recherche plein texte -.. _RQL: doc/tut_rql +.. _RQL: tut_rql diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/tut_rql_en.rst --- a/web/wdoc/tut_rql_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/tut_rql_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -20,7 +20,7 @@ knowledge of the application'schema. You can always view it using the "schema" link in user's dropdown menu (on the top-right of the screen) or by clicking here_. -.. _here: schema +.. _here: ../schema Some bits of theory diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/tut_rql_fr.rst --- a/web/wdoc/tut_rql_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/tut_rql_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -24,7 +24,7 @@ boîte affichée en cliquant sur le lien de l'utilisateur connectée (en haut à droite). Vous pouvez également le voir en cliquant ici_. -.. _ici: schema +.. _ici: ../schema Un peu de théorie diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/userprefs_en.rst --- a/web/wdoc/userprefs_en.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/userprefs_en.rst Thu Mar 12 14:21:36 2015 +0100 @@ -7,4 +7,4 @@ preferences" link in this menu. This will show you a form to configure which boxes are displayed, in which order, etc... -.. image:: doc/images/userprefs +.. image:: images/userprefs diff -r eacb8ea38bf5 -r 512ba8f37bd4 web/wdoc/userprefs_fr.rst --- a/web/wdoc/userprefs_fr.rst Wed Feb 25 17:13:46 2015 +0100 +++ b/web/wdoc/userprefs_fr.rst Thu Mar 12 14:21:36 2015 +0100 @@ -6,7 +6,7 @@ personnelles (y compris le mot de passe d'accès à l'application). Chaque utilisateur peut également personaliser l'apparence du site via le lien -"préférences utilisateur"_. Ce formulaire permet notamment de configurer les +`préférences utilisateur`_. Ce formulaire permet notamment de configurer les boîtes qui seront affichées, leur ordre, etc... L'administrateur possède quant à lui un menu "configuration du site" qui reprend l'ensemble des préférences utilisateurs mais les applique par défaut au site. @@ -42,6 +42,6 @@ Il est alors possible d'éditer et de relancer toute requête -.. _"préférences utilisateur: myprefs -.. _RQL: doc/tut_rql -.. image:: doc/images/userprefs +.. _`préférences utilisateur`: ../myprefs +.. _RQL: tut_rql +.. image:: images/userprefs