lino 25.1.0__py3-none-any.whl → 25.1.1__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.
lino/__init__.py CHANGED
@@ -26,7 +26,7 @@ defines no models, some template files, a series of :term:`django-admin commands
26
26
 
27
27
  """
28
28
 
29
- __version__ = '25.1.0'
29
+ __version__ = '25.1.1'
30
30
 
31
31
  # import setuptools # avoid UserWarning "Distutils was imported before Setuptools"?
32
32
 
lino/core/dbtables.py CHANGED
@@ -201,10 +201,6 @@ class Table(AbstractTable):
201
201
  """If when in a detail view will override default param values with the detail's pv values.
202
202
  """
203
203
 
204
- # react_responsive = True
205
- # """If viewing the grid view on a mobile, should the grid use responsive mode
206
- # Default: True"""
207
-
208
204
  # react_big_search = False
209
205
  """If True will position the quick search input to the bottom of the header and have it full width.
210
206
  Default: False"""
lino/core/renderer.py CHANGED
@@ -101,11 +101,6 @@ class Renderer(object):
101
101
  not_implemented_js = None
102
102
  extjs_version = None
103
103
 
104
- support_dashboard_layout = False
105
- """Don't show dashboard items when rendering :xfile:`admin_main.html`.
106
-
107
- """
108
-
109
104
  def __init__(self, front_end=None):
110
105
  # if not isinstance(plugin, Plugin):
111
106
  # raise Exception("{} is not a Plugin".format(plugin))
lino/help_texts.py CHANGED
@@ -162,7 +162,6 @@ help_texts = {
162
162
  'lino.modlib.restful.Plugin' : _("""See /dev/plugins."""),
163
163
  'lino.modlib.smtpd.Plugin' : _("""See /dev/plugins."""),
164
164
  'lino.modlib.system.Plugin' : _("""See /dev/plugins."""),
165
- 'lino.modlib.system.Plugin.use_dashboard_layouts' : _("""Whether to use system.DashboardLayouts. This feature is broken."""),
166
165
  'lino.modlib.tinymce.Plugin' : _("""See /dev/plugins."""),
167
166
  'lino.modlib.tinymce.Plugin.document_domain' : _("""The domain name of this production site."""),
168
167
  'lino.modlib.tinymce.Plugin.window_width' : _("""The initial width of the window to use when editing in own window."""),
@@ -43,49 +43,50 @@ class MyEmotionField(dd.VirtualField):
43
43
  def value_from_object(self, obj, ar=None):
44
44
  return obj.get_my_emotion(ar)
45
45
 
46
-
47
- class AddCommentField(dd.VirtualField):
48
- """
49
- An editable virtual field to add a comment about that database object.
50
-
51
- """
52
-
53
- editable = True
54
- # simple_elem = True
55
-
56
- def __init__(self, slave_table):
57
- t = models.TextField(_("Add comment"), blank=True)
58
- super().__init__(t, None)
59
- self.slave_table = slave_table
60
-
61
- def set_value_in_object(self, ar, obj, value):
62
- actor = rt.models.resolve(self.slave_table)
63
- # 20240913: The following line fixes a variant of #5715
64
- # (ObjectDoesNotExist: Invalid primary key 114 for
65
- # storage.FillersByPartner). When programmatically creating an action
66
- # request, we must not pass the incoming http request because that would
67
- # ask Lino to re-parse the URL parameters, including (in this case) sr
68
- # (the ids of selected rows).
69
- sar = actor.request(master_instance=obj, parent=ar)
70
- # sar = actor.request(
71
- # master_instance=obj, request=ar.request, renderer=ar.renderer
72
- # )
73
- obj = sar.create_instance(body=value)
74
- obj.full_clean()
75
- obj.save_new_instance(sar)
76
-
77
- # The refresh_delayed_value response below is theoretically NOT needed
78
- # because CommentsByRFC.live_panel_update does the update for delayed
79
- # value already. But live_panel_update doesn't work when linod is not
80
- # running or linod.use_channels is `False`.
81
- ar.set_response(refresh_delayed_value=str(actor))
82
-
83
- # if anybody complains that the refresh doesn't work in ExtJS, we would
84
- # need to reactivate the following line:
85
- # ar.set_response(refresh=True)
86
-
87
- def value_from_object(self, obj, ar=None):
88
- return None
46
+ # Removed because it requires much hacking and doesn't improve user experience
47
+ # dramatically:
48
+ # class AddCommentField(dd.VirtualField):
49
+ # """
50
+ # An editable virtual field to add a comment about that database object.
51
+ #
52
+ # """
53
+ #
54
+ # editable = True
55
+ # # simple_elem = True
56
+ #
57
+ # def __init__(self, slave_table):
58
+ # t = models.TextField(_("Add comment"), blank=True)
59
+ # super().__init__(t, None)
60
+ # self.slave_table = slave_table
61
+ #
62
+ # def set_value_in_object(self, ar, obj, value):
63
+ # actor = rt.models.resolve(self.slave_table)
64
+ # # 20240913: The following line fixes a variant of #5715
65
+ # # (ObjectDoesNotExist: Invalid primary key 114 for
66
+ # # storage.FillersByPartner). When programmatically creating an action
67
+ # # request, we must not pass the incoming http request because that would
68
+ # # ask Lino to re-parse the URL parameters, including (in this case) sr
69
+ # # (the ids of selected rows).
70
+ # sar = actor.request(master_instance=obj, parent=ar)
71
+ # # sar = actor.request(
72
+ # # master_instance=obj, request=ar.request, renderer=ar.renderer
73
+ # # )
74
+ # obj = sar.create_instance(body=value)
75
+ # obj.full_clean()
76
+ # obj.save_new_instance(sar)
77
+ #
78
+ # # The refresh_delayed_value response below is theoretically NOT needed
79
+ # # because CommentsByRFC.live_panel_update does the update for delayed
80
+ # # value already. But live_panel_update doesn't work when linod is not
81
+ # # running or linod.use_channels is `False`.
82
+ # ar.set_response(refresh_delayed_value=str(actor))
83
+ #
84
+ # # if anybody complains that the refresh doesn't work in ExtJS, we would
85
+ # # need to reactivate the following line:
86
+ # # ar.set_response(refresh=True)
87
+ #
88
+ # def value_from_object(self, obj, ar=None):
89
+ # return None
89
90
 
90
91
 
91
92
  class Commentable(MemoReferrable):
@@ -121,7 +122,7 @@ class Commentable(MemoReferrable):
121
122
  def get_create_comment_text(self, ar):
122
123
  return _("Created new {model} {obj}.").format(
123
124
  model=self.__class__._meta.verbose_name, obj=self)
124
-
125
+
125
126
  @classmethod
126
127
  def add_comments_filter(cls, qs, ar):
127
128
  return qs
@@ -24,7 +24,7 @@ from lino.modlib.gfks.mixins import Controllable
24
24
  from lino.modlib.memo.mixins import Previewable, MemoReferrable
25
25
  from lino.modlib.publisher.mixins import Publishable
26
26
  from .choicelists import CommentEvents, Emotions
27
- from .mixins import Commentable, MyEmotionField, AddCommentField
27
+ from .mixins import Commentable, MyEmotionField
28
28
  from .roles import CommentsReader, CommentsStaff
29
29
  # from .choicelists import PublishAllComments, PublishComment
30
30
 
@@ -127,7 +127,7 @@ class Comment(
127
127
 
128
128
  my_emotion = MyEmotionField()
129
129
 
130
- reply = AddCommentField("comments.RepliesByComment")
130
+ # reply = AddCommentField("comments.RepliesByComment")
131
131
 
132
132
  def is_public(self):
133
133
  return not self.private
@@ -56,11 +56,13 @@ class CommentDetail(dd.DetailLayout):
56
56
  """
57
57
  general2 = """
58
58
  RepliesByComment
59
- reply
59
+ # reply
60
60
  """
61
- # i moved the reply field to the bottom because i stopped using it after
62
- # repeated cases where my editing got lost because there was a traceback
63
- # after hitting submit, and these tracebacks are difficult to reproduce.
61
+ # I moved the reply field to the bottom, and later removed it altogether,
62
+ # because i stopped using it after repeated cases where my editing got lost
63
+ # because there was a traceback after hitting submit, leaving me unable to
64
+ # even copy the text I just typed in order to re-create my comment after
65
+ # reloading the page. And these tracebacks are difficult to reproduce.
64
66
 
65
67
  more = dd.Panel(
66
68
  """
@@ -15,9 +15,6 @@ class Plugin(ad.Plugin):
15
15
 
16
16
  verbose_name = _("System")
17
17
  needs_plugins = ["lino.modlib.printing"]
18
- use_dashboard_layouts = False
19
- """Whether to use system.DashboardLayouts. This feature is broken.
20
- """
21
18
 
22
19
  def setup_config_menu(self, site, user_type, m, ar=None):
23
20
  system = m.add_menu(self.app_label, self.verbose_name)
@@ -113,19 +113,6 @@ PeriodEvents.add_item_instance(PeriodEnded("30", "ended"))
113
113
  # add('30', _("Ends"), 'ended')
114
114
 
115
115
 
116
- class DashboardLayout(Choice):
117
- main = None
118
-
119
- def __init__(self, value, text, main, **kwargs):
120
- self.main = main
121
- # kwargs.update(text=value)
122
- super(DashboardLayout, self).__init__(value, text, value, **kwargs)
123
-
124
-
125
- class DashboardLayouts(ChoiceList):
126
- item_class = DashboardLayout
127
-
128
-
129
116
  class DurationUnit(Choice):
130
117
  du_freq = None # dateutils frequency
131
118
 
@@ -79,6 +79,7 @@ class Lockable(EditSafe):
79
79
 
80
80
  locked_by = dd.ForeignKey(
81
81
  rt.settings.SITE.user_model,
82
+ verbose_name=_("Locked by"),
82
83
  null=True,
83
84
  default=None,
84
85
  blank=True,
@@ -29,7 +29,6 @@ from .choicelists import (
29
29
  YesNo,
30
30
  Genders,
31
31
  PeriodEvents,
32
- DashboardLayouts,
33
32
  DurationUnits,
34
33
  Recurrences,
35
34
  Weekdays,
@@ -221,12 +220,6 @@ testcase_setup.connect(my_handler)
221
220
  dd.connection_created.connect(my_handler)
222
221
  models.signals.post_migrate.connect(my_handler)
223
222
 
224
- # def dashboard_layouts(cls, k, layout_class, **options):
225
- # assert k == "detail_layout"
226
- # yield cls.detail_layout
227
- # for i in DashboardLayouts.get_list_items():
228
- # yield i.main
229
-
230
223
 
231
224
  class SiteConfigs(dd.Table):
232
225
  model = "system.SiteConfig"
@@ -266,15 +259,6 @@ class Dashboard(EmptyTable):
266
259
  # notify.MyMessages
267
260
  # """
268
261
 
269
- @classmethod
270
- def get_extra_layouts(cls):
271
- # count = 0
272
- for i in DashboardLayouts.get_list_items():
273
- yield i.value, i.main
274
- # print("20210530", i.value, repr(i.main))
275
- # count += 1
276
- # assert count > 0
277
-
278
262
  @classmethod
279
263
  def get_default_action(cls):
280
264
  # raise Exception("20210530")
@@ -288,8 +272,6 @@ class Dashboard(EmptyTable):
288
272
  @classmethod
289
273
  def get_detail_action(self, ar):
290
274
  u = ar.get_user()
291
- if u.dashboard_layout:
292
- return cls.get_action_by_name("extra_" + u.dashboard_layout.name)
293
275
  return cls.get_action_by_name("extra_default")
294
276
 
295
277
  @dd.htmlbox()
@@ -27,7 +27,6 @@ from .actions import SendWelcomeMail, CreateAccount, ResetPassword, VerifyUser,
27
27
 
28
28
  # from .actions import SignIn
29
29
  from lino.modlib.about.choicelists import TimeZones, DateFormats
30
- from lino.modlib.system.choicelists import DashboardLayouts
31
30
  from lino.modlib.publisher.mixins import Publishable
32
31
 
33
32
  from lino.core.roles import Supervisor
@@ -120,7 +119,6 @@ class User(AbstractBaseUser, Contactable, CreatedModified, Publishable, DateRang
120
119
  time_zone = dd.DummyField()
121
120
 
122
121
  date_format = DateFormats.field(default="default")
123
- dashboard_layout = DashboardLayouts.field(blank=True, null=True)
124
122
 
125
123
  ledger = dd.ForeignKey("ledgers.Ledger", null=True, blank=True)
126
124
 
lino/modlib/users/ui.py CHANGED
@@ -39,7 +39,7 @@ class UserDetail(dd.DetailLayout):
39
39
  username user_type:20
40
40
  first_name last_name
41
41
  email status
42
- time_zone #dashboard_layout
42
+ time_zone
43
43
  """
44
44
  box2 = """
45
45
  id language
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: lino
3
- Version: 25.1.0
3
+ Version: 25.1.1
4
4
  Summary: A framework for writing desktop-like web applications using Django and ExtJS or React
5
5
  Project-URL: Homepage, https://www.lino-framework.org
6
6
  Project-URL: Repository, https://gitlab.com/lino-framework/lino
@@ -1,10 +1,10 @@
1
1
  lino/.cvsignore,sha256=1vrrWoP-WD8hPfCszHHIiJEi8KUMRCt5WvoKB9TSB1k,28
2
2
  lino/SciTEDirectory.properties,sha256=rCYi_e-6h8Yx5DwXhAa6MBPlVINcl6Vv9BQDYZV2_go,28
3
- lino/__init__.py,sha256=u1bdWfZ8ZD4RdOeNz2TdOuMDYH32vZJ9giy07TT4uM4,5584
3
+ lino/__init__.py,sha256=2YtoWoQHh0H06gYwh14G0Utb0-3bjgmI_H3xuf498yY,5584
4
4
  lino/ad.py,sha256=AQ-vJ4scac1mx3xegXezxnxyOQpV-a0q3VFMJSDbj2s,142
5
5
  lino/apps.py,sha256=ECq-dPARDkuhngwNrcipse3b4Irj70HxJs44uWEZFc4,27
6
6
  lino/hello.py,sha256=7-PJg7PnEiznyETqGjOwXcKh8rda0qLetpbS2gvRYy0,532
7
- lino/help_texts.py,sha256=WPzMdU0P9JY8dsvlX3IawSKwn9NeZlvd1p40Ax4In7k,90927
7
+ lino/help_texts.py,sha256=N78O2lzBeNWW_eKh6PSyTLR9ye7-MA4xf0ZLPG1i6vc,90797
8
8
  lino/api/__init__.py,sha256=WmzHU-rHdZ68se_nI0SmepQTGE8-cd9tPpovHRH9aag,512
9
9
  lino/api/ad.py,sha256=F6SrcKPRRalHKOZ7QLwsRWGq9hhykQIeo0b85cEk9NQ,314
10
10
  lino/api/dd.py,sha256=-mjuoflZilnFM97we-N1H_sEf1TQiNs62JwZ5m4XV1s,7813
@@ -36,7 +36,7 @@ lino/core/choicelists.py,sha256=8FpmfEREj0jITkx3qihjPfg8pPMBHWXprNfuje4b7N4,3652
36
36
  lino/core/classproperty.py,sha256=_E95WPAs7BWbAuFpPvoYM2ZwW_mbq3rvF7o43WsMq_8,4316
37
37
  lino/core/constants.py,sha256=chvG1TrwD2gVMmL4nTOZtO8NcffcclcUv3zBE8mMoiQ,4503
38
38
  lino/core/dashboard.py,sha256=p7EevOgKfyq4I_xs5ToXK_MhoivE-tky9YU4-zzGNMg,6514
39
- lino/core/dbtables.py,sha256=YdWZ-X_tD0s8Et2ZPC_AcvJ9OxcdFzjpmMVqJiY0Wac,29204
39
+ lino/core/dbtables.py,sha256=bydsaCkQgUg3KlmHajcbZ2oUQdxcSp82nwbvE5uYPDQ,29067
40
40
  lino/core/dbutils.py,sha256=_QHcWd-ajLUwt5G8uOp8d47lZQKD3VseHnqKJke18rA,263
41
41
  lino/core/ddh.py,sha256=dYScxWKTOCDEgow7wJNJe812ESasmmITPK2ovraBQno,3172
42
42
  lino/core/diff.py,sha256=XQ-oQQDS_v3kXd4eRP9Hwr5UCgp-TPZIPVav9ZblUno,5882
@@ -55,7 +55,7 @@ lino/core/merge.py,sha256=sKtTeZtHdoDKerdHj4NXuXXNzpKDsfdPaiq-CY0NqQc,9094
55
55
  lino/core/model.py,sha256=MNTlg53WbKXPIne5wOHtO5V3nLdxoYTBMosz9JdFQJU,36386
56
56
  lino/core/permissions.py,sha256=Fnemz3NwWz21X0YATI9Q7ba2FcAdg-EMLHjIcbt_AVU,6840
57
57
  lino/core/plugin.py,sha256=oVvTsGoBBYmjvRgtyiFPIiHZQErH0ZlNjiUFtOk2dOM,6834
58
- lino/core/renderer.py,sha256=jIXxNSpljZhb9tBMhUfDNbZD3XmxYzaS6SlipHx29L4,47291
58
+ lino/core/renderer.py,sha256=PcySnp_KUfwWYfxzB5DFqwLtmA5931ocB-DGnR7oyQw,47169
59
59
  lino/core/requests.py,sha256=MKQH3woO1sDl9JdjWGoSoZTVvfmTB1-p2CqrzEyZB6U,93350
60
60
  lino/core/roles.py,sha256=PXwk436xUupxdbJcygRSYFu7ixfKjAJPQRUQ8sy0lB0,4425
61
61
  lino/core/signals.py,sha256=0JT89mkjSbRm57QZcSI9DoThoKUGkyi-egNhuLUKEds,948
@@ -174,10 +174,10 @@ lino/modlib/checkdata/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-
174
174
  lino/modlib/checkdata/management/commands/checkdata.py,sha256=CjtGm26qPxIWgkn5a95IdDGCdFpSgw50CH19Vrzojp8,1928
175
175
  lino/modlib/comments/__init__.py,sha256=XoRLIB-pSsz4EfA2FhsbKQ27fsW_AAvS7SyA0_vhHv8,1678
176
176
  lino/modlib/comments/choicelists.py,sha256=SIA7P_KwtaayqOJxCkwyZouK0Z23-2v4ZFV9a0Zexnk,3314
177
- lino/modlib/comments/mixins.py,sha256=BF9OQQIPUPm0ioTriPoHAY9moZWAdFueWjqHTGXnjJE,4254
178
- lino/modlib/comments/models.py,sha256=B1_fMlHMQSKdQ8THBEDPd8ZIra-UmPiAHvtRhjteWFA,15873
177
+ lino/modlib/comments/mixins.py,sha256=h1VvM4h-6rEixziz0r7vJCptM7T7K6i4r50Scz5riws,4413
178
+ lino/modlib/comments/models.py,sha256=RiAkvHu8wlDqoVJ4ueeIsZBhMj3LpWxVGQvXKeJSua0,15858
179
179
  lino/modlib/comments/roles.py,sha256=z3gctvlTa_5PAs-D4pounyzNyuEc31jTFq9g33r6Z1w,751
180
- lino/modlib/comments/ui.py,sha256=N4n3wIto2mvjCjC_vN6eogXvLyojIpPnl139ULVYw84,9639
180
+ lino/modlib/comments/ui.py,sha256=w72vOmK8fn6H13t2aPS7ydYU1fCsbbMH2-TSNWt3pwA,9799
181
181
  lino/modlib/comments/config/comments/comments.js,sha256=7oAnNyx_MKM1iWPu-QSp6iKfnOVdgq7EciQPpxTvYU8,242
182
182
  lino/modlib/comments/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
183
183
  lino/modlib/comments/fixtures/demo2.py,sha256=I-xdzHCRf2lOeAkhb0ygsmZnX6ww2gEL_PHW7qQCUWw,23916
@@ -3632,11 +3632,11 @@ lino/modlib/summaries/fixtures/checksummaries.py,sha256=GVqOT47RC6PMzGygssaiAalL
3632
3632
  lino/modlib/summaries/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3633
3633
  lino/modlib/summaries/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3634
3634
  lino/modlib/summaries/management/commands/checksummaries.py,sha256=hNEGFcZmbGFpL_H6aKAkdhL_Gw_mE8l-C2NYHvH4Bvo,839
3635
- lino/modlib/system/__init__.py,sha256=bQAH-7xTOl8PnYe3YIoOYHU_PAm7mAQebHQAMylWD1M,1520
3635
+ lino/modlib/system/__init__.py,sha256=cXb8cPBr3t18mXtiY_ScqscdUgd6MvSrsHebfqY-SHk,1407
3636
3636
  lino/modlib/system/actions.py,sha256=jmSYPQDvIQxDth8MaJ9GpkmSCufLGWjmAjKdHAIWE48,1126
3637
- lino/modlib/system/choicelists.py,sha256=D3WYN2bS1ZGfQutmN9_OwU0eJRdFbFppbMV6c8LruJA,8595
3638
- lino/modlib/system/mixins.py,sha256=GuzLCv-PcQCdXysla2yeONkWoSxS6r9BUkolvFXsJHU,18994
3639
- lino/modlib/system/models.py,sha256=SqNK67N4xkgcDfyPyR7CYlMpseu0wrx2zs7MfKiSF8s,11427
3637
+ lino/modlib/system/choicelists.py,sha256=TFcLucAuUHQ06nMT6FnzqVZxpnbchvEM2DHr9otjugQ,8284
3638
+ lino/modlib/system/mixins.py,sha256=fpj0O1218KgwGhRr8IHYRBXsNt5uXN87qVrx7dxvjys,19031
3639
+ lino/modlib/system/models.py,sha256=30HT4M6o_jyYgZ5hLSRf6Inc0nuhxAsHQvLfPtvkFhM,10837
3640
3640
  lino/modlib/system/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3641
3641
  lino/modlib/system/fixtures/std.py,sha256=ko6TxoQ6hQvUJT6BYOFBB8-F_kxu8VlRhlEcUg248Uc,102
3642
3642
  lino/modlib/tinymce/__init__.py,sha256=do3zN5Mo2ftsegHTV_KUVaHl44RJ8WHBSS4Jb7BExHs,4879
@@ -4404,9 +4404,9 @@ lino/modlib/users/__init__.py,sha256=QHLCNKiRMyL14Iy2eiz7_y9fAwugnDCt4N0aKtIhFA8
4404
4404
  lino/modlib/users/actions.py,sha256=Nik2CoxKZWoGIsPT50mWESzHSTQx9WiBXWG64CUFyS8,18074
4405
4405
  lino/modlib/users/choicelists.py,sha256=-X76C1NxIs5e7rFHp5Z0kjJkA1NlOP2vdLKGkI2wZRU,3876
4406
4406
  lino/modlib/users/mixins.py,sha256=cMmTtR1-w9iWgdPlNF5kMybDR41D5kd1waGxEROSvSE,14150
4407
- lino/modlib/users/models.py,sha256=2wTEBYe4rgFPSfwmeAy6loXtHLADjvJ6-Hc6609fhm4,16599
4407
+ lino/modlib/users/models.py,sha256=tdROzvtd3cMxsXKtYZjcUv2XJU7hQLbyBCiE0zVvaOo,16470
4408
4408
  lino/modlib/users/roles.py,sha256=yi29ELbWU1VtteGARaxetxmsCkZQHA2oJiD0dXujMiE,320
4409
- lino/modlib/users/ui.py,sha256=IQ9Yhrn5vB2odfjqT0gaJrtHgTRGVM4HQpbo9h-BTsU,13161
4409
+ lino/modlib/users/ui.py,sha256=kRuCCEK77ZhHj3kawio6NTcAvEixwupKkVnQ5LByCEc,13143
4410
4410
  lino/modlib/users/utils.py,sha256=bD0DJZsUy59xw9N-tx3W_h30_R10GT2qXZVzYtGWMa8,1963
4411
4411
  lino/modlib/users/config/users/verification_response.html,sha256=8X1sEn53ploQgB6ds0UfmmkZpcvP9KSwWiQjRE_q970,772
4412
4412
  lino/modlib/users/config/users/welcome_email.eml,sha256=bPSPbJKIPFRVWPDCuhNquQYwQtXzYGZgs7wICoiutS8,1078
@@ -4648,8 +4648,8 @@ lino/utils/xml.py,sha256=4Z44W1e5HvTVrU8erkohgnwqY-5Cr2NHywaAJ5OgRvw,989
4648
4648
  lino/utils/mldbc/__init__.py,sha256=QqWRlzeXaOmFfbCk-vTY3SZMn1-FCf67XnpZdd_Nim0,1134
4649
4649
  lino/utils/mldbc/fields.py,sha256=tAX8G5UKigr9c6g0F3ARIjZZtg406mdaZ--PWSbiH9E,2873
4650
4650
  lino/utils/mldbc/mixins.py,sha256=CkYe5jDa7xp9fJq_V8zcZf8ocxgIjUgHc9KZccvA_Yw,1945
4651
- lino-25.1.0.dist-info/METADATA,sha256=8yWd9wAQVQEs3GjbRDT5tRdq2jlXawRqsz-v1nq2k4w,42534
4652
- lino-25.1.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4653
- lino-25.1.0.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
4654
- lino-25.1.0.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
4655
- lino-25.1.0.dist-info/RECORD,,
4651
+ lino-25.1.1.dist-info/METADATA,sha256=BmJZbrN-VO19_W-69o6Vvk3sBRlsmB9_CE6G7PHZMFA,42534
4652
+ lino-25.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
4653
+ lino-25.1.1.dist-info/licenses/AUTHORS.rst,sha256=8VEm_G4HOmYEa4oi1nVoKKsdo4JanekEJCefWd2E8vk,981
4654
+ lino-25.1.1.dist-info/licenses/COPYING,sha256=DZak_2itbUtvHzD3E7GNUYSRK6jdOJ-GqncQ2weavLA,34523
4655
+ lino-25.1.1.dist-info/RECORD,,
File without changes