0003-misc-remove-studio-site-option-57260.patch
wcs/admin/settings.py | ||
---|---|---|
33 | 33 |
from quixote.directory import Directory |
34 | 34 |
from quixote.html import TemplateIO, htmltext |
35 | 35 | |
36 |
from wcs.backoffice.studio import StudioDirectory |
|
37 | 36 |
from wcs.blocks import BlockDef |
38 | 37 |
from wcs.carddef import CardDef |
39 | 38 |
from wcs.data_sources import NamedDataSource |
... | ... | |
708 | 707 |
('settings', _('Settings')), |
709 | 708 |
] |
710 | 709 |
for k, v in admin_sections: |
711 |
if k == 'cards' and not StudioDirectory.is_visible(): |
|
712 |
continue |
|
713 | 710 |
permissions.append(_(v)) |
714 | 711 |
permission_keys.append(k) |
715 | 712 | |
... | ... | |
985 | 982 | |
986 | 983 |
form = Form(enctype="multipart/form-data") |
987 | 984 |
form.add(CheckboxWidget, 'formdefs', title=_('Forms'), value=True) |
988 |
if StudioDirectory.is_visible(): |
|
989 |
form.add(CheckboxWidget, 'carddefs', title=_('Card Models'), value=True) |
|
985 |
form.add(CheckboxWidget, 'carddefs', title=_('Card Models'), value=True) |
|
990 | 986 |
form.add(CheckboxWidget, 'workflows', title=_('Workflows'), value=True) |
991 | 987 |
form.add(CheckboxWidget, 'blockdefs', title=_('Fields Blocks'), value=True) |
992 | 988 |
if not get_cfg('sp', {}).get('idp-manage-roles'): |
wcs/admin/workflows.py | ||
---|---|---|
27 | 27 | |
28 | 28 |
from wcs.admin.categories import WorkflowCategoriesDirectory, get_categories |
29 | 29 |
from wcs.backoffice.snapshots import SnapshotsDirectory |
30 |
from wcs.backoffice.studio import StudioDirectory |
|
31 | 30 |
from wcs.carddef import CardDef |
32 | 31 |
from wcs.categories import WorkflowCategory |
33 | 32 |
from wcs.formdata import Evolution |
... | ... | |
1922 | 1921 |
for formdef in FormDef.select(lightweight=True): |
1923 | 1922 |
workflows_in_formdef_use.add(str(formdef.workflow_id)) |
1924 | 1923 | |
1925 |
if StudioDirectory.is_visible(): |
|
1926 |
carddef_workflows = [CardDef.get_default_workflow()] |
|
1927 |
workflows_in_carddef_use = set(carddef_workflows[0].id) |
|
1928 |
for carddef in CardDef.select(lightweight=True): |
|
1929 |
workflows_in_carddef_use.add(str(carddef.workflow_id)) |
|
1930 |
else: |
|
1931 |
carddef_workflows = [] |
|
1932 |
workflows_in_carddef_use = set() |
|
1924 |
carddef_workflows = [CardDef.get_default_workflow()] |
|
1925 |
workflows_in_carddef_use = set(carddef_workflows[0].id) |
|
1926 |
for carddef in CardDef.select(lightweight=True): |
|
1927 |
workflows_in_carddef_use.add(str(carddef.workflow_id)) |
|
1933 | 1928 | |
1934 | 1929 |
shared_workflows = [] |
1935 | 1930 |
unused_workflows = [] |
wcs/backoffice/root.py | ||
---|---|---|
56 | 56 |
menu_items = [ |
57 | 57 |
('submission/', _('Submission')), |
58 | 58 |
('management/', _('Management')), |
59 |
('data/', _('Cards'), {'check_display_function': studio.is_visible}),
|
|
60 |
('studio/', _('Studio'), {'check_display_function': studio.is_visible}),
|
|
59 |
('data/', _('Cards')), |
|
60 |
('studio/', _('Studio')), |
|
61 | 61 |
('forms/', _('Forms Workshop'), {'sub': True}), |
62 |
('cards/', _('Card Models'), {'sub': True, 'check_display_function': studio.is_visible}),
|
|
62 |
('cards/', _('Card Models'), {'sub': True}), |
|
63 | 63 |
('workflows/', _('Workflows Workshop'), {'sub': True}), |
64 | 64 |
('users/', _('Users'), {'check_display_function': roles.is_visible}), |
65 | 65 |
('roles/', _('Roles'), {'check_display_function': roles.is_visible}), |
... | ... | |
252 | 252 |
backoffice_url = get_publisher().get_backoffice_url() |
253 | 253 |
if not backoffice_url.endswith('/'): |
254 | 254 |
backoffice_url += '/' |
255 |
has_studio = self.studio.is_visible() |
|
256 | 255 |
for item in self.menu_items: |
257 | 256 |
if len(item) == 2: |
258 | 257 |
item = list(item) + [{}] |
... | ... | |
269 | 268 |
label = v() |
270 | 269 |
else: |
271 | 270 |
label = _(v) |
272 |
if has_studio: |
|
273 |
if slug == 'forms': |
|
274 |
label = misc.site_encode(pgettext('studio', 'Forms')) |
|
275 |
elif slug == 'cards': |
|
276 |
label = misc.site_encode(pgettext('studio', 'Card Models')) |
|
277 |
elif slug == 'workflows': |
|
278 |
label = misc.site_encode(pgettext('studio', 'Workflows')) |
|
271 |
if slug == 'forms': |
|
272 |
label = misc.site_encode(pgettext('studio', 'Forms')) |
|
273 |
elif slug == 'cards': |
|
274 |
label = misc.site_encode(pgettext('studio', 'Card Models')) |
|
275 |
elif slug == 'workflows': |
|
276 |
label = misc.site_encode(pgettext('studio', 'Workflows')) |
|
279 | 277 |
menu_items.append( |
280 | 278 |
{ |
281 | 279 |
'label': label, |
282 | 280 |
'slug': slug, |
283 | 281 |
'url': backoffice_url + k, |
284 |
'sub': (options.get('sub') and has_studio) or False,
|
|
282 |
'sub': options.get('sub') or False,
|
|
285 | 283 |
} |
286 | 284 |
) |
287 | 285 |
wcs/backoffice/studio.py | ||
---|---|---|
42 | 42 |
templates=['wcs/backoffice/studio.html'], context={'has_sidebar': True}, is_django_native=True |
43 | 43 |
) |
44 | 44 | |
45 |
@classmethod |
|
46 |
def is_visible(cls, *args): |
|
47 |
return get_publisher().has_site_option('studio') |
|
48 | ||
49 | 45 |
def is_accessible(self, user): |
50 | 46 |
backoffice_root = get_publisher().get_backoffice_root() |
51 | 47 |
return ( |
wcs/qommon/publisher.py | ||
---|---|---|
390 | 390 | |
391 | 391 |
def has_site_option(self, option): |
392 | 392 |
defaults = { |
393 |
'studio': True, |
|
394 | 393 |
'external-workflow': True, |
395 | 394 |
'complex-data': True, |
396 | 395 |
} |
wcs/wf/create_carddata.py | ||
---|---|---|
14 | 14 |
# You should have received a copy of the GNU General Public License |
15 | 15 |
# along with this program; if not, see <http://www.gnu.org/licenses/>. |
16 | 16 | |
17 |
from quixote import get_publisher |
|
18 | ||
19 | 17 |
from wcs.carddef import CardDef |
20 | 18 |
from wcs.qommon import _ |
21 | 19 |
from wcs.wf.create_formdata import CreateFormdataWorkflowStatusItem, LinkedFormdataEvolutionPart |
... | ... | |
40 | 38 |
varname_hint = _('This is used to get linked card in expressions.') |
41 | 39 |
user_association_option_label = _('User to associate to card') |
42 | 40 | |
43 |
@classmethod |
|
44 |
def is_available(cls, workflow=None): |
|
45 |
return get_publisher().has_site_option('studio') |
|
46 | ||
47 | 41 |
def get_parameters(self): |
48 | 42 |
return ( |
49 | 43 |
'formdef_slug', |
50 |
- |