# HG changeset patch # User David Douard # Date 1374479276 -7200 # Node ID 3e4bef7d514dc7da80a313ef7102eed6069abb31 # Parent 78071e41926f43e6d00f29bd67972db5f55d657c# Parent 3125d8a13b03e47715b63dc0561c23de6ba47b94 merge 3.16.6 branch in 3.17 diff -r 78071e41926f -r 3e4bef7d514d .hgtags --- a/.hgtags Wed Jul 10 15:03:50 2013 +0200 +++ b/.hgtags Mon Jul 22 09:47:56 2013 +0200 @@ -30,11 +30,7 @@ c9c492787a8aa1b7916e22eb6498cba1c8fa316c cubicweb-debian-version-3_2_0-1 634c251dd032894850080c4e5aeb0a4e09f888c0 cubicweb-version-3_2_1 e784f8847a124a93e5b385d7a92a2772c050fe82 cubicweb-debian-version-3_2_1-1 -6539ce84f04357ef65ccee0896a30997b16a4ece cubicweb-version-3_2_2 -92d1a15f08f7c5fa87643ffb4273d12cb3f41c63 cubicweb-debian-version-3_2_2-1 -6539ce84f04357ef65ccee0896a30997b16a4ece cubicweb-version-3_2_2 9b21e068fef73c37bcb4e53d006a7bde485f390b cubicweb-version-3_2_2 -92d1a15f08f7c5fa87643ffb4273d12cb3f41c63 cubicweb-debian-version-3_2_2-1 0e07514264aa1b0b671226f41725ea4c066c210a cubicweb-debian-version-3_2_2-1 f60bb84b86cf371f1f25197e00c778b469297721 cubicweb-version-3_2_3 4003d24974f15f17bd03b7efd6a5047cad4e4c41 cubicweb-debian-version-3_2_3-1 @@ -43,10 +39,8 @@ a356da3e725bfcb59d8b48a89d04be05ea261fd3 3.3.1 e3aeb6e6c3bb5c18e8dcf61bae9d654beda6c036 cubicweb-version-3_3_2 bef5e74e53f9de8220451dca4b5863a24a0216fb cubicweb-debian-version-3_3_2-1 -1cf9e44e2f1f4415253b8892a0adfbd3b69e84fd cubicweb-version-3_3_3 +47b5236774a0cf3b1cfe75f6d4bd2ec989644ace cubicweb-version-3_3_3 81973c897c9e78e5e52643e03628654916473196 cubicweb-debian-version-3_3_3-1 -1cf9e44e2f1f4415253b8892a0adfbd3b69e84fd cubicweb-version-3_3_3 -47b5236774a0cf3b1cfe75f6d4bd2ec989644ace cubicweb-version-3_3_3 2ba27ce8ecd9828693ec53c517e1c8810cbbe33e cubicweb-debian-version-3_3_3-2 d46363eac5d71bc1570d69337955154dfcd8fcc8 cubicweb-version-3.3.4 7dc22caa7640bf70fcae55afb6d2326829dacced cubicweb-debian-version-3.3.4-1 @@ -82,11 +76,7 @@ 37d025b2aa7735dae4a861059014c560b45b19e6 cubicweb-debian-version-3.5.4-1 1eca47d59fd932fe23f643ca239cf2408e5b1856 cubicweb-version-3.5.5 aad818d9d9b6fdb2ffea56c0a9af718c0b69899d cubicweb-debian-version-3.5.5-1 -b79f361839a7251b35eb8378fbc0773de7c8a815 cubicweb-version-3.5.6 -e6225e8e36c6506c774e0a76acc301d8ae1c1028 cubicweb-debian-version-3.5.6-1 -b79f361839a7251b35eb8378fbc0773de7c8a815 cubicweb-version-3.5.6 4e619e97b3fd70769a0f454963193c10cb87f9d4 cubicweb-version-3.5.6 -e6225e8e36c6506c774e0a76acc301d8ae1c1028 cubicweb-debian-version-3.5.6-1 5f7c939301a1b915e17eec61c05e8e9ab8bdc182 cubicweb-debian-version-3.5.6-1 0fc300eb4746e01f2755b9eefd986d58d8366ccf cubicweb-version-3.5.7 7a96c0544c138a0c5f452e5b2428ce6e2b7cb378 cubicweb-debian-version-3.5.7-1 @@ -98,8 +88,6 @@ 4920121d41f28c8075a4f00461911677396fc566 cubicweb-debian-version-3.5.11-1 98af3d02b83e7635207781289cc3445fb0829951 cubicweb-version-3.5.12 4281e1e2d76b9a37f38c0eeb1cbdcaa2fac6533c cubicweb-debian-version-3.5.12-1 -5f957e351b0a60d5c5fff60c560b04e666c3a8c6 cubicweb-version-3.6.0 -17e88f2485d1ea1fb8a3926a274637ce19e95d69 cubicweb-debian-version-3.6.0-1 450804da3ab2476b7ede0c1f956235b4c239734f cubicweb-version-3.6.0 d2ba93fcb8da95ceab08f48f8149a480215f149c cubicweb-debian-version-3.6.0-1 4ae30c9ca11b1edad67d25b76fce672171d02023 cubicweb-version-3.6.1 @@ -107,12 +95,12 @@ 0a16f07112b90fb61d2e905855fece77e5a7e39c cubicweb-debian-version-3.6.1-2 bfebe3d14d5390492925fc294dfdafad890a7104 cubicweb-version-3.6.2 f3b4bb9121a0e7ee5961310ff79e61c890948a77 cubicweb-debian-version-3.6.2-1 +9c342fa4f1b73e06917d7dc675949baff442108b cubicweb-version-3.6.3 +f9fce56d6a0c2bc6c4b497b66039a8bbbbdc8074 cubicweb-debian-version-3.6.3-1 270aba1e6fa21dac6b070e7815e6d1291f9c87cd cubicweb-version-3.7.0 0c9ff7e496ce344b7e6bf5c9dd2847daf9034e5e cubicweb-debian-version-3.7.0-1 6b0832bbd1daf27c2ce445af5b5222e1e522fb90 cubicweb-version-3.7.1 9194740f070e64da5a89f6a9a31050a8401ebf0c cubicweb-debian-version-3.7.1-1 -9c342fa4f1b73e06917d7dc675949baff442108b cubicweb-version-3.6.3 -f9fce56d6a0c2bc6c4b497b66039a8bbbbdc8074 cubicweb-debian-version-3.6.3-1 d010f749c21d55cd85c5feb442b9cf816282953c cubicweb-version-3.7.2 8fda29a6c2191ba3cc59242c17b28b34127c75fa cubicweb-debian-version-3.7.2-1 768beb8e15f15e079f8ee6cfc35125e12b19e140 cubicweb-version-3.7.3 @@ -135,10 +123,11 @@ 5d05b08adeab1ea301e49ed8537e35ede6db92f6 cubicweb-debian-version-3.8.5-1 1a24c62aefc5e57f61be3d04affd415288e81904 cubicweb-version-3.8.6 607a90073911b6bb941a49b5ec0b0d2a9cd479af cubicweb-debian-version-3.8.6-1 +a1a334d934390043a4293a4ee42bdceb1343246e cubicweb-version-3.8.7 +1cccf88d6dfe42986e1091de4c364b7b5814c54f cubicweb-debian-version-3.8.7-1 +48f468f33704e401a8e7907e258bf1ac61eb8407 cubicweb-version-3.9.x d9936c39d478b6701a4adef17bc28888ffa011c6 cubicweb-version-3.9.0 eda4940ffef8b7d36127e68de63a52388374a489 cubicweb-debian-version-3.9.0-1 -a1a334d934390043a4293a4ee42bdceb1343246e cubicweb-version-3.8.7 -1cccf88d6dfe42986e1091de4c364b7b5814c54f cubicweb-debian-version-3.8.7-1 4d75f743ed49dd7baf8bde7b0e475244933fa08e cubicweb-version-3.9.1 9bd75af3dca36d7be5d25fc5ab1b89b34c811456 cubicweb-debian-version-3.9.1-1 e51796b9caf389c224c6f66dcb8aa75bf1b82eff cubicweb-version-3.9.2 @@ -155,6 +144,11 @@ 1c01f9dffd64d507863c9f8f68e3585b7aa24374 cubicweb-debian-version-3.9.7-1 eed788018b595d46a55805bd8d2054c401812b2b cubicweb-version-3.9.8 e4dba8ae963701a36be94ae58c790bc97ba029bb cubicweb-debian-version-3.9.8-1 +df0b2de62cec10c84a2fff5233db05852cbffe93 cubicweb-version-3.9.9 +1ba51b00fc44faa0d6d57448000aaa1fd5c6ab57 cubicweb-debian-version-3.9.9-1 +b7db1f59355832a409d2032e19c84cfffdb3b265 cubicweb-debian-version-3.9.9-2 +09c98763ae9d43616d047c1b25d82b4e41a4362f cubicweb-debian-version-3.9.9-3 +a62f24e1497e953fbaed5894f6064a64f7ac0be3 cubicweb-version-3.10.x 0793fe84651be36f8de9b4faba3781436dc07be0 cubicweb-version-3.10.0 9ef1347f8d99e7daad290738ef93aa894a2c03ce cubicweb-debian-version-3.10.0-1 6c6859a676732c845af69f92e74d4aafae12f83a cubicweb-version-3.10.1 @@ -163,15 +157,7 @@ 4a87c8af6f3ffe59c6048ebbdc1b6b204d0b9c7f cubicweb-debian-version-3.10.2-1 8eb58d00a0cedcf7b275b1c7f43b08e2165f655c cubicweb-version-3.10.3 303b150ebb7a92b2904efd52b446457999cab370 cubicweb-debian-version-3.10.3-1 -3829498510a754b1b8a40582cb8dcbca9145fc9d cubicweb-version-3.10.4 -49f1226f2fab6d9ff17eb27d5a66732a4e5b5add cubicweb-debian-version-3.10.4-1 -df0b2de62cec10c84a2fff5233db05852cbffe93 cubicweb-version-3.9.9 -1ba51b00fc44faa0d6d57448000aaa1fd5c6ab57 cubicweb-debian-version-3.9.9-1 -b7db1f59355832a409d2032e19c84cfffdb3b265 cubicweb-debian-version-3.9.9-2 -09c98763ae9d43616d047c1b25d82b4e41a4362f cubicweb-debian-version-3.9.9-3 -3829498510a754b1b8a40582cb8dcbca9145fc9d cubicweb-version-3.10.4 d73733479a3af453f06b849ed88d120784ce9224 cubicweb-version-3.10.4 -49f1226f2fab6d9ff17eb27d5a66732a4e5b5add cubicweb-debian-version-3.10.4-1 7b41930e1d32fea3989a85f6ea7281983300adb1 cubicweb-debian-version-3.10.4-1 159d0dbe07d9eb1c6ace4c5e160d1ec6e6762086 cubicweb-version-3.10.5 e2e7410e994777589aec218d31eef9ff8d893f92 cubicweb-debian-version-3.10.5-1 @@ -181,21 +167,20 @@ bf5d9a1415e3c9abe6b68ba3b24a8ad741f9de3c cubicweb-debian-version-3.10.7-1 e581a86a68f089946a98c966ebca7aee58a5718f cubicweb-version-3.10.8 132b525de25bc75ed6389c45aee77e847cb3a437 cubicweb-debian-version-3.10.8-1 -48f468f33704e401a8e7907e258bf1ac61eb8407 cubicweb-version-3.9.x 37432cede4fe55b97fc2e9be0a2dd20e8837a848 cubicweb-version-3.11.0 8daabda9f571863e8754f8ab722744c417ba3abf cubicweb-debian-version-3.11.0-1 d0410eb4d8bbf657d7f32b0c681db09b1f8119a0 cubicweb-version-3.11.1 77318f1ec4aae3523d455e884daf3708c3c79af7 cubicweb-debian-version-3.11.1-1 56ae3cd5f8553678a2b1d4121b61241598d0ca68 cubicweb-version-3.11.2 954b5b51cd9278eb45d66be1967064d01ab08453 cubicweb-debian-version-3.11.2-1 +b7a124f9aed2c7c9c86c6349ddd9f0a07023f0ca cubicweb-version-3.11.3 +b3c6702761a18a41fdbb7bc1083f92aefce07765 cubicweb-debian-version-3.11.3-1 fd502219eb76f4bfd239d838a498a1d1e8204baf cubicweb-version-3.12.0 92b56939b7c77bbf443b893c495a20f19bc30702 cubicweb-debian-version-3.12.0-1 59701627adba73ee97529f6ea0e250a0f3748e32 cubicweb-version-3.12.1 07e2c9c7df2617c5ecfa84cb819b3ee8ef91d1f2 cubicweb-debian-version-3.12.1-1 5a9b6bc5653807500c30a7eb0e95b90fd714fec3 cubicweb-version-3.12.2 6d418fb3ffed273562aae411efe323d5138b592a cubicweb-debian-version-3.12.2-1 -b7a124f9aed2c7c9c86c6349ddd9f0a07023f0ca cubicweb-version-3.11.3 -b3c6702761a18a41fdbb7bc1083f92aefce07765 cubicweb-debian-version-3.11.3-1 e712bc6f1f71684f032bfcb9bb151a066c707dec cubicweb-version-3.12.3 ba8fe4f2e408c3fdf6c297cd42c2577dcac50e71 cubicweb-debian-version-3.12.3-1 5cd0dbc26882f60e3f11ec55e7f058d94505e7ed cubicweb-version-3.12.4 @@ -204,14 +189,16 @@ 6dfe78a0797ccc34962510f8c2a57f63d65ce41e cubicweb-debian-version-3.12.5-1 a18dac758150fe9c1f9e4958d898717c32a8f679 cubicweb-version-3.12.6 105767487c7075dbcce36474f1af0485985cbf2c cubicweb-debian-version-3.12.6-1 -b661ef475260ca7d9ea5c36ba2cc86e95e5b17d3 cubicweb-version-3.13.0 -a96137858f571711678954477da6f7f435870cea cubicweb-debian-version-3.13.0-1 628fe57ce746c1dac87fb1b078b2026057df894e cubicweb-version-3.12.7 a07517985136bbbfa6610c428a1b42cd04cd530b cubicweb-debian-version-3.12.7-1 50122a47ce4fb2ecbf3cf20ed2777f4276c93609 cubicweb-version-3.12.8 cf49ed55685a810d8d73585330ad1a57cc76260d cubicweb-debian-version-3.12.8-1 cb2990aaa63cbfe593bcf3afdbb9071e4c76815a cubicweb-version-3.12.9 92464e39134c70e4ddbe6cd78a6e3338a3b88b05 cubicweb-debian-version-3.12.9-1 +074c848a3712a77737d9a1bfbb618c75f5c0cbfa cubicweb-version-3.12.10 +9dfd21fa0a8b9f121a08866ad3e2ebd1dd06790d cubicweb-debian-version-3.12.10-1 +b661ef475260ca7d9ea5c36ba2cc86e95e5b17d3 cubicweb-version-3.13.0 +a96137858f571711678954477da6f7f435870cea cubicweb-debian-version-3.13.0-1 7d84317ef185a10c5eb78e6086f2297d2f4bd1e3 cubicweb-version-3.13.1 cc0578049cbe8b1d40009728e36c17e45da1fc6b cubicweb-debian-version-3.13.1-1 f9227b9d61835f03163b8133a96da35db37a0c8d cubicweb-version-3.13.2 @@ -220,11 +207,8 @@ fb48c55cb80234bc0164c9bcc0e2cfc428836e5f cubicweb-debian-version-3.13.3-1 223ecf0620b6c87d997f8011aca0d9f0ee4750af cubicweb-version-3.13.4 52f26475d764129c5559b2d80fd57e6ea1bdd6ba cubicweb-debian-version-3.13.4-1 -a62f24e1497e953fbaed5894f6064a64f7ac0be3 cubicweb-version-3.10.x 20d9c550c57eb6f9adcb0cfab1c11b6b8793afb6 cubicweb-version-3.13.5 2e9dd7d945557c210d3b79153c65f6885e755315 cubicweb-debian-version-3.13.5-1 -074c848a3712a77737d9a1bfbb618c75f5c0cbfa cubicweb-version-3.12.10 -9dfd21fa0a8b9f121a08866ad3e2ebd1dd06790d cubicweb-debian-version-3.12.10-1 17c007ad845abbac82e12146abab32a634657574 cubicweb-version-3.13.6 8a8949ca5351d48c5cf795ccdff06c1d4aab2ce0 cubicweb-debian-version-3.13.6-1 68e8c81fa96d6bcd21cc17bc9832d388ce05a9eb cubicweb-version-3.13.7 @@ -233,10 +217,10 @@ 43f83f5d0a4d57a06e9a4990bc957fcfa691eec3 cubicweb-debian-version-3.13.8-1 07afe32945aa275052747f78ef1f55858aaf6fa9 cubicweb-version-3.13.9 0a3cb5e60d57a7a9851371b4ae487094ec2bf614 cubicweb-debian-version-3.13.9-1 +2ad4e5173c73a43804c265207bcabb8940bd42f4 cubicweb-version-3.13.10 +2eab9a5a6bf8e3b0cf706bee8cdf697759c0a33a cubicweb-debian-version-3.13.10-1 5c4390eb10c3fe76a81e6fccec109d7097dc1a8d cubicweb-version-3.14.0 0bfe22fceb383b46d62b437bf5dd0141a714afb8 cubicweb-debian-version-3.14.0-1 -2ad4e5173c73a43804c265207bcabb8940bd42f4 cubicweb-version-3.13.10 -2eab9a5a6bf8e3b0cf706bee8cdf697759c0a33a cubicweb-debian-version-3.13.10-1 793d2d327b3ebf0b82b2735cf3ccb86467d1c08a cubicweb-version-3.14.1 6928210da4fc25d086b5b8d5ff2029da41aade2e cubicweb-debian-version-3.14.1-1 049a3819f03dc79d803be054cc3bfe8425313f63 cubicweb-version-3.14.2 @@ -250,8 +234,6 @@ 55fc796ed5d5f31245ae60bd148c9e42657a1af6 cubicweb-debian-version-3.14.5-1 db021578232b885dc5e55dfca045332ce01e7f35 cubicweb-version-3.14.6 75364c0994907764715bd5011f6a59d934dbeb7d cubicweb-debian-version-3.14.6-1 -0642b2d03acaa5e065cae7590e82b388a280ca22 cubicweb-version-3.15.0 -925db25a3250c5090cf640fc2b02bde5818b9798 cubicweb-debian-version-3.15.0-1 3ba3ee5b3a89a54d1dc12ed41d5c12232eda1952 cubicweb-version-3.14.7 20ee573bd2379a00f29ff27bb88a8a3344d4cdfe cubicweb-debian-version-3.14.7-1 15fe07ff687238f8cc09d8e563a72981484085b3 cubicweb-version-3.14.8 @@ -260,6 +242,8 @@ 68c762adf2d5a2c338910ef1091df554370586f0 cubicweb-debian-version-3.14.9-1 0ff798f80138ca8f50a59f42284380ce8f6232e8 cubicweb-version-3.14.10 197bcd087c87cd3de9f21f5bf40bd6203c074f1f cubicweb-debian-version-3.14.10-1 +0642b2d03acaa5e065cae7590e82b388a280ca22 cubicweb-version-3.15.0 +925db25a3250c5090cf640fc2b02bde5818b9798 cubicweb-debian-version-3.15.0-1 783a5df54dc742e63c8a720b1582ff08366733bd cubicweb-version-3.15.1 fe5e60862b64f1beed2ccdf3a9c96502dfcd811b cubicweb-debian-version-3.15.1-1 2afc157ea9b2b92eccb0f2d704094e22ce8b5a05 cubicweb-version-3.15.2 @@ -291,18 +275,19 @@ ee860c51f56bd65c4f6ea363462c02700d1dab5a cubicweb-version-3.16.3 ee860c51f56bd65c4f6ea363462c02700d1dab5a cubicweb-debian-version-3.16.3-1 ee860c51f56bd65c4f6ea363462c02700d1dab5a cubicweb-centos-version-3.16.3-1 -cc1a0aad580cf93d26959f97d8d6638e786c1082 cubicweb-version-3.17.0 -22be40c492e9034483bfec379ca11462ea97825b cubicweb-debian-version-3.17.0-1 -09a0c7ea6c3cb97bbbeed3795b3c3715ceb9566b cubicweb-debian-version-3.17.0-2 041804bc48e91e440a5b573ceb0df5bf22863b80 cubicweb-version-3.16.4 041804bc48e91e440a5b573ceb0df5bf22863b80 cubicweb-debian-version-3.16.4-1 041804bc48e91e440a5b573ceb0df5bf22863b80 cubicweb-centos-version-3.16.4-1 810a05fba1a46ab893b6cadac109097a047f8355 cubicweb-version-3.16.5 810a05fba1a46ab893b6cadac109097a047f8355 cubicweb-debiann-version-3.16.5-1 810a05fba1a46ab893b6cadac109097a047f8355 cubicweb-centos-version-3.16.5-1 -f98d1c46ed9fd5db5262cf5be1c8e159c90efc8b cubicweb-version-3.17.1 +b4ccaf13081d2798c0414d002e743cb0bf6d81f8 cubicweb-version-3.16.6 +b4ccaf13081d2798c0414d002e743cb0bf6d81f8 cubicweb-centos-version-3.16.6-1 +b4ccaf13081d2798c0414d002e743cb0bf6d81f8 cubicweb-debian-version-3.16.6-1 +cc1a0aad580cf93d26959f97d8d6638e786c1082 cubicweb-version-3.17.0 +22be40c492e9034483bfec379ca11462ea97825b cubicweb-debian-version-3.17.0-1 +09a0c7ea6c3cb97bbbeed3795b3c3715ceb9566b cubicweb-debian-version-3.17.0-2 f98d1c46ed9fd5db5262cf5be1c8e159c90efc8b cubicweb-version-3.17.1 -73f2ad404716cd211b735e67ee16875f1fff7374 cubicweb-debian-version-3.17.1-1 f98d1c46ed9fd5db5262cf5be1c8e159c90efc8b cubicweb-debian-version-3.17.1-1 f98d1c46ed9fd5db5262cf5be1c8e159c90efc8b cubicweb-centos-version-3.17.1-1 195e519fe97c8d1a5ab5ccb21bf7c88e5801b657 cubicweb-version-3.17.2 diff -r 78071e41926f -r 3e4bef7d514d __pkginfo__.py diff -r 78071e41926f -r 3e4bef7d514d cubicweb.spec diff -r 78071e41926f -r 3e4bef7d514d debian/changelog --- a/debian/changelog Wed Jul 10 15:03:50 2013 +0200 +++ b/debian/changelog Mon Jul 22 09:47:56 2013 +0200 @@ -28,6 +28,12 @@ -- Pierre-Yves David Mon, 29 Apr 2013 11:20:56 +0200 +cubicweb (3.16.6-1) unstable; urgency=low + + * new upstream release + + -- Florent Cayré Sat, 13 Jul 2013 05:10:23 +0200 + cubicweb (3.16.5-1) unstable; urgency=low * new upstream release diff -r 78071e41926f -r 3e4bef7d514d devtools/devctl.py --- a/devtools/devctl.py Wed Jul 10 15:03:50 2013 +0200 +++ b/devtools/devctl.py Mon Jul 22 09:47:56 2013 +0200 @@ -130,22 +130,20 @@ w('# singular and plural forms for each entity type\n') w('\n') vregdone = set() + afss = vreg['uicfg']['autoform_section'] + appearsin_addmenus = vreg['uicfg']['actionbox_appearsin_addmenu'] if libconfig is not None: from cubicweb.cwvreg import CWRegistryStore libschema = libconfig.load_schema(remove_unused_rtypes=False) - afs = vreg['uicfg'].select('autoform_section') - appearsin_addmenu = vreg['uicfg'].select('actionbox_appearsin_addmenu') cleanup_sys_modules(libconfig) libvreg = CWRegistryStore(libconfig) libvreg.set_schema(libschema) # trigger objects registration - libafs = libvreg['uicfg'].select('autoform_section') - libappearsin_addmenu = libvreg['uicfg'].select('actionbox_appearsin_addmenu') + libafss = libvreg['uicfg']['autoform_section'] + libappearsin_addmenus = libvreg['uicfg']['actionbox_appearsin_addmenu'] # prefill vregdone set list(_iter_vreg_objids(libvreg, vregdone)) else: libschema = {} - afs = vreg['uicfg'].select('autoform_section') - appearsin_addmenu = vreg['uicfg'].select('actionbox_appearsin_addmenu') for cstrtype in CONSTRAINTS: add_msg(w, cstrtype) done = set() @@ -169,32 +167,42 @@ if rschema.final: continue for tschema in targetschemas: - fsections = afs.etype_get(eschema, rschema, role, tschema) - if 'main_inlined' in fsections and \ - (libconfig is None or not - 'main_inlined' in libafs.etype_get( - eschema, rschema, role, tschema)): - add_msg(w, 'add a %s' % tschema, - 'inlined:%s.%s.%s' % (etype, rschema, role)) - add_msg(w, str(tschema), - 'inlined:%s.%s.%s' % (etype, rschema, role)) - if appearsin_addmenu.etype_get(eschema, rschema, role, tschema): - if libconfig is not None and libappearsin_addmenu.etype_get( - eschema, rschema, role, tschema): - if eschema in libschema and tschema in libschema: - continue - if role == 'subject': - label = 'add %s %s %s %s' % (eschema, rschema, - tschema, role) - label2 = "creating %s (%s %%(linkto)s %s %s)" % ( - tschema, eschema, rschema, tschema) - else: - label = 'add %s %s %s %s' % (tschema, rschema, - eschema, role) - label2 = "creating %s (%s %s %s %%(linkto)s)" % ( - tschema, tschema, rschema, eschema) - add_msg(w, label) - add_msg(w, label2) + for afs in afss: + fsections = afs.etype_get(eschema, rschema, role, tschema) + for libafs in libafss: + if 'main_inlined' in fsections and \ + (libconfig is None or not + 'main_inlined' in libafs.etype_get( + eschema, rschema, role, tschema)): + add_msg(w, 'add a %s' % tschema, + 'inlined:%s.%s.%s' % (etype, rschema, role)) + add_msg(w, str(tschema), + 'inlined:%s.%s.%s' % (etype, rschema, role)) + + def isinlib(eschema, rschema, role, tschema): + if libconfig is not None: + for libappearsin_addmenu in libappearsin_addmenus: + if (libappearsin_addmenu.etype_get( + eschema, rschema, role, tschema)): + if eschema in libschema and tschema in libschema: + return True + return False + + for appearsin_addmenu in appearsin_addmenus: + if appearsin_addmenu.etype_get(eschema, rschema, role, tschema): + if not isinlib(eschema, rschema, role, tschema): + if role == 'subject': + label = 'add %s %s %s %s' % (eschema, rschema, + tschema, role) + label2 = "creating %s (%s %%(linkto)s %s %s)" % ( + tschema, eschema, rschema, tschema) + else: + label = 'add %s %s %s %s' % (tschema, rschema, + eschema, role) + label2 = "creating %s (%s %s %s %%(linkto)s)" % ( + tschema, tschema, rschema, eschema) + add_msg(w, label) + add_msg(w, label2) # XXX also generate "creating ...' messages for actions in the # addrelated submenu w('# subject and object forms for each relation type\n') diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/__init__.py diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/i18ntestcube/__init__.py diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/i18ntestcube/__pkginfo__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devtools/test/data/cubes/i18ntestcube/__pkginfo__.py Mon Jul 22 09:47:56 2013 +0200 @@ -0,0 +1,18 @@ +# pylint: disable=W0622 +"""cubicweb i18n test cube application packaging information""" + +modname = 'i18ntestcube' +distname = 'cubicweb-i18ntestcube' + +numversion = (0, 1, 0) +version = '.'.join(str(num) for num in numversion) + +license = 'LGPL' +author = 'LOGILAB S.A. (Paris, FRANCE)' +author_email = 'contact@logilab.fr' +description = 'forum' +web = 'http://www.cubicweb.org/project/%s' % distname + +__depends__ = {'cubicweb': '>= 3.16.4', + } +__recommends__ = {} diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/i18ntestcube/i18n/en.po.ref --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devtools/test/data/cubes/i18ntestcube/i18n/en.po.ref Mon Jul 22 09:47:56 2013 +0200 @@ -0,0 +1,170 @@ +msgid "" +msgstr "" +"Project-Id-Version: cubicweb 3.16.5\n" +"PO-Revision-Date: 2008-03-28 18:14+0100\n" +"Last-Translator: Logilab Team \n" +"Language-Team: fr \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: cubicweb-devtools\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +# schema pot file, generated on 2013-07-12 16:18:12 +# +# singular and plural forms for each entity type +# subject and object forms for each relation type +# (no object form for final or symmetric relation types) +msgid "Forum" +msgstr "" + +msgid "Forum_plural" +msgstr "" + +msgid "This Forum" +msgstr "" + +msgid "New Forum" +msgstr "" + +msgctxt "inlined:Forum.in_forum.object" +msgid "add a ForumThread" +msgstr "" + +msgctxt "inlined:Forum.in_forum.object" +msgid "ForumThread" +msgstr "" + +msgid "add ForumThread in_forum Forum object" +msgstr "" + +msgid "creating ForumThread (ForumThread in_forum Forum %(linkto)s)" +msgstr "" + +msgid "ForumThread" +msgstr "" + +msgid "ForumThread_plural" +msgstr "" + +msgid "This ForumThread" +msgstr "" + +msgid "New ForumThread" +msgstr "" + +msgid "content" +msgstr "" + +msgctxt "ForumThread" +msgid "content" +msgstr "" + +msgid "content_format" +msgstr "" + +msgctxt "ForumThread" +msgid "content_format" +msgstr "" + +msgctxt "Forum" +msgid "description" +msgstr "" + +msgctxt "Forum" +msgid "description_format" +msgstr "" + +msgid "in_forum" +msgstr "" + +msgctxt "ForumThread" +msgid "in_forum" +msgstr "" + +msgctxt "Forum" +msgid "in_forum_object" +msgstr "" + +msgid "in_forum_object" +msgstr "" + +msgid "interested_in" +msgstr "" + +msgctxt "CWUser" +msgid "interested_in" +msgstr "" + +msgctxt "ForumThread" +msgid "interested_in_object" +msgstr "" + +msgctxt "Forum" +msgid "interested_in_object" +msgstr "" + +msgid "interested_in_object" +msgstr "" + +msgid "nosy_list" +msgstr "" + +msgctxt "ForumThread" +msgid "nosy_list" +msgstr "" + +msgctxt "Forum" +msgid "nosy_list" +msgstr "" + +msgctxt "CWUser" +msgid "nosy_list_object" +msgstr "" + +msgid "nosy_list_object" +msgstr "" + +msgctxt "ForumThread" +msgid "title" +msgstr "" + +msgid "topic" +msgstr "" + +msgctxt "Forum" +msgid "topic" +msgstr "" + +msgid "Topic" +msgstr "" + +msgid "Description" +msgstr "" + +msgid "Number of threads" +msgstr "" + +msgid "Last activity" +msgstr "" + +msgid "" +"a long\n" +"tranlated line\n" +"hop." +msgstr "" + +msgid "Subject" +msgstr "" + +msgid "Created" +msgstr "" + +msgid "Answers" +msgstr "" + +msgid "Last answered" +msgstr "" + +msgid "This forum does not have any thread yet." +msgstr "" diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/i18ntestcube/schema.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devtools/test/data/cubes/i18ntestcube/schema.py Mon Jul 22 09:47:56 2013 +0200 @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- +# copyright 2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# contact http://www.logilab.fr -- mailto:contact@logilab.fr +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 2.1 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License along +# with this program. If not, see . + +"""cubicweb-forum schema""" + +from yams.buildobjs import (String, RichString, EntityType, + RelationDefinition, SubjectRelation) +from yams.reader import context + +class Forum(EntityType): + topic = String(maxsize=50, required=True, unique=True) + description = RichString() + +class ForumThread(EntityType): + __permissions__ = { + 'read': ('managers', 'users'), + 'add': ('managers', 'users'), + 'update': ('managers', 'owners'), + 'delete': ('managers', 'owners') + } + title = String(required=True, fulltextindexed=True, maxsize=256) + content = RichString(required=True, fulltextindexed=True) + in_forum = SubjectRelation('Forum', cardinality='1*', inlined=True, + composite='object') +class interested_in(RelationDefinition): + subject = 'CWUser' + object = ('ForumThread', 'Forum') + +class nosy_list(RelationDefinition): + subject = ('Forum', 'ForumThread') + object = 'CWUser' diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/i18ntestcube/views/__init__.py diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/i18ntestcube/views/primary.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devtools/test/data/cubes/i18ntestcube/views/primary.py Mon Jul 22 09:47:56 2013 +0200 @@ -0,0 +1,53 @@ +# -*- coding: utf-8 -*- +# copyright 2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# contact http://www.logilab.fr -- mailto:contact@logilab.fr +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 2.1 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License along +# with this program. If not, see . + +"""cubicweb-forum views/forms/actions/components for web ui""" + +from cubicweb.predicates import is_instance + +from cubicweb import view +from cubicweb.web.views import primary, baseviews + + +class ForumSameETypeListView(baseviews.SameETypeListView): + __select__ = baseviews.SameETypeListView.__select__ & is_instance('Forum') + + def call(self, **kwargs): + _ = self._cw._ + _('Topic'), _('Description') + _('Number of threads'), _('Last activity') + _('''a long +tranlated line +hop.''') + + +class ForumLastActivity(view.EntityView): + __regid__ = 'forum_last_activity' + __select__ = view.EntityView.__select__ & is_instance('Forum') + + +class ForumPrimaryView(primary.PrimaryView): + __select__ = primary.PrimaryView.__select__ & is_instance('Forum') + + def render_entity_attributes(self, entity): + _ = self._cw._ + _('Subject'), _('Created'), _('Answers'), + _('Last answered') + _('This forum does not have any thread yet.') + +class ForumThreadPrimaryView(primary.PrimaryView): + __select__ = primary.PrimaryView.__select__ & is_instance('ForumThread') diff -r 78071e41926f -r 3e4bef7d514d devtools/test/data/cubes/i18ntestcube/views/uicfg.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devtools/test/data/cubes/i18ntestcube/views/uicfg.py Mon Jul 22 09:47:56 2013 +0200 @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# copyright 2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# contact http://www.logilab.fr -- mailto:contact@logilab.fr +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 2.1 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License along +# with this program. If not, see . + +"""cubicweb-forum views/forms/actions/components for web ui""" + +from cubicweb.predicates import is_instance +from cubicweb.web.views import uicfg +from cubicweb.web.views.uicfg import autoform_section as afs + +class MyAFS(uicfg.AutoformSectionRelationTags): + __select__ = is_instance('ForumThread') + +_myafs = MyAFS() +_myafs.__module__ = "cubes.i18ntestcube.views.uicfg" + +_myafs.tag_object_of(('*', 'in_forum', 'Forum'), 'main', 'inlined') diff -r 78071e41926f -r 3e4bef7d514d devtools/test/unittest_i18n.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devtools/test/unittest_i18n.py Mon Jul 22 09:47:56 2013 +0200 @@ -0,0 +1,74 @@ +# -*- coding: iso-8859-1 -*- +# copyright 2003-2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved. +# contact http://www.logilab.fr/ -- mailto:contact@logilab.fr +# +# This file is part of CubicWeb. +# +# CubicWeb is free software: you can redistribute it and/or modify it under the +# terms of the GNU Lesser General Public License as published by the Free +# Software Foundation, either version 2.1 of the License, or (at your option) +# any later version. +# +# CubicWeb is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +# FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more +# details. +# +# You should have received a copy of the GNU Lesser General Public License along +# with CubicWeb. If not, see . +"""unit tests for i18n messages generator""" + +import os, os.path as osp +import sys + +from logilab.common.testlib import TestCase, unittest_main + +from cubicweb.cwconfig import CubicWebNoAppConfiguration + +DATADIR = osp.join(osp.abspath(osp.dirname(__file__)), 'data') + +def load_po(fname): + msgs = [] + msgid = None + msgctxt = None + for line in open(fname): + if line.strip() in ('', '#'): + continue + if line.startswith('msgstr'): + msgs.append((msgid, msgctxt)) + msgid = None + msgctxt = None + elif line.startswith('msgid'): + msgid = line.split(' ', 1)[1][1:-1] + elif line.startswith('msgctx'): + msgctxt = line.split(' ', 1)[1][1: -1] + + else: + if msgctxt is not None: + msgctxt += line[1:-1] + elif msgid is not None: + msgid += line[1:-1] + return set(msgs) + +class cubePotGeneratorTC(TestCase): + """test case for i18n pot file generator""" + def setUp(self): + self._CUBES_PATH = CubicWebNoAppConfiguration.CUBES_PATH[:] + CubicWebNoAppConfiguration.CUBES_PATH.append(osp.join(DATADIR, 'cubes')) + CubicWebNoAppConfiguration.cls_adjust_sys_path() + + def tearDown(self): + CubicWebNoAppConfiguration.CUBES_PATH[:] = self._CUBES_PATH + + def test_i18ncube(self): + # MUST import here to make, since the import statement fire + # the cube paths setup (and then must occur after the setUp) + from cubicweb.devtools.devctl import update_cube_catalogs + cube = osp.join(DATADIR, 'cubes', 'i18ntestcube') + msgs = load_po(osp.join(cube, 'i18n', 'en.po.ref')) + update_cube_catalogs(cube) + newmsgs = load_po(osp.join(cube, 'i18n', 'en.po')) + self.assertEqual(msgs, newmsgs) + +if __name__ == '__main__': + unittest_main() diff -r 78071e41926f -r 3e4bef7d514d predicates.py --- a/predicates.py Wed Jul 10 15:03:50 2013 +0200 +++ b/predicates.py Mon Jul 22 09:47:56 2013 +0200 @@ -994,7 +994,11 @@ return 0 # relation not supported if self.action: if self.target_etype is not None: - rschema = rschema.role_rdef(entity.e_schema, self.target_etype, self.role) + try: + rschema = rschema.role_rdef(entity.e_schema, + self.target_etype, self.role) + except KeyError: + return 0 if self.role == 'subject': if not rschema.has_perm(entity._cw, self.action, fromeid=entity.eid): return 0 diff -r 78071e41926f -r 3e4bef7d514d test/unittest_predicates.py --- a/test/unittest_predicates.py Wed Jul 10 15:03:50 2013 +0200 +++ b/test/unittest_predicates.py Mon Jul 22 09:47:56 2013 +0200 @@ -203,6 +203,17 @@ select=select, filtered_variable=select.defined_vars['X']) self.assertEqual(score, 1) + def test_ambiguous(self): + # Ambiguous relations are : + # (Service, fabrique_par, Personne) and (Produit, fabrique_par, Usine) + # There used to be a crash here with a bad rdef choice in the strict + # checking case. + selector = relation_possible('fabrique_par', role='object', + target_etype='Personne', strict=True) + req = self.request() + usine = req.create_entity('Usine', lieu=u'here') + score = selector(None, req, rset=usine.as_rset()) + self.assertEqual(0, score) class MatchUserGroupsTC(CubicWebTC): def test_owners_group(self):