cone.tokens 0.3__py3-none-any.whl → 0.4__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of cone.tokens might be problematic. Click here for more details.

@@ -1,9 +1,7 @@
1
- from cone.app.browser.authoring import ContentEditForm
2
1
  from cone.app.browser.form import Form
3
- from cone.app.browser.layout import ProtectedContentTile
4
- from cone.app.browser.settings import SettingsBehavior
2
+ from cone.app.browser.settings import SettingsForm
3
+ from cone.app.browser.settings import settings_form
5
4
  from cone.app.browser.utils import make_url
6
- from cone.tile import tile
7
5
  from cone.tokens.settings import TokenSettings
8
6
  from cone.tokens.settings import tokens_config
9
7
  from plumber import plumbing
@@ -19,26 +17,10 @@ import json
19
17
  _ = TranslationStringFactory('cone.ugm')
20
18
 
21
19
 
22
- @tile(
23
- name='content',
24
- path='templates/token_settings.pt',
25
- interface=TokenSettings,
26
- permission='manage')
27
- class TokenSettingsContent(ProtectedContentTile):
28
- pass
29
-
30
-
31
- @tile(name='editform', interface=TokenSettings, permission='edit')
32
- @plumbing(SettingsBehavior, ContentEditForm)
20
+ @settings_form(TokenSettings)
21
+ @plumbing(SettingsForm)
33
22
  class TokenSettingsForm(Form):
34
- action_resource = u'edit'
35
23
  form_name = 'tokensettingsform'
36
- show_contextmenu = False
37
- form_heading = _('token_settings', default='Token Settings')
38
-
39
- @property
40
- def message_factory(self):
41
- return _
42
24
 
43
25
  def timerange_extractor(self, widget, data):
44
26
  start = data.extracted['start']
@@ -173,7 +155,10 @@ class TokenSettingsForm(Form):
173
155
  props={
174
156
  'datatype': int,
175
157
  'min': 0,
176
- 'required': _('default_locktime_required', default='Default Locktime is required.'),
158
+ 'required': _(
159
+ 'default_locktime_required',
160
+ default='Default Locktime is required.'
161
+ ),
177
162
  'label': _('default_locktime', default='Default Locktime')
178
163
  })
179
164
  form['default_usage_count'] = factory(
@@ -182,7 +167,10 @@ class TokenSettingsForm(Form):
182
167
  props={
183
168
  'datatype': int,
184
169
  'min': -1,
185
- 'required': _('default_usage_count_required', default='Default number of uses required.'),
170
+ 'required': _(
171
+ 'default_usage_count_required',
172
+ default='Default number of uses required.'
173
+ ),
186
174
  'label': _('default_usage_count', default='Default Uses')
187
175
  })
188
176
  form['save'] = factory(
@@ -193,16 +181,7 @@ class TokenSettingsForm(Form):
193
181
  'handler': self.save,
194
182
  'next': self.next,
195
183
  'label': 'Save'
196
- })
197
- form['cancel'] = factory(
198
- 'submit',
199
- props={
200
- 'action': 'cancel',
201
- 'expression': True,
202
- 'skip': True,
203
- 'next': self.next,
204
- 'label': 'Cancel'
205
- })
184
+ })
206
185
 
207
186
  def save(self, widget, data):
208
187
  def fetch(name):
cone/tokens/settings.py CHANGED
@@ -1,5 +1,6 @@
1
- from cone.app.model import BaseNode
2
1
  from cone.app.model import Metadata
2
+ from cone.app.model import SettingsNode
3
+ from cone.app.model import node_info
3
4
  from node.utils import instance_property
4
5
  from pyramid.i18n import TranslationStringFactory
5
6
  import json
@@ -34,7 +35,12 @@ default_token_settings = {
34
35
  }
35
36
 
36
37
 
37
- class TokenSettings(BaseNode):
38
+ @node_info(
39
+ name='token_settings',
40
+ title=_('token_settings', default='Token Settings'),
41
+ description=_('token_settings_description', default='Token Settings'),
42
+ icon='glyphicon glyphicon-asterisk')
43
+ class TokenSettings(SettingsNode):
38
44
 
39
45
  @property
40
46
  def attrs(self):
@@ -40,6 +40,7 @@ class TestSettings(NodeTestCase):
40
40
  self.assertEqual(attrs['morning']['start'], '09:00')
41
41
  self.assertEqual(attrs['default_locktime'], '2000')
42
42
 
43
+ @testing.principals(users={'admin': {}}, roles={'admin': ['manager']})
43
44
  @testing.temp_directory
44
45
  def test_BrowserSettingsForm(self, tempdir):
45
46
  tokens_config.config_file = os.path.join(tempdir, 'tokens.json')
@@ -49,7 +50,8 @@ class TestSettings(NodeTestCase):
49
50
  tile = TokenSettingsForm()
50
51
  tile.model = model
51
52
  tile.request = request
52
- tile.prepare()
53
+ with self.layer.authenticated('admin'):
54
+ tile.prepare()
53
55
 
54
56
  form = tile.form
55
57
  self.assertEqual(form.keys(), [
@@ -59,7 +61,6 @@ class TestSettings(NodeTestCase):
59
61
  'default_locktime',
60
62
  'default_usage_count',
61
63
  'save',
62
- 'cancel',
63
64
  'came_from'
64
65
  ])
65
66
  self.assertEqual(form['morning'].keys(), ['start', 'end'])
@@ -3,7 +3,7 @@ License
3
3
 
4
4
  MIT License
5
5
 
6
- Copyright (c) 2023, Cone Contributors
6
+ Copyright (c) 2023-2024, Cone Contributors
7
7
 
8
8
  Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  of this software and associated documentation files (the "Software"), to deal
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cone.tokens
3
- Version: 0.3
3
+ Version: 0.4
4
4
  Summary: cone token api
5
5
  Home-page: http://github.com/conestack/cone.tokens
6
6
  Author: Cone Contributors
@@ -170,6 +170,13 @@ Contributors
170
170
  Changes
171
171
  =======
172
172
 
173
+ 0.4 (2024-02-12)
174
+ ----------------
175
+
176
+ - Adopt Settings UI changes from ``cone.app``.
177
+ [rnix]
178
+
179
+
173
180
  0.3 (2023-09-28)
174
181
  ----------------
175
182
 
@@ -199,7 +206,7 @@ License
199
206
 
200
207
  MIT License
201
208
 
202
- Copyright (c) 2023, Cone Contributors
209
+ Copyright (c) 2023-2024, Cone Contributors
203
210
 
204
211
  Permission is hereby granted, free of charge, to any person obtaining a copy
205
212
  of this software and associated documentation files (the "Software"), to deal
@@ -1,12 +1,12 @@
1
- cone.tokens-0.3-py3.9-nspkg.pth,sha256=tEwDlOTmXaVzEYEwdjzSJZOPcSTLyLlgxUtQPF_riIg,529
1
+ cone.tokens-0.4-py3.9-nspkg.pth,sha256=tEwDlOTmXaVzEYEwdjzSJZOPcSTLyLlgxUtQPF_riIg,529
2
2
  cone/tokens/__init__.py,sha256=zyMjzaxhYp4B_D3GAUhK4zjjBtEYOizTSbsekNSHoSY,1167
3
3
  cone/tokens/api.py,sha256=HuLOcdOSKiXQ8lk5CorLQb1ed63A1ve7ykhZ0_6K220,6103
4
4
  cone/tokens/exceptions.py,sha256=5p8mm8yTjzKP-w_yrIFOR1R1SSDALtrNKN7vSm2zmlc,1335
5
5
  cone/tokens/model.py,sha256=SFs6D4sUiZL95o0nL9b1gab2Ovk05FG8Qb9Wjr-oL2M,3110
6
- cone/tokens/settings.py,sha256=P2bATFl8qeU5al1E_0xtzwvKbLXdtHCn6p1XLobKICo,1566
6
+ cone/tokens/settings.py,sha256=6quBdZHMh5-iNIjZTdwW9mxVx7tZ5xsW4gHCEjjGMws,1823
7
7
  cone/tokens/browser/__init__.py,sha256=OxxOEK6olx5PbsvGYEo-eosjhwx2dwoEQCWHHktHiyw,780
8
8
  cone/tokens/browser/api.py,sha256=qWQlqwuZdCI4AouNOFtfl7WFv2ixVHxgfTM2cXnbfxg,6247
9
- cone/tokens/browser/settings.py,sha256=qZOD0ygqHehznczR_znnOjUSmGSJj7ugHDrk0YUBZfE,7549
9
+ cone/tokens/browser/settings.py,sha256=5c-8G7qNm6wQmpXOPQ1pjGx8ofDldyXJsDtLZZL226A,6893
10
10
  cone/tokens/browser/token.py,sha256=cjijqXRKQWExbot46Q7FgPkmQrz8MLxiA4ISTS-z6ew,8236
11
11
  cone/tokens/browser/tokens.py,sha256=6PZffApbxYep4EU-_D7WlavzIRmJnqLhj44L9RhqTfA,3102
12
12
  cone/tokens/browser/static/cone.tokens.css,sha256=RNJyoITtuJciWos3FZ_K8AEptLZaFYWPUt1ScNk8ZOw,1776
@@ -14,7 +14,6 @@ cone/tokens/browser/static/cone.tokens.js,sha256=-hxFs_FER7TmqXzszJs73tBtAmFl6ZB
14
14
  cone/tokens/browser/static/cone.tokens.min.css,sha256=E_utr2JrZmDdfLKhsBHnPG34ydmBDWDVr4mXW_8HVpI,1413
15
15
  cone/tokens/browser/static/cone.tokens.min.js,sha256=esvMwhPyH0NOSIx3fGb0Lb5spV9TbYMxbTYN0KkQW8U,6255
16
16
  cone/tokens/browser/templates/token.pt,sha256=TsNbMXpheUgF1pdQejRlAe8AhdchSEAzq5Fg3C_aj90,4645
17
- cone/tokens/browser/templates/token_settings.pt,sha256=Hnd5xMyYKO-C0YPns_uJXRXjXUXGuNiAE-mULCCc4js,332
18
17
  cone/tokens/browser/templates/tokens.pt,sha256=ebkyuTXw0zE1VMoR23CxrM0iLTWnojYn3mVM9GhKlH4,530
19
18
  cone/tokens/browser/templates/tokens_overview.pt,sha256=3UuaNmRYCITc9tcV0XYHY4BGhs75V2BQ1rAsbMX2J04,2523
20
19
  cone/tokens/locale/cone.tokens.pot,sha256=99jS4QV1rBvdAM9AzuQsRISWDDnc2127Vn1bAbnxCOY,5735
@@ -26,11 +25,11 @@ cone/tokens/tests/__init__.py,sha256=hWn9DVVxs4NRrUkWdq2zfXXAXmj7jLOPV-rMVOhs9QA
26
25
  cone/tokens/tests/test_api.py,sha256=0NVXa7-uxbuo7R9gj4LImu1NnbqfEh4P2ARcuL9FqwU,11826
27
26
  cone/tokens/tests/test_json_api.py,sha256=PTkrFoQM7multWEfg483xUO8M34Lx9u3oMhJiFxbrcg,18033
28
27
  cone/tokens/tests/test_model.py,sha256=RIeTjsTNcdNs5_hJU87PwKBcJWb8oRNzvml234b6knk,3142
29
- cone/tokens/tests/test_settings.py,sha256=LxbMLPNTqxGivflPGSXhnBagclndqZ-r5nyuAH9eDs8,4466
28
+ cone/tokens/tests/test_settings.py,sha256=EuKLvMCsVS24HiY3VbQpXHD1Hy38kOGOk06Z4pjODb4,4571
30
29
  cone/tokens/tests/test_token.py,sha256=-OqGUZaxS5Mr0ktr60OFd7IoN2tfZBWbqU5OY3Cqufo,12330
31
- cone.tokens-0.3.dist-info/LICENSE.rst,sha256=4ypqNr8TV5wKYK82pUnE5jcSNpnmtJsbeae2LmbqwG8,1092
32
- cone.tokens-0.3.dist-info/METADATA,sha256=qFBdGmTeMNawW-hkYpKbE1pwR3wEbToZOBCw_bkGbk4,6005
33
- cone.tokens-0.3.dist-info/WHEEL,sha256=pkctZYzUS4AYVn6dJ-7367OJZivF2e8RA9b_ZBjif18,92
34
- cone.tokens-0.3.dist-info/namespace_packages.txt,sha256=lu11VEz--UhjAtw-HG4CejJNFf-TZlq7z1O6wZ7Vrjk,5
35
- cone.tokens-0.3.dist-info/top_level.txt,sha256=lu11VEz--UhjAtw-HG4CejJNFf-TZlq7z1O6wZ7Vrjk,5
36
- cone.tokens-0.3.dist-info/RECORD,,
30
+ cone.tokens-0.4.dist-info/LICENSE.rst,sha256=2wjEkWGup1L6Q9Sizmf9d4vzh2Y6Vq2Wrg5JH_hPh4c,1097
31
+ cone.tokens-0.4.dist-info/METADATA,sha256=q9YBNBHNwPgb3eNGfwZve1qE8RB-eh3lI8tI6JH8jiY,6103
32
+ cone.tokens-0.4.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
33
+ cone.tokens-0.4.dist-info/namespace_packages.txt,sha256=lu11VEz--UhjAtw-HG4CejJNFf-TZlq7z1O6wZ7Vrjk,5
34
+ cone.tokens-0.4.dist-info/top_level.txt,sha256=lu11VEz--UhjAtw-HG4CejJNFf-TZlq7z1O6wZ7Vrjk,5
35
+ cone.tokens-0.4.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.40.0)
2
+ Generator: bdist_wheel (0.42.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,9 +0,0 @@
1
- <tal:block xmlns:tal="http://xml.zope.org/namespaces/tal"
2
- xmlns:ajax="http://namespaces.conestack.org/ajax"
3
- xmlns:i18n="http://xml.zope.org/namespaces/i18n"
4
- i18n:domain="cone.tokens"
5
- omit-tag="True">
6
- <div>
7
- <tal:settings replace="structure tile('editform')" />
8
- </div>
9
- </tal:block>