udata 10.6.1.dev36082__py2.py3-none-any.whl → 10.6.1.dev36098__py2.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 udata might be problematic. Click here for more details.
- udata/api/fields.py +0 -17
- udata/auth/views.py +22 -24
- udata/core/activity/api.py +1 -1
- udata/core/dataservices/api.py +3 -3
- udata/core/dataservices/models.py +11 -11
- udata/core/dataservices/rdf.py +3 -18
- udata/core/dataset/api.py +4 -3
- udata/core/dataset/api_fields.py +14 -25
- udata/core/dataset/apiv2.py +8 -11
- udata/core/dataset/csv.py +2 -2
- udata/core/dataset/models.py +18 -20
- udata/core/dataset/rdf.py +5 -38
- udata/core/dataset/search.py +1 -1
- udata/core/discussions/api.py +3 -1
- udata/core/discussions/models.py +11 -15
- udata/core/linkable.py +16 -0
- udata/core/organization/api.py +1 -0
- udata/core/organization/api_fields.py +14 -26
- udata/core/organization/csv.py +1 -1
- udata/core/organization/models.py +13 -16
- udata/core/organization/rdf.py +1 -5
- udata/core/post/api.py +8 -8
- udata/core/post/models.py +9 -16
- udata/core/reports/models.py +2 -2
- udata/core/reuse/api.py +4 -3
- udata/core/reuse/api_fields.py +1 -7
- udata/core/reuse/csv.py +1 -1
- udata/core/reuse/models.py +15 -22
- udata/core/site/rdf.py +2 -3
- udata/core/spatial/models.py +2 -9
- udata/core/topic/api.py +4 -8
- udata/core/topic/apiv2.py +3 -8
- udata/core/topic/models.py +0 -5
- udata/core/user/api_fields.py +14 -14
- udata/core/user/models.py +10 -16
- udata/core/user/rdf.py +1 -3
- udata/features/territories/models.py +1 -17
- udata/rdf.py +1 -2
- udata/routing.py +3 -2
- udata/settings.py +2 -0
- udata/static/chunks/{10.471164b2a9fe15614797.js → 10.8ca60413647062717b1e.js} +3 -3
- udata/static/chunks/{10.471164b2a9fe15614797.js.map → 10.8ca60413647062717b1e.js.map} +1 -1
- udata/static/chunks/{11.83535504cd650ea08f65.js → 11.0f04e49a40a0a381bcce.js} +3 -3
- udata/static/chunks/{11.83535504cd650ea08f65.js.map → 11.0f04e49a40a0a381bcce.js.map} +1 -1
- udata/static/chunks/{13.d9c1735d14038b94c17e.js → 13.f29411b06be1883356a3.js} +2 -2
- udata/static/chunks/{13.d9c1735d14038b94c17e.js.map → 13.f29411b06be1883356a3.js.map} +1 -1
- udata/static/chunks/{17.81c57c0dedf812e43013.js → 17.3bd0340930d4a314ce9c.js} +2 -2
- udata/static/chunks/{17.81c57c0dedf812e43013.js.map → 17.3bd0340930d4a314ce9c.js.map} +1 -1
- udata/static/chunks/{19.df16abde17a42033a7f8.js → 19.0586efa786ebf09fb288.js} +3 -3
- udata/static/chunks/{19.df16abde17a42033a7f8.js.map → 19.0586efa786ebf09fb288.js.map} +1 -1
- udata/static/chunks/{8.462bb3029de008497675.js → 8.b966402f5d680d4bdf4a.js} +2 -2
- udata/static/chunks/{8.462bb3029de008497675.js.map → 8.b966402f5d680d4bdf4a.js.map} +1 -1
- udata/static/chunks/{9.07515e5187f475bce828.js → 9.033d7e190ca9e226a5d0.js} +3 -3
- udata/static/chunks/{9.07515e5187f475bce828.js.map → 9.033d7e190ca9e226a5d0.js.map} +1 -1
- udata/static/common.js +1 -1
- udata/static/common.js.map +1 -1
- udata/templates/api/oauth_error.html +1 -1
- udata/templates/macros/metadata.html +0 -1
- udata/templates/mail/account_inactivity.html +1 -1
- udata/templates/mail/account_inactivity.txt +1 -1
- udata/templates/mail/badge_added_association.html +3 -3
- udata/templates/mail/badge_added_association.txt +1 -1
- udata/templates/mail/badge_added_certified.html +3 -3
- udata/templates/mail/badge_added_certified.txt +1 -1
- udata/templates/mail/badge_added_company.html +3 -3
- udata/templates/mail/badge_added_company.txt +1 -1
- udata/templates/mail/badge_added_local_authority.html +3 -3
- udata/templates/mail/badge_added_local_authority.txt +1 -1
- udata/templates/mail/badge_added_public_service.html +3 -3
- udata/templates/mail/badge_added_public_service.txt +1 -1
- udata/templates/mail/discussion_closed.html +3 -3
- udata/templates/mail/discussion_closed.txt +1 -1
- udata/templates/mail/frequency_reminder.html +1 -1
- udata/templates/mail/frequency_reminder.txt +1 -1
- udata/templates/mail/membership_refused.html +1 -1
- udata/templates/mail/membership_request.html +3 -3
- udata/templates/mail/membership_request.txt +1 -1
- udata/templates/mail/new_discussion.html +3 -3
- udata/templates/mail/new_discussion.txt +1 -1
- udata/templates/mail/new_discussion_comment.html +3 -3
- udata/templates/mail/new_discussion_comment.txt +1 -1
- udata/templates/mail/new_member.html +2 -2
- udata/templates/mail/new_member.txt +1 -1
- udata/templates/mail/new_reuse.html +2 -12
- udata/templates/mail/new_reuse.txt +1 -3
- udata/templates/mail/user_mail_card.html +1 -1
- udata/tests/api/test_dataservices_api.py +2 -2
- udata/tests/api/test_datasets_api.py +2 -2
- udata/tests/api/test_reuses_api.py +2 -2
- udata/tests/api/test_topics_api.py +4 -4
- udata/tests/dataset/test_dataset_rdf.py +1 -9
- udata/tests/test_discussions.py +3 -3
- udata/tests/test_mail.py +8 -0
- udata/uris.py +28 -7
- {udata-10.6.1.dev36082.dist-info → udata-10.6.1.dev36098.dist-info}/METADATA +1 -1
- {udata-10.6.1.dev36082.dist-info → udata-10.6.1.dev36098.dist-info}/RECORD +100 -99
- {udata-10.6.1.dev36082.dist-info → udata-10.6.1.dev36098.dist-info}/LICENSE +0 -0
- {udata-10.6.1.dev36082.dist-info → udata-10.6.1.dev36098.dist-info}/WHEEL +0 -0
- {udata-10.6.1.dev36082.dist-info → udata-10.6.1.dev36098.dist-info}/entry_points.txt +0 -0
- {udata-10.6.1.dev36082.dist-info → udata-10.6.1.dev36098.dist-info}/top_level.txt +0 -0
udata/core/user/models.py
CHANGED
|
@@ -7,7 +7,7 @@ from time import time
|
|
|
7
7
|
|
|
8
8
|
from authlib.jose import JsonWebSignature
|
|
9
9
|
from blinker import Signal
|
|
10
|
-
from flask import current_app
|
|
10
|
+
from flask import current_app, url_for
|
|
11
11
|
from flask_security import MongoEngineUserDatastore, RoleMixin, UserMixin
|
|
12
12
|
from mongoengine.signals import post_save, pre_save
|
|
13
13
|
from werkzeug.utils import cached_property
|
|
@@ -16,12 +16,12 @@ from udata import mail
|
|
|
16
16
|
from udata.api_fields import field
|
|
17
17
|
from udata.core import storages
|
|
18
18
|
from udata.core.discussions.models import Discussion
|
|
19
|
+
from udata.core.linkable import Linkable
|
|
19
20
|
from udata.core.storages import avatars, default_image_basename
|
|
20
21
|
from udata.frontend.markdown import mdstrip
|
|
21
22
|
from udata.i18n import lazy_gettext as _
|
|
22
|
-
from udata.mail import get_mail_campaign_dict
|
|
23
23
|
from udata.models import Follow, WithMetrics, db
|
|
24
|
-
from udata.uris import
|
|
24
|
+
from udata.uris import cdata_url
|
|
25
25
|
|
|
26
26
|
from .constants import AVATAR_SIZES
|
|
27
27
|
|
|
@@ -45,7 +45,7 @@ class UserSettings(db.EmbeddedDocument):
|
|
|
45
45
|
prefered_language = db.StringField()
|
|
46
46
|
|
|
47
47
|
|
|
48
|
-
class User(WithMetrics, UserMixin, db.Document):
|
|
48
|
+
class User(WithMetrics, UserMixin, Linkable, db.Document):
|
|
49
49
|
slug = field(
|
|
50
50
|
db.SlugField(max_length=255, required=True, populate_from="fullname"), auditable=False
|
|
51
51
|
)
|
|
@@ -133,19 +133,13 @@ class User(WithMetrics, UserMixin, db.Document):
|
|
|
133
133
|
def sysadmin(self):
|
|
134
134
|
return self.has_role("admin")
|
|
135
135
|
|
|
136
|
-
def
|
|
137
|
-
return
|
|
136
|
+
def self_web_url(self, **kwargs):
|
|
137
|
+
return cdata_url(f"/users/{self._link_id(**kwargs)}/", **kwargs)
|
|
138
138
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
return self.url_for(_external=True)
|
|
144
|
-
|
|
145
|
-
@property
|
|
146
|
-
def external_url_with_campaign(self):
|
|
147
|
-
extras = get_mail_campaign_dict()
|
|
148
|
-
return self.url_for(_external=True, **extras)
|
|
139
|
+
def self_api_url(self, **kwargs):
|
|
140
|
+
return url_for(
|
|
141
|
+
"api.user", user=self._link_id(**kwargs), **self._self_api_url_kwargs(**kwargs)
|
|
142
|
+
)
|
|
149
143
|
|
|
150
144
|
@property
|
|
151
145
|
def visible(self):
|
udata/core/user/rdf.py
CHANGED
|
@@ -6,7 +6,6 @@ from rdflib import BNode, Graph, Literal, URIRef
|
|
|
6
6
|
from rdflib.namespace import FOAF, RDF, RDFS
|
|
7
7
|
|
|
8
8
|
from udata.rdf import namespace_manager
|
|
9
|
-
from udata.uris import endpoint_for
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
def user_to_rdf(user, graph=None):
|
|
@@ -15,8 +14,7 @@ def user_to_rdf(user, graph=None):
|
|
|
15
14
|
"""
|
|
16
15
|
graph = graph or Graph(namespace_manager=namespace_manager)
|
|
17
16
|
if user.id:
|
|
18
|
-
|
|
19
|
-
id = URIRef(user_url)
|
|
17
|
+
id = URIRef(user.url_for(_useId=True))
|
|
20
18
|
else:
|
|
21
19
|
id = BNode()
|
|
22
20
|
o = graph.resource(id)
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
from flask import url_for
|
|
2
|
-
|
|
3
|
-
from udata.mail import get_mail_campaign_dict
|
|
4
1
|
from udata.models import License, Organization
|
|
5
2
|
|
|
6
3
|
__all__ = ("TerritoryDataset", "ResourceBasedTerritoryDataset", "TERRITORY_DATASETS")
|
|
@@ -45,23 +42,10 @@ class ResourceBasedTerritoryDataset(TerritoryDataset):
|
|
|
45
42
|
csv_column = ""
|
|
46
43
|
|
|
47
44
|
def url_for(self, external=False):
|
|
48
|
-
return
|
|
49
|
-
"territories.territory_dataset_resource",
|
|
50
|
-
territory=self.territory,
|
|
51
|
-
dataset=self.dataset_id,
|
|
52
|
-
resource_id=self.resource_id,
|
|
53
|
-
territory_attr=self.territory_attr,
|
|
54
|
-
csv_column=self.csv_column,
|
|
55
|
-
_external=external,
|
|
56
|
-
)
|
|
45
|
+
return None
|
|
57
46
|
|
|
58
47
|
url = property(url_for)
|
|
59
48
|
|
|
60
49
|
@property
|
|
61
50
|
def external_url(self):
|
|
62
51
|
return self.url_for(external=True)
|
|
63
|
-
|
|
64
|
-
@property
|
|
65
|
-
def external_url_with_campaign(self):
|
|
66
|
-
extras = get_mail_campaign_dict()
|
|
67
|
-
return self.url_for(_external=True, **extras)
|
udata/rdf.py
CHANGED
|
@@ -29,7 +29,6 @@ from udata.frontend.markdown import parse_html
|
|
|
29
29
|
from udata.models import Schema
|
|
30
30
|
from udata.mongo.errors import FieldValidationError
|
|
31
31
|
from udata.tags import slug as slugify_tag
|
|
32
|
-
from udata.uris import endpoint_for
|
|
33
32
|
|
|
34
33
|
log = logging.getLogger(__name__)
|
|
35
34
|
|
|
@@ -367,7 +366,7 @@ def contact_points_to_rdf(contacts, graph=None):
|
|
|
367
366
|
for contact in contacts:
|
|
368
367
|
if contact.id:
|
|
369
368
|
id = URIRef(
|
|
370
|
-
|
|
369
|
+
url_for(
|
|
371
370
|
"api.contact_point",
|
|
372
371
|
contact_point=contact.id,
|
|
373
372
|
_external=True,
|
udata/routing.py
CHANGED
|
@@ -12,7 +12,7 @@ from udata.core.dataservices.models import Dataservice
|
|
|
12
12
|
from udata.core.spatial.models import GeoZone
|
|
13
13
|
from udata.i18n import ISO_639_1_CODES
|
|
14
14
|
from udata.mongo import db
|
|
15
|
-
from udata.uris import
|
|
15
|
+
from udata.uris import cdata_url, homepage_url
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class LazyRedirect(object):
|
|
@@ -249,4 +249,5 @@ def init_app(app):
|
|
|
249
249
|
app.url_map.converters["contact_point"] = ContactPointConverter
|
|
250
250
|
app.url_map.converters["report"] = ReportConverter
|
|
251
251
|
|
|
252
|
-
app.jinja_env.globals["
|
|
252
|
+
app.jinja_env.globals["cdata_url"] = cdata_url
|
|
253
|
+
app.jinja_env.globals["homepage_url"] = homepage_url
|
udata/settings.py
CHANGED
|
@@ -24,6 +24,8 @@ class Defaults(object):
|
|
|
24
24
|
CONTACT_EMAIL = "contact@example.org"
|
|
25
25
|
TERRITORIES_EMAIL = "territories@example.org"
|
|
26
26
|
|
|
27
|
+
CDATA_BASE_URL = None
|
|
28
|
+
|
|
27
29
|
MONGODB_HOST = "mongodb://localhost:27017/udata"
|
|
28
30
|
MONGODB_CONNECT = False # Lazy connexion for Fork-safe usage
|
|
29
31
|
|