From 02d65acffbf205725c511723cdd7733e925be240 Mon Sep 17 00:00:00 2001 From: Helmut Merz Date: Wed, 2 Jan 2013 11:38:29 +0100 Subject: [PATCH] new combined states definition publishable_state --- locales/de/LC_MESSAGES/loops.mo | Bin 20444 -> 20723 bytes locales/de/LC_MESSAGES/loops.po | 19 +++++++++++++++-- organize/stateful/browser.py | 3 ++- organize/stateful/configure.zcml | 14 +++++++++++++ organize/stateful/task.py | 35 ++++++++++++++++++++++++++++++- 5 files changed, 67 insertions(+), 4 deletions(-) diff --git a/locales/de/LC_MESSAGES/loops.mo b/locales/de/LC_MESSAGES/loops.mo index 17e544377e294040669dc1c1dfd4bdabbe3efb7c..cd4873b7e387690532a25e8a46573a1ef7990d3a 100644 GIT binary patch delta 6883 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 U&$h3Q%?K%X|7ILJYTTj!0YZllxBvhE delta 6624 zcmZA53shBA9>?)>1r<<4K)t*l3NeVh5g`@dprAsTk0M4>Dbt#yQF9vguB>b{ZAMR; zshOE+Y1#uLO|5LGY&1t}R!xRhT1}~~Qkq=a)XewC`L|YU?pnLg-uvw5fA4d-*7}66 z<#Au&R8;V4htCY3<0RmXogC+1cs=IZh3hViqpL4%lQKz>bugF$j+!LpaAU z99u9M&tg{$qY#Sm*x7LcPC6NNEI@TE_8vGxu{-5z)LQCM11>-fune`3hcN`#TX~B; z-+|H8zhw3AU0YM@=H zoxP4~cMN;tXBdmY6uMy&s$U^$+$s!cz?;Y@#B)&tE=LWt(aO(Z4CRBU9iKoQ#W&am ze?)B{te3YCKWf|zjKlt@2`8WybQ@|ROL`H1J=jQvI_yTR^pG_?iEP5TWc9IW-at8+ zNd0isf~KPS&qbO#OHr3~Cu&0Zn>#3;9nP@mEEUbi#zms3S}4FhgVP``m5C+ zLJjyHYJv|?J3NU+c){wg`i(bEHfkgNknbF41nLe=$BwwfdoV20IKqc%RN5Ap9z zrj81&bS8Gf25dVDD=$Z_cr9w;-Pm>~Q05+nlTXE5)DE_xI_^YuY(gz$A8O#^_PhndDSv?+x6_Krn8IK>qQR(f zDy&?CipWIN!fW+h@BcJwa2sl6zei2D5cOx-MNPaNHQ-CAg}#cKs2K<1Vbs8(oR``~ zVkE|)#_eO}VvL|X5(8byOtOkwQ9J$vYJx?m3GPD;_#mp|!x)8IQ2k#<^*dzs?^^w* zs0Ca=Z6K)78@G$utQXTtN*SRO~G<0`^6%Ra=GQ+>C0t2zACQ%_lL1@=K@?et>@b z24k`P)n0uvY9qy{=T(@D(@^8xiyD75#xlS2G#Pbx!ybHSo<;58Csc?#aZz+;38-H* z1sI3dVFuoTY4`~0j_k*HJb`NW1L_x1G)?;wh+|&O*Je52B7}C2AvUQI~Wps^9j3#9upWq(Zm98FhBYQ3HO2 z>i9XP;6>EH(PiGkVo}fYQSAqzB2A^*f9j?}Yg+s(tWaJ3>?h3j$;mfpV*uh&tO@ zs1>e2MPv&GW8tN@H%#1+2&fQRFpMqLI8ZvIc$?-By zKhz2bqZ*c@LRN{|;Z)QD=c116epCq8VI+}M;{k}vU$c33AN!46~tc+BPzTB(@_ocPzxAcP;&-S8Mve4-tfpW` z%HvQAs6{=WYUSDHT_ZVvz2A$d(8TMpJ#NExxYNqdqXuk3UAkAT{GNFNL#RJ(<#VVF zw4%o8Fv|PKYA7aAE<=5j)&5UjsQ3PHd;UD;P~L|c@2u5dLXFdItY?^HekY2IRvd?#AQiRKK349FnqaV%ufcH2 zH=@pTCMpuYGv}aocsFXoW#%eWq}HL1U@HbR;SMqys0nq6UO_GB2x@@$t^6@+A*WFj zw4xRg#DOakk*Epct(<{+ZS$>Mg&J=>s$X3-|EgEVSyX7pb5RRegc0}`REJGgei}8w z9#m+XQ5!g3?Vjzi#8>M!_@jMw?*0A@U!J?uU+C-Ye&$aO&+_r5NQxzuxZyDssrtX& z5p-Ng`jDhoOCPOjAkPZixiP(blif#S;yG%!DQ2F?iA_o!$w+NqV33CMnM9#^HI&dr3n`Biw^=8L36ozD?uNVNzACc9N_tvHs&?z+|JXgpYDeP|YIR)Kx&Mw&PP~?y7*ZBB6G*A#pT<(s zjc$HIw6D}1k&scJPrW|laVbu~=kNfjnKXrRgtfVW@)%M*BKONjx4en8iL{ke?B*wC`TDta ziG!}0O1lNrO(o4I4W+yY^|^(-Ud0Mhx+?55_E%$Xp>7c6$M9~_ME9G-jL>VSDI*PY z6O#t{${XvFs-heB<(K-})lYYm3eUUoMR9I<(YD~UQPb1h)}peG1=;!e*#$+7C4G}( Y8fT7a@cHJrA=M|`i`6-9NzK0h0cr-ce*gdg diff --git a/locales/de/LC_MESSAGES/loops.po b/locales/de/LC_MESSAGES/loops.po index 9fd4fb7..0904de9 100644 --- a/locales/de/LC_MESSAGES/loops.po +++ b/locales/de/LC_MESSAGES/loops.po @@ -1,9 +1,9 @@ msgid "" msgstr "" -"Project-Id-Version: $Id$\n" +"Project-Id-Version: 0.13.0\n" "POT-Creation-Date: 2007-05-22 12:00 CET\n" -"PO-Revision-Date: 2012-11-24 12:00 CET\n" +"PO-Revision-Date: 2013-01-02 12:00 CET\n" "Last-Translator: Helmut Merz \n" "Language-Team: loops developers \n" "MIME-Version: 1.0\n" @@ -906,6 +906,9 @@ msgstr "Veröffentlichung" msgid "task_states" msgstr "Aufgabe" +msgid "publishable_task" +msgstr "Aufgabe/Zugriff" + # state names msgid "accepted" @@ -914,6 +917,9 @@ msgstr "angenommen" msgid "active" msgstr "aktiv" +msgid "active (published)" +msgstr "aktiv (zugänglich)" + msgid "archived" msgstr "Archiv" @@ -938,6 +944,9 @@ msgstr "Entwurf" msgid "finished" msgstr "beendet" +msgid "finished (published)" +msgstr "beendet (zugänglich)" + msgid "moved" msgstr "verschoben" @@ -994,6 +1003,9 @@ msgstr "delegieren" msgid "finish" msgstr "beenden" +msgid "finish (published)" +msgstr "beenden (zugänglich)" + msgid "hide" msgstr "verstecken" @@ -1015,6 +1027,9 @@ msgstr "entfernen" msgid "release" msgstr "freigeben" +msgid "release, publish" +msgstr "freigeben (zugänglich)" + msgid "re-open" msgstr "zurücksetzen" diff --git a/organize/stateful/browser.py b/organize/stateful/browser.py index 7f24d2b..ae57c87 100644 --- a/organize/stateful/browser.py +++ b/organize/stateful/browser.py @@ -39,7 +39,8 @@ template = ViewPageTemplateFile('view_macros.pt') statefulActions = ('classification_quality', 'simple_publishing', - 'task_states',) + 'task_states', + 'publishable_task',) class StateAction(Action): diff --git a/organize/stateful/configure.zcml b/organize/stateful/configure.zcml index 0514400..74c7663 100644 --- a/organize/stateful/configure.zcml +++ b/organize/stateful/configure.zcml @@ -49,6 +49,20 @@ set_schema="cybertools.stateful.interfaces.IStateful" /> + + + + + + + + diff --git a/organize/stateful/task.py b/organize/stateful/task.py index 330263a..3d4dd39 100644 --- a/organize/stateful/task.py +++ b/organize/stateful/task.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2012 Helmut Merz helmutm@cy55.de +# Copyright (c) 2013 Helmut Merz helmutm@cy55.de # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -52,7 +52,40 @@ def taskStates(): initialState='draft') +@implementer(IStatesDefinition) +def publishableTask(): + return StatesDefinition('publishable_task', + State('draft', 'draft', ('release', 'release_publish', 'cancel',), + color='yellow'), + State('active', 'active', ('finish', 'publish', 'cancel',), + color='lightblue'), + State('active_published', 'active (published)', + ('finish_published', 'retract', 'cancel',), color='blue'), + State('finished', 'finished', ('reopen', 'archive',), + color='lightgreen'), + State('finished_published', 'finished (published)', ('reopen', 'archive',), + color='green'), + State('cancelled', 'cancelled', ('reopen',), + color='x'), + State('archived', 'archived', ('reopen',), + color='grey'), + Transition('release', 'release', 'active'), + Transition('release_publish', 'release, publish', 'active_published'), + Transition('publish', 'publish', 'active_published'), + Transition('retract', 'retract', 'active'), + Transition('finish', 'finish', 'finished'), + Transition('finish_published', 'finish (published)', 'finished_published'), + Transition('cancel', 'cancel', 'cancelled'), + Transition('reopen', 're-open', 'draft'), + initialState='draft') + + class StatefulTask(StatefulLoopsObject): statesDefinition = 'task_states' + +class PublishableTask(StatefulLoopsObject): + + statesDefinition = 'publishable_task' +