-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prieiga prie Saugyklos projektui #262
Comments
Panaudojimo atvejo puslapyje atsiranda naujas kontekstinis meniu „Leidimai“, kurį paspaudus, rodo panašų puslapį į Rakto peržiūra puslapį, kuris yra aprašytas čia: Panaudojimo atvejo leidimų lentelė rodoma tik projekto autoriui ir super administratoriui. Ir tik tuo atveju, jei Panaudojimo atvejis turi bent vieną duomenų rinkinį su access:public lauku. Leidimų lentelėLeidimų puslapyje rodoma tokia lentelė:
Lentelėje rodomi tokie stulpeliai:
Leidimų lentelėje rodomi duomenų rinkiniai, kuriuos naudoja projektas, t.y. rinkiniai, kurie yra įtraukti į panaudojimo atvejį, tačiau rodomi tik tie rinkiniai, kurie turi bent vieną duomenų lauką, kurio access nėra open. Leidimų lentelėje negalima nieko keisti ir lentelėje nėra jokių mygtukų. Prašymas suteikti leidimąVirš leidimų lentelės rodomas mygtukas „Prašyti leidimų“, kurį paspaudus:
Saugykloje turėtu būti suteikiami tokie leidimai:
Leidimai suteikiami tik konkretiems duomenų rinkiniams, kurie turi access:public laukų. Jokie kiti leidimai nesuteikiami. Minėti leidimai suteikiami tik tuo atveju, jei duomenų Savininkas patvirtina leidimą, tik tada tie leidimai įtraukiami į raktą Saugykloje. Kol Savininkas nepatvirtina, leidimai saugomi tik Atsiradus naujiems leidimams, sukuriama užduotis duomenų rinkinio organizacijai, kuri turi patvirtinti arba atmesti leidimo prašymą. Slaptažodžio keitimasVirš leidimo lentelės rodomas mygtukas „Keisti slaptažodį“, kurį paspaudus, sugeneruojamas naujas slaptažodis, pakeičiams saugykloje per Saugyklos API ir išsaugomas Naujas slaptažodis parodomas vieną kartą, virš leidimų lentelės, su informacija, kad slaptažodis bus rodomas vieną kartą. Leidimų tvarkymas iš organizacijos pusėsOrganizacijos raktų valdymas yra toks pat, kaip apibrėžta Tačiau prie išorinių raktų, sąraše rodomi ne tik Organizacijų raktai, bet ir Panaudojimo atvejų raktai, rodant Panaudojimo atvejo pavadinimą ir nuorodą į patį panaudojimo atvejį. Atsidarius panaudojimo atvejo raktą, rodomas toks pat Rakto peržiūros puslapis, su galimybe Įjungti arba Išjungti leidimą. Įjungus leidimą, daroma Saugyklos API užklausa ir leidimas pridedamas prie kliento leidimų. Leidimų lentelėje, Pasikeitimai duomenų modelyje
|
https://test.data.gov.lt/projects/427/apikeys/add/ Prašant leidimų, neturėtu prašyti įvesti rakto pavadinimo, o tiesiog turėtu sukurti naują raktą ir parodyti jo slaptažodį. Sukūrus raktą, raktas rodomas svetainės viršuje: Nors turėtu rodyti, svetainės kontekste. |
Atidarius organizacijos raktus: https://test.data.gov.lt/orgs/269/apikeys/ Gaunu: Internal Server Error: /orgs/269/apikeys/
Traceback (most recent call last):
File "vitrina/orgs/views.py", line 976, in get_context_data
ApiKey.objects.create(
File "django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "django/db/models/query.py", line 451, in create
obj = self.model(**kwargs)
File "django/db/models/base.py", line 485, in __init__
_setattr(self, field.name, rel_obj)
File "django/db/models/fields/related_descriptors.py", line 215, in __set__
raise ValueError(
ValueError: Cannot assign "True": "ApiKey.organization" must be a "Organization" instance. |
Testavau su panaudojimo atveju https://test.data.gov.lt/projects/3/permissions/
Taip pat:
|
Internal Server Error: /orgs/269/apikeys/ Traceback (most recent call last):
File "vitrina/orgs/views.py", line 976, in get_context_data
ApiKey.objects.create(
File "django/db/models/manager.py", line 85, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "django/db/models/query.py", line 451, in create
obj = self.model(**kwargs)
File "django/db/models/base.py", line 485, in __init__
_setattr(self, field.name, rel_obj)
File "django/db/models/fields/related_descriptors.py", line 215, in __set__
raise ValueError(
ValueError: Cannot assign "True": "ApiKey.organization" must be a "Organization" instance. |
Internal Server Error: /projects/6/permissions/856/toggle/1670/ File "/usr/local/lib/pythonX/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type ApiScope is not JSON serializable |
Su toggle vis dar ta pati klaida
|
Taip pat, nelabai aišku, kodėl neleidžia "Prašyti leidimų" čia https://test.data.gov.lt/projects/3/permissions/. Prie organizacijos "Raktai" yra sukurtas įrašas (https://www.trafi.com/) "Išoriniai raktai" skiltyje, bet langas tuščias ir "Įjungti/Išjungti" pasirinkimo nėra. |
Jeigu nėra ryšio su spintos API arba grįžta būsenos kodas ne 200, tada raktas nešalinamas. |
Visi kintamieji prod aplinkoje yra. |
Kviečiant toggle: Internal Server Error: /projects/6/permissions/856/toggle/1670/
Traceback (most recent call last):
File "/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/vitrina/projects/views.py", line 434, in dispatch
return super().dispatch(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/django/contrib/auth/mixins.py", line 104, in dispatch
return super().dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/vitrina/projects/views.py", line 469, in get
response = get_auth_session().post(SPINTA_SERVER_URL + '/auth/clients' + self.apikey.client_id,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/requests/sessions.py", line 575, in request
prep = self.prepare_request(req)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/site-packages/requests/sessions.py", line 486, in prepare_request
p.prepare(
File "/site-packages/requests/models.py", line 371, in prepare
self.prepare_body(data, files, json)
File "/site-packages/requests/models.py", line 511, in prepare_body
body = complexjson.dumps(json, allow_nan=False)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/__init__.py", line 238, in dumps
**kw).encode(obj)
^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/encoder.py", line 200, in encode
chunks = self.iterencode(o, _one_shot=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/encoder.py", line 258, in iterencode
return _iterencode(o, 0)
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/json/encoder.py", line 180, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type ApiScope is not JSON serializable |
Kviečiant change Internal Server Error: /orgs/269/apikeys/757/change/
Traceback (most recent call last):
File "site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
^^^^^^^^^^^^^^^^^^^^^
File "site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/django/views/generic/base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/vitrina/orgs/views.py", line 1315, in dispatch
return super().dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/django/contrib/auth/mixins.py", line 104, in dispatch
return super().dispatch(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/django/views/generic/base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/django/views/generic/edit.py", line 190, in get
return super().get(request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/django/views/generic/edit.py", line 133, in get
return self.render_to_response(self.get_context_data())
^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/vitrina/orgs/views.py", line 1356, in get_context_data
org = Organization.objects.filter(name=code.removeprefix('_datasets_gov_')).get()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "site-packages/django/db/models/query.py", line 435, in get
raise self.model.DoesNotExist(
vitrina.orgs.models.Organization.DoesNotExist: Organization matching query does not exist. |
Šios klaidos turėjo būti pataisytos su commitu b05f291, kuris buvo padarytas penktadienį. Prašau patikrinkite. |
https://test.data.gov.lt/orgs/98/apikeys/ Iš panaudojimo atvejo Miškų (VMP) panaudojimo atvejis sukūriau raktą ir paprašiau leidimo prie Privačių vidinės miškotvarkos projektų rengėjų sąrašas duomenų rinkinio, spausdamas „Prašyti leidimų“ mygtuką. Tačiau, Miškų tarnybos raktų puslapyje, prie „Miškų (VMP) panaudojimo atvejis rakto nėra galimybės patvirtinti prašomą leidimą. Kaip ir nurodyta užduotyje, organizacijos raktų puslapį, atsidarius išorinį raktą, turi būti galimybė patvirtinti prašomus leidimus arba juos atmesti. |
Skelbiamų asmens duomenų prieigos valdymas - užduotis, kuri nebuvo numatyta pirkimo specifikacijoje. Tačiau tai ne pagrindinė bėda. VDAI išaiškinime: https://vdai.lrv.lt/uploads/vdai/documents/files/23%20DUK_atviruju%20duomenu%20ir%20asmens%20duomenu%20santykis%202021-03-10.pdf , kur akcentuojama, kad:
|
Pastebėjimai:
|
Projektams gali būti išduodamas prieigos prie Saugyklos raktas, kad projektas galėtu pasiekti viešuosius asmens duomenis, pažymėtus
access=public
. Raktas gali būti išduodamas tik tuo atveju, jei projekto autorius yra autorizuotas per VIISP.Raktas išduodamas projektui, per projekto puslapyje esantį API meniu, kuriame rodoma informacija, kaip gauti prieigos raktą ir kaip pasiekti duomenis.
Projektui suteikiavas vienas prieigos raktas, tačiau, scopes suteikiami atskirai kiekvienam duomenų rinkiniui, per duomenų rinkinio priskyrimo formą projektui, kuriame reikia nurodyti duomenų naudojimo tikslą.
Priklauso nuo
Susiję
access
savokų keitimas suderinant su DCAT-AP ivpk/dsa#16The text was updated successfully, but these errors were encountered: