diff --git a/.circleci/config.yml b/.circleci/config.yml
index 0d34a799b..85fbab477 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -17,7 +17,7 @@ orbs:
jobs:
test:
docker:
- - image: openknowledge/ckan-dev:2.9 # primary executor
+ - image: ckan/ckan-dev:2.10.4 # primary executor
name: ckan
environment:
PGHOST: postgres
@@ -39,7 +39,7 @@ jobs:
CKAN_REDIS_URL: redis://redis:6379/1
- image: opendatacanada/solr # dependency service
name: solr
- - image: postgres:9.6 # dependency service
+ - image: postgres:13.14 # dependency service
name: postgres
environment:
POSTGRES_USER: postgres
@@ -54,33 +54,41 @@ jobs:
- "0c:02:84:7e:c0:46:16:eb:9b:5e:1d:c9:f8:3b:5a:3d"
- checkout
- run:
- name: Set CKAN to open-data/ckan@canada-py3
+ name: Set Python Version to 3.9
+ command: |
+ apk add --no-cache python3=3.9.18-r0 --repository=https://dl-cdn.alpinelinux.org/alpine/v3.15/main
+ ln -sf python3 /usr/local/bin/python
+ python3 -m ensurepip
+ pip3 install --no-cache --upgrade pip setuptools
+ python3 --version
+ - run:
+ name: Set CKAN to open-data/ckan@canada-v2.10
command: |
pip uninstall -y ckan
git --git-dir=\/srv\/app\/src\/ckan\/.git --work-tree=\/srv\/app\/src\/ckan\/ remote add canada https://github.com/open-data/ckan.git
- git --git-dir=\/srv\/app\/src\/ckan\/.git --work-tree=\/srv\/app\/src\/ckan\/ fetch canada canada-py3
- git --git-dir=\/srv\/app\/src\/ckan\/.git --work-tree=\/srv\/app\/src\/ckan\/ checkout -b canada-py3 canada/canada-py3
+ git --git-dir=\/srv\/app\/src\/ckan\/.git --work-tree=\/srv\/app\/src\/ckan\/ fetch canada canada-v2.10
+ git --git-dir=\/srv\/app\/src\/ckan\/.git --work-tree=\/srv\/app\/src\/ckan\/ checkout -b canada-v2.10 canada/canada-v2.10
git --git-dir=\/srv\/app\/src\/ckan\/.git --work-tree=\/srv\/app\/src\/ckan\/ pull
- run:
name: Install requirements
command: |
apk add jpeg-dev
- pip install setuptools==44.1.0
+ pip install --upgrade setuptools==70.0.0
pip install --upgrade pip==23.2.1
pip install -e \/srv\/app\/src\/ckan\/ -r \/srv\/app\/src\/ckan\/requirements.txt -r \/srv\/app\/src\/ckan\/dev-requirements.txt
pip install -e 'git+https://github.com/ckan/ckanapi.git#egg=ckanapi' -r 'https://raw.githubusercontent.com/ckan/ckanapi/master/requirements.txt'
pip install -e . -r .\/requirements.txt -r .\/test-requirements.txt
pip install -e 'git+https://github.com/ckan/ckanext-fluent.git#egg=ckanext-fluent' -r 'https://raw.githubusercontent.com/ckan/ckanext-fluent/master/requirements.txt'
- pip install -e 'git+https://github.com/open-data/ckanext-recombinant.git#egg=ckanext-recombinant' -r 'https://raw.githubusercontent.com/open-data/ckanext-recombinant/master/requirements.txt'
+ pip install -e 'git+https://github.com/open-data/ckanext-recombinant.git@canada-v2.10#egg=ckanext-recombinant' -r 'https://raw.githubusercontent.com/open-data/ckanext-recombinant/canada-v2.10/requirements.txt'
pip install -e 'git+https://github.com/ckan/ckanext-scheming.git#egg=ckanext-scheming'
- pip install -e 'git+https://github.com/open-data/ckanext-validation.git@canada-py3#egg=ckanext-validation' -r 'https://raw.githubusercontent.com/open-data/ckanext-validation/canada-py3/requirements.txt' -r 'https://raw.githubusercontent.com/open-data/ckanext-validation/canada-py3/dev-requirements.txt'
- pip install -e 'git+https://github.com/open-data/ckanext-xloader.git@canada-py3#egg=ckanext-xloader' -r 'https://raw.githubusercontent.com/open-data/ckanext-xloader/canada-py3/requirements.txt' -r 'https://raw.githubusercontent.com/open-data/ckanext-xloader/canada-py3/dev-requirements.txt'
+ pip install -e 'git+https://github.com/open-data/ckanext-validation.git@canada-v2.10#egg=ckanext-validation' -r 'https://raw.githubusercontent.com/open-data/ckanext-validation/canada-v2.10/requirements.txt' -r 'https://raw.githubusercontent.com/open-data/ckanext-validation/canada-v2.10/dev-requirements.txt'
+ pip install -e 'git+https://github.com/open-data/ckanext-xloader.git@canada-v2.10#egg=ckanext-xloader' -r 'https://raw.githubusercontent.com/open-data/ckanext-xloader/canada-v2.10/requirements.txt' -r 'https://raw.githubusercontent.com/open-data/ckanext-xloader/canada-v2.10/dev-requirements.txt'
pip install -e 'git+https://github.com/ckan/ckantoolkit.git#egg=ckantoolkit' -r 'https://raw.githubusercontent.com/ckan/ckantoolkit/master/requirements.txt'
- pip install -e 'git+https://github.com/open-data/goodtables.git@canada-py3#egg=goodtables' -r 'https://raw.githubusercontent.com/open-data/goodtables/canada-py3/requirements.txt'
- pip install -e 'git+https://github.com/open-data/ckanext-security.git@canada-py3#egg=ckanext-security' -r 'https://raw.githubusercontent.com/open-data/ckanext-security/canada-py3/requirements.txt'
+ pip install -e 'git+https://github.com/open-data/frictionless-py.git@canada-v2.10#egg=frictionless' -r 'https://raw.githubusercontent.com/open-data/frictionless-py/canada-v2.10/requirements.txt'
+ pip install -e 'git+https://github.com/open-data/ckanext-security.git@canada-v2.10#egg=ckanext-security' -r 'https://raw.githubusercontent.com/open-data/ckanext-security/canada-v2.10/requirements.txt'
find \/srv\/app\/ -name '*.pyc' -delete
- run:
- name: Setup extension (CKAN 2.9 PY3)
+ name: Setup extension (CKAN 2.10 PY3.9)
command: |
ln -s \/srv\/app\/src\/ckan\/test-core.ini .\/links\/test-core.ini
ln -s \/srv\/app\/src\/ckan\/who.ini .\/links\/who.ini
@@ -93,12 +101,14 @@ jobs:
ckan -c test-core.ini datastore set-permissions | psql -U postgres --set ON_ERROR_STOP=1
ckan -c test-core.ini canada update-triggers
ckan -c test-core.ini recombinant create-triggers -a
+ ckan -c test-core.ini db upgrade
+ ckan -c test-core.ini db pending-migrations --apply
python3 .\/bin\/download_country.py
- run:
name: Run all tests
command: |
mkdir -p ~/junit/result
- pytest --ckan-ini=test-core.ini ckanext/canada/tests --junitxml=~/junit/result/junit.xml
+ pytest --ckan-ini=test-core.ini --disable-warnings ckanext/canada/tests --junitxml=~/junit/result/junit.xml
- store_test_results:
path: ~/junit
- slack/notify:
diff --git a/bin/ati_to_datastore_create.py b/bin/ati_to_datastore_create.py
index f6b0d9b60..43ec4d83a 100755
--- a/bin/ati_to_datastore_create.py
+++ b/bin/ati_to_datastore_create.py
@@ -28,23 +28,23 @@ def org_info():
break
except ckanapi.errors.CKANAPIError:
count += 1
- print >> sys.stderr, 'Error read org list from open.canada.ca'
+ print('Error read org list from open.canada.ca', file=sys.stderr)
time.sleep(2)
res = {}
for rec in orgs:
count = 0
while count <=50:
try:
- print >> sys.stderr, 'read org ' + rec['name']
+ print('read org ' + rec['name'], file=sys.stderr)
org = site.action.organization_show(id=rec['id'])
break
except ckanapi.errors.CKANAPIError:
count += 1
org = None
- print >> sys.stderr, 'Error read org ' + rec['name']
+ print('Error read org ' + rec['name'], file=sys.stderr)
time.sleep(2)
if not org:
- print >> sys.stderr, 'Network error'
+ print('Network error', file=sys.stderr)
sys.exit(-1)
extras = org['extras']
ati_email = None
@@ -66,7 +66,7 @@ def org_info():
rec['org_title_fr'] = title[1]
rec['ati_email'] = org_dict.get(rec['owner_org'], '')
-print json.dumps({
+print(json.dumps({
'resource_id': '19383ca2-b01a-487d-88f7-e1ffbc7d39c2',
'fields': [
{'id':'year', 'type':'int'},
@@ -85,4 +85,4 @@ def org_info():
'indexes': ['year', 'month'],
'force': True,
'records': list(csv),
-})
+}))
diff --git a/bin/filter/filter_nap5.py b/bin/filter/filter_nap5.py
index 50b685a77..c38e04e1c 100755
--- a/bin/filter/filter_nap5.py
+++ b/bin/filter/filter_nap5.py
@@ -28,7 +28,8 @@
]
def main():
- table = yaml.load(open(TABLE_YAML, 'r'))
+ with open(TABLE_YAML, 'r') as f:
+ table = yaml.load(f, yaml.Loader)
for field in table['resources'][0]['fields']:
if field['datastore_id'] == 'indicators':
break
diff --git a/bin/import_xml2obd.py b/bin/import_xml2obd.py
index cd5e4d1a2..fe9ce264b 100644
--- a/bin/import_xml2obd.py
+++ b/bin/import_xml2obd.py
@@ -30,11 +30,11 @@
import csv
-from azure.storage.blob import BlockBlobService
+from azure.storage.blob import BlobServiceClient
from azure.common import AzureMissingResourceHttpError
from azure.storage.blob import ContentSettings
-import urllib2
+import urllib
import ckanapi
import ckan
from ckanapi.errors import CKANAPIError
@@ -106,7 +106,7 @@ def base64md5str(val):
def read_presets(filename):
with open(filename, 'r') as f:
- _presets = yaml.load(f)
+ _presets = yaml.load(f, yaml.Loader)
return _presets
@@ -379,7 +379,7 @@ def upload_resources(remote_site, api_key, jsonfile, resource_directory):
target_pkg = site.action.package_show(id=rec['id'])
except (NotFound, NotAuthorized):
target_pkg = None
- except (CKANAPIError, urllib2.URLError), e:
+ except (CKANAPIError, urllib2.URLError) as e:
retries -= 1
if retries > 0:
time.sleep(1)
@@ -517,7 +517,7 @@ def pull_docs(conf_file, local_dir):
src = RemoteStorage(src_user, src_key, src_container)
all_docs = src.new_docs()
- print 'total source files ', len(all_docs)
+ print('total source files ', len(all_docs))
xmls = [x for x in all_docs if x[-4:]=='.xml' and x[:-4] in all_docs and
x[:-4] + '.ind' in all_docs]
docs = [x[:-4] for x in xmls]
@@ -652,7 +652,7 @@ def duplicate_docs(file_dir, site_url):
count += 1
except (NotFound, NotAuthorized):
target_pkg = None
- except (CKANAPIError, urllib2.URLError), e:
+ except (CKANAPIError, urllib2.URLError) as e:
sys.stdout.write(
json.dumps([
rec['id'],
@@ -696,6 +696,8 @@ def de_dup2(site_url):
print(vl)
def main():
+ sys.exit("This script has been deprecated. Use ckanapi load instead.")
+
global audience, canada_resource_type,canada_subject
global canada_resource_language, organizations
global canada_resource_format
diff --git a/bin/link_check.py b/bin/link_check.py
index deca0c04a..8f762f9db 100755
--- a/bin/link_check.py
+++ b/bin/link_check.py
@@ -210,7 +210,7 @@ def get_resources(self):
urls = {}
if new_url:
self.test_links(new_url, urls)
- print ('total record count: ', count)
+ print('total record count: ', count)
def dumpBrokenLink(self, csvfile):
outf=open(csvfile, 'wb')
diff --git a/bin/migrate/migrate_cansim_export.py b/bin/migrate/migrate_cansim_export.py
index 69c1e598e..c7c7d551c 100755
--- a/bin/migrate/migrate_cansim_export.py
+++ b/bin/migrate/migrate_cansim_export.py
@@ -66,7 +66,7 @@ def main():
if rec["subject"] in subject_replacements:
rec["subject"] = subject_replacements[rec["subject"]]
else:
- print >> sys.stderr, 'Invalid subject "{0}" for {1}'.format(rec["subject"], rec["id"])
+ print('Invalid subject "{0}" for {1}'.format(rec["subject"], rec["id"]), file=sys.stderr)
continue
rec['author_email'] = 'statcan.infostats-infostats.statcan@canada.ca'
rec['maintainer_email'] = 'statcan.infostats-infostats.statcan@canada.ca'
@@ -122,7 +122,7 @@ def main():
print(simplejson.dumps(rec))
except IOError:
- print >> sys.stderr, 'Error while reading line.'
+ print('Error while reading line.', file=sys.stderr)
except KeyError:
if 'warehouse' in sys.argv:
diff --git a/ckanext/canada/activity.py b/ckanext/canada/activity.py
deleted file mode 100644
index 0d68d3042..000000000
--- a/ckanext/canada/activity.py
+++ /dev/null
@@ -1,43 +0,0 @@
-import ckan.logic as logic
-import ckan.lib.dictization.model_dictize as model_dictize
-from ckan.plugins.toolkit import side_effect_free
-
-
-@logic.validate(logic.schema.default_dashboard_activity_list_schema)
-@side_effect_free
-def recently_changed_packages_activity_list(context, data_dict):
- '''Copied from ckan/ckan/logic/action/get.py
-
- (canada fork only): Sets `include_data` to True
- and uses `side_effect_free`
-
- TODO: Remove this action override in CKAN 2.10 upgrade
-
- Return the activity stream of all recently added or changed packages.
-
- :param offset: where to start getting activity items from
- (optional, default: ``0``)
- :type offset: int
- :param limit: the maximum number of activities to return
- (optional, default: ``31`` unless set in site's configuration
- ``ckan.activity_list_limit``, upper limit: ``100`` unless set in
- site's configuration ``ckan.activity_list_limit_max``)
- :type limit: int
-
- :rtype: list of dictionaries
-
- '''
- # FIXME: Filter out activities whose subject or object the user is not
- # authorized to read.
- model = context['model']
- offset = data_dict.get('offset', 0)
- data_dict['include_data'] = True
- limit = data_dict['limit'] # defaulted, limited & made an int by schema
-
- activity_objects = \
- model.activity.recently_changed_packages_activity_list(
- limit=limit, offset=offset)
-
- return model_dictize.activity_list_dictize(
- activity_objects, context,
- include_data=data_dict['include_data'])
diff --git a/ckanext/canada/assets/datatables/canada_datatables.css b/ckanext/canada/assets/datatables/canada_datatables.css
index a3655f67a..9196a5cae 100644
--- a/ckanext/canada/assets/datatables/canada_datatables.css
+++ b/ckanext/canada/assets/datatables/canada_datatables.css
@@ -63,7 +63,7 @@ div.canada-disabled-view-alert{
min-width: 50%;
width: 50%;
margin-bottom: 5px;
- padding-left: 16px;
+ padding-left: 24px;
padding-right: 10px;
position: relative;
}
@@ -71,8 +71,8 @@ div.canada-disabled-view-alert{
content: '\f096';
font: normal normal normal 14px/1 FontAwesome;
position: absolute;
- left: 0;
- top: 2px;
+ left: 6px;
+ top: 6px;
}
.buttons-collection.buttons-colvis ~ .dt-button-collection.fixed a.buttons-columnVisibility.active::before{
content: '\f046';
diff --git a/ckanext/canada/assets/internal/canada_guess_mimetype.js b/ckanext/canada/assets/internal/canada_guess_mimetype.js
index dcce2bbeb..b507e6cea 100644
--- a/ckanext/canada/assets/internal/canada_guess_mimetype.js
+++ b/ckanext/canada/assets/internal/canada_guess_mimetype.js
@@ -16,6 +16,7 @@ window.addEventListener('load', function(){
.children('#s2id_field-format')
.addClass('conrtol-medium')
.removeClass('form-control')
+ .removeClass('form-select')
.css({'display': 'block'});
}
@@ -33,13 +34,15 @@ window.addEventListener('load', function(){
}
function _guess_mimetype(url){
+ let tokenFieldName = $('meta[name="csrf_field_name"]').attr('content');
+ let tokenValue = $('meta[name="' + tokenFieldName + '"]').attr('content');
+ payload = {'url': url};
+ payload[tokenFieldName] = tokenValue;
$.ajax({
'url': '/api/action/canada_guess_mimetype',
'type': 'POST',
'dataType': 'JSON',
- 'data': {
- 'url': url,
- },
+ 'data': payload,
'complete': function(_data){
if( _data.responseJSON ){ // we have response JSON
if( _data.responseJSON.success ){ // successful format guess
diff --git a/ckanext/canada/assets/internal/canada_internal.css b/ckanext/canada/assets/internal/canada_internal.css
index f033da19c..3e0f349ba 100644
--- a/ckanext/canada/assets/internal/canada_internal.css
+++ b/ckanext/canada/assets/internal/canada_internal.css
@@ -99,104 +99,6 @@ details.alert-error {
div.dt-button-collection {width:50%;}
div.dt-button-collection a.dt-button {display: inline-block}
-.activity {
- margin: 10px 0;
- padding: 0;
- list-style-type: none;
- background: transparent url('../../../base/images/dotted.png') 14px 0 repeat-y
-}
-
-.activity .item {
- position: relative;
- margin: 0 0 15px 0;
- padding: 0;
- *zoom: 1;
-}
-
-.activity .item:before,
-.activity .item:after {
- display: table;
- content: "";
- line-height: 0
-}
-
-.activity .item:after {
- clear: both
-}
-
-.activity .item .icon {
- display: block;
- position: absolute;
- top: 0;
- left: 0;
- width: 30px;
- height: 30px;
- line-height: 30px;
- text-align: center;
- color: #ffffff;
- text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
- font-weight: normal;
- margin-right: 10px;
- -webkit-border-radius: 100px;
- -moz-border-radius: 100px;
- border-radius: 100px;
- -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
- padding-left: 0px;
-}
-
-.activity .item .gravatar {
- -webkit-border-radius: 100px;
- -moz-border-radius: 100px;
- border-radius: 100px
-}
-
-.activity .item .actor .gravatar {
- position: absolute;
- top: 0;
- left: 40px
-}
-
-.activity .item p {
- font-size: 14px;
- line-height: 1.5;
- margin: 5px 0 0 40px
-}
-
-.activity .item .date {
- color: #999;
- font-size: 12px;
- white-space: nowrap
-}
-
-.activity .item .new {
- display: block;
- position: absolute;
- overflow: hidden;
- top: -3px;
- left: -3px;
- width: 10px;
- height: 10px;
- background-color: #A35647;
- border: 1px solid #FFF;
- text-indent: -1000px;
- -webkit-border-radius: 100px;
- -moz-border-radius: 100px;
- border-radius: 100px;
- -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
- -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2)
-}
-
-.activity .item.no-avatar p {
- margin-left: 40px
-}
-
-.activity .load-less {
- margin-bottom: 15px
-}
-
.popover {
width: 300px
}
@@ -231,114 +133,6 @@ div.dt-button-collection a.dt-button {display: inline-block}
margin-bottom: 10px
}
-.activity .item .icon {
- background-color: #999999
-}
-
-.activity .item.failure .icon {
- background-color: #b95252
-}
-
-.activity .item.success .icon {
- background-color: #69a67a
-}
-
-.activity .item.added-tag .icon {
- background-color: #6995a6
-}
-
-.activity .item.changed-group .icon {
- background-color: #767dce
-}
-
-.activity .item.changed-package .icon {
- background-color: #8c76ce
-}
-
-.activity .item.changed-package_extra .icon {
- background-color: #769ace
-}
-
-.activity .item.changed-resource .icon {
- background-color: #aa76ce
-}
-
-.activity .item.changed-user .icon {
- background-color: #76b8ce
-}
-
-.activity .item.changed-organization .icon {
- background-color: #699fa6
-}
-
-.activity .item.deleted-group .icon {
- background-color: #b95252
-}
-
-.activity .item.deleted-package .icon {
- background-color: #b97452
-}
-
-.activity .item.deleted-package_extra .icon {
- background-color: #b95274
-}
-
-.activity .item.deleted-resource .icon {
- background-color: #b99752
-}
-
-.activity .item.deleted-organization .icon {
- background-color: #b95297
-}
-
-.activity .item.new-group .icon {
- background-color: #69a67a
-}
-
-.activity .item.new-package .icon {
- background-color: #69a68e
-}
-
-.activity .item.new-package_extra .icon {
- background-color: #6ca669
-}
-
-.activity .item.new-resource .icon {
- background-color: #81a669
-}
-
-.activity .item.new-user .icon {
- background-color: #69a6a3
-}
-
-.activity .item.new-organization .icon {
- background-color: #81a669
-}
-
-.activity .item.removed-tag .icon {
- background-color: #b95297
-}
-
-.activity .item.deleted-related-item .icon {
- background-color: #b9b952
-}
-
-.activity .item.follow-dataset .icon {
- background-color: #767dce
-}
-
-.activity .item.follow-user .icon {
- background-color: #8c76ce
-}
-
-.activity .item.new-related-item .icon {
- background-color: #95a669
-}
-
-.activity .item.follow-group .icon {
- background-color: #8ba669
-}
-
footer {
margin-top: 15px;
}
@@ -757,3 +551,255 @@ div.canada-datastore-button-fix{
## DataStore Buttons ##
## END ##
#######################*/
+
+
+/*############################
+## CKAN Base CSS Overrides ##
+##############################*/
+body ul.xloader-log li.item{
+ position: relative;
+}
+body ul.xloader-log li.item > i{
+ background-color: white !important;
+ position: absolute;
+ left: 0;
+ top: 0;
+ border-radius: 50%;
+ outline: 4px solid #999999;
+ height: 34px !important;
+ width: 34px !important;
+ padding: 0;
+ margin: 0;
+ line-height: 1 !important;
+ text-align: initial !important;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+}
+body ul.xloader-log li.item > i::before{
+ width: 16px;
+ height: 16px;
+ font-size: 16px;
+ line-height: 1;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ text-align: center;
+ background-color: transparent !important;
+ color: white !important;
+ z-index: 2;
+}
+body ul.xloader-log li.item > i::after{
+ content: '';
+ background-color: #999999 !important;
+ border-radius: 50%;
+ width: 26px;
+ height: 26px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ z-index: 1;
+}
+body ul.xloader-log li.item.success > i{
+ outline-color: #69A67A !important;
+}
+body ul.xloader-log li.item.success > i::after{
+ background-color: #69A67A !important;
+}
+body ul.xloader-log li.item.failure > i{
+ outline-color: #B95252 !important;
+}
+body ul.xloader-log li.item.failure > i::after{
+ background-color: #B95252 !important;
+}
+#s2id_field-department,
+#s2id_field-organizations{
+ min-height: 37px !important;
+}
+#s2id_field-department.select2-container,
+#s2id_field-organizations.select2-container{
+ vertical-align: initial !important;
+ width: 100% !important;
+}
+#s2id_field-department.select2-container,
+#s2id_field-department.select2-container .select2-choice,
+#s2id_field-department.select2-container .select2-chosen,
+#s2id_field-organizations.select2-container,
+#s2id_field-organizations.select2-container .select2-choice,
+#s2id_field-organizations.select2-container .select2-chosen{
+ height: 100% !important;
+}
+#s2id_field-department.select2-container .select2-choice,
+#s2id_field-organizations.select2-container .select2-choice{
+ font-size: 16px !important;
+ line-height: 1.4375 !important;
+ padding: 6px 12px !important;
+}
+#s2id_field-department.select2-container .select2-arrow b,
+#s2id_field-organizations.select2-container .select2-arrow b{
+ background-position-y: -100%;
+}
+.s2id_field-organizations_wrapper{
+ margin-bottom: 0 !important;
+}
+.s2id_field-organizations_wrapper .error-block{
+ margin-top: -8px;
+ padding-top: 8px !important;
+}
+/*###########################
+## END ##
+## CKAN Base CSS Overrides##
+## END ##
+#############################*/
+
+
+/*####################################
+## Recombinaant Base CSS Overrides ##
+######################################*/
+@keyframes fade-opacity-in{
+ from{
+ opacity: 0;
+ pointer-events: none;
+ }
+ to{
+ opacity: 1;
+ pointer-events: all;
+ }
+}
+.canada-pd-org-select-wrapper > .module-content.canada-no-marg{
+ margin-top: 0 !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-container{
+ display: flex !important;
+ width: 100% !important;
+ flex-wrap: nowrap !important;
+ flex-direction: row;
+ min-height: 38px;
+ max-height: 38px;
+ height: 38px;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-label-wrapper{
+ display: block;
+ flex: 0;
+ padding-left: 15px !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-label-wrapper label{
+ font-weight: bold !important;
+ font-size: 16px !important;
+ line-height: 1.4375 !important;
+ border-radius: 0 !important;
+ border: none !important;
+ margin: 0 !important;
+ transition-duration: 0.325s !important;
+ color: #295376 !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper{
+ display: flex;
+ flex: 1;
+ padding-left: 0 !important;
+ padding-right: 0 !important;
+ width: 100%;
+ opacity: 0;
+ pointer-events: none;
+ animation: fade-opacity-in 0.5s ease-in 1s 1 normal forwards;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container,
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .recombinant-org-select1-wrapper select{
+ vertical-align: initial !important;
+ flex: 1;
+ width: auto !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container,
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-choice,
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-chosen,
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .recombinant-org-select1-wrapper select{
+ height: 100% !important;
+ border-radius: 0 !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-choice,
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .recombinant-org-select1-wrapper select{
+ background: #335075 !important;
+ border-color: #335075 !important;
+ box-shadow: none !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-chosen{
+ vertical-align: middle;
+ display: inline-block;
+ width: 95%;
+ height: initial !important;
+ overflow: visible !important;
+ font-weight: bold !important;
+ font-size: 16px !important;
+ line-height: 1.4375 !important;
+ border-radius: 0 !important;
+ border: none !important;
+ margin: 0 !important;
+ margin-top: 4px !important;
+ transition-duration: 0.325s !important;
+ color: white !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .recombinant-org-select1-wrapper{
+ width: 100% !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .recombinant-org-select1-wrapper select{
+ color: white !important;
+ width: 100% !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-arrow{
+ border-radius: 0 !important;
+ background: #335075 !important;
+ border-color: #335075 !important;
+}
+.canada-pd-org-select-wrapper .recombinant-org-select-wrapper .select2-container .select2-arrow b{
+ background-position-y: -100%;
+ color: white !important;
+ border-color: white !important;
+ background-image: url("/data/static/img/select2x2_white.png"), url("/static/img/select2x2_white.png") !important;
+}
+.recombinant-action-panels-container .tabpanels > details{
+ padding: 0 20px 20px 20px !important;
+}
+.canada-wet-datatable-btn-primary{
+ color: white !important;
+ background: #26374a !important;
+ border-color: #1d2a39 !important;
+ transition-duration: 0.325s !important;
+}
+.canada-wet-datatable-btn-primary.disabled{
+ color: white !important;
+ background: #adc0d5 !important;
+ border-color: #9cb3cd !important;
+}
+.canada-wet-datatable-btn-primary:not(.disabled):hover,
+.canada-wet-datatable-btn-primary:not(.disabled):active,
+.canada-wet-datatable-btn-primary:not(.disabled):focus{
+ background: #1c578a !important;
+ border-color: #091c2d !important;
+}
+.canada-wet-datatable-btn-danger{
+ color: white !important;
+ background: #bc3331 !important;
+ border-color: #6b1d1c !important;
+ transition-duration: 0.325s !important;
+}
+.canada-wet-datatable-btn-danger.disabled{
+ color: white !important;
+ background: #ebb3b2 !important;
+ border-color: #e6a1a0 !important;
+}
+.canada-wet-datatable-btn-danger:not(.disabled):hover,
+.canada-wet-datatable-btn-danger:not(.disabled):active,
+.canada-wet-datatable-btn-danger:not(.disabled):focus{
+ background: #942826 !important;
+ border-color: #3b100f !important;
+}
+/*###################################
+## END ##
+## Recombinaant Base CSS Overrides##
+## END ##
+#####################################*/
diff --git a/ckanext/canada/assets/internal/validation_spec.js b/ckanext/canada/assets/internal/validation_spec.js
deleted file mode 100644
index 42e4d4895..000000000
--- a/ckanext/canada/assets/internal/validation_spec.js
+++ /dev/null
@@ -1,27 +0,0 @@
-this.ckan.module('canada-validation-spec', function($){
- return {
- initialize: function (){
- if( typeof goodtablesUI !== 'undefined' ){
- // modifies the goodtablesUI.spec to add custom descriptions and context
- goodtablesUI.spec['errors']['datastore-invalid-header'] = {
- "name": this._("Invalid Header for DataStore"),
- "message": this._("Column name {value} in column {column_number} is not valid for a DataStore header"),
- "description": this._("Column name is invalid for a DataStore header.\n\n How it could be resolved:\n - Remove any leading underscores('_') from the column name.\n - Remove any leading or trailing white space from the column name.\n - Remove any double quotes('\"') from the column name.\n - Make sure the column name is not blank."),
- "type": "custom",
- "context": "head",
- "weight": 7
- };
- goodtablesUI.spec['errors']['datastore-header-too-long'] = {
- "name": this._("Header Too Long for DataStore"),
- "message": this._("Column name {value} in column {column_number} is too long for a DataStore header"),
- "description": this._("Column name is too long for a DataStore header.\n\n How it could be resolved:\n - Make the column name at most 63 characters long."),
- "type": "custom",
- "context": "head",
- "weight": 7
- };
- //TODO: improve description for encoding errors and how to fix them.
- //goodtablesUI.spec['errors']['encoding-error'].description = "";
- }
- }
- };
-});
diff --git a/ckanext/canada/assets/internal/webassets.yml b/ckanext/canada/assets/internal/webassets.yml
index 5d518387c..a927c7947 100644
--- a/ckanext/canada/assets/internal/webassets.yml
+++ b/ckanext/canada/assets/internal/webassets.yml
@@ -38,14 +38,6 @@ guess_mimetype:
- canada_guess_mimetype.js
output: canada_guess_mimetype/%(version)s_canada_guess_mimetype.js
-validation_spec:
- extra:
- preload:
- - base/main
- contents:
- - validation_spec.js
- output: validation_spec/%(version)s_validation_spec.js
-
user_lock:
contents:
- canada_internal_users.js
diff --git a/ckanext/canada/assets/public/canada_public.css b/ckanext/canada/assets/public/canada_public.css
index 17a60f9bb..08cef03c4 100644
--- a/ckanext/canada/assets/public/canada_public.css
+++ b/ckanext/canada/assets/public/canada_public.css
@@ -251,18 +251,112 @@ a#edit-comment-body-0-format-help-about, button#edit-submit,button#edit-actions-
/*###################
## Activity Stream ##
#####################*/
-.activity .item {
+.activity {
+ margin: 10px 0;
+ padding: 0;
+ list-style-type: none;
+ background-image: url('/data/dotted.png'), url('/dotted.png');
+ background-repeat: repeat-y;
+ background-position: 17px 0;
+}
+.activity table{
+ max-width: 100% !important;
+ overflow-x: scroll !important;
+ display: block !important;
+}
+.activity .item{
position: relative;
margin: 0 0 15px 0;
+ padding: 0 0 15px 56px !important;
+ font-size: 14px;
+ line-height: 1.5;
+}
+.activity .item::after,
+.activity .item::before{
+ display: table;
+ content: "";
+ line-height: 0;
+ clear: both;
+}
+.activity .item:not(:last-of-type)::after{
+ content: "";
+ position: absolute;
+ bottom: 0;
+ left: 50%;
+ transform: translateX(-50%);
+ height: 2px;
+ width: 90%;
+ border-radius: 25px;
+ background: #f6f6f6;
+}
+.activity .item .fa-stack{
padding: 0;
+ margin: 0;
+ width: 36px;
+ height: 36px;
+ position: absolute;
+ left: 0;
+ top: 0;
}
-.activity .item .icon {
- padding-left:0;
+.activity .item .fa-stack i{
+ width: 100%;
+ height: 100%;
+ position: absolute !important;
+ top: 50% !important;
+ left: 50% !important;
+ transform: translate(-50%, -50%) !important;
+ margin: 0 !important;
+ line-height: 1 !important;
+ text-align: initial !important;
+}
+.activity .item .fa-stack i::before{
+ position: absolute !important;
+ top: 50% !important;
+ left: 50% !important;
+ transform: translate(-50%, -50%) !important;
+ font-size: 14px;
+}
+.activity .item .gravatar {
+ display: none !important;
+}
+.activity .item .actor {
+ display: none !important;
+}
+.activity .item .date {
+ color: #999;
+ font-size: 12px;
+ white-space: nowrap
+}
+.activity .item .fa-stack i.icon{
+ border: 4px solid white;
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+ font-weight: normal;
+ margin-right: 10px;
+ -webkit-border-radius: 100px;
+ -moz-border-radius: 100px;
+ border-radius: 100px;
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
+ padding-left: 0px;
+}
+.activity .item .fa-stack i.icon::before{
+ width: 40px;
+ height: 40px;
+ font-size: 40px;
}
.activity .item p {
font-size: 14px;
line-height: 1.5;
- margin: 5px 0 0 40px;
+ margin: 0 0 10px 0;
}
.activity .item table{
font-size: 14px;
@@ -271,6 +365,139 @@ a#edit-comment-body-0-format-help-about, button#edit-submit,button#edit-actions-
}
.activity .item table p{
margin: 0;
+ margin-top: 10px;
+}
+.activity .item h2{
+ margin-top: 0 !important;
+}
+.activity .item > div{
+ margin: 0 !important;
+}
+.activity .item .new {
+ display: block;
+ position: absolute;
+ overflow: hidden;
+ top: -3px;
+ left: -3px;
+ width: 10px;
+ height: 10px;
+ background-color: #A35647;
+ border: 1px solid #FFF;
+ text-indent: -1000px;
+ -webkit-border-radius: 100px;
+ -moz-border-radius: 100px;
+ border-radius: 100px;
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2)
+}
+.activity .item.no-avatar p {
+ margin-left: 0;
+}
+.activity .load-less {
+ margin-bottom: 15px;
+}
+.activity .item .icon {
+ background-color: #999999
+}
+.activity .item.failure .icon {
+ background-color: #b95252
+}
+.activity .item.success .icon {
+ background-color: #69a67a
+}
+.activity .item.added-tag .icon {
+ background-color: #6995a6
+}
+.activity .item.changed-group .icon {
+ background-color: #767dce
+}
+.activity .item.changed-package .icon {
+ background-color: #8c76ce
+}
+.activity .item.changed-package_extra .icon {
+ background-color: #769ace
+}
+.activity .item.changed-resource .icon {
+ background-color: #aa76ce
+}
+.activity .item.changed-user .icon {
+ background-color: #76b8ce
+}
+.activity .item.changed-organization .icon {
+ background-color: #699fa6
+}
+.activity .item.changed-resource-view .icon {
+ background-color: #9c89d5
+}
+.activity .item.deleted-group .icon {
+ background-color: #b95252
+}
+.activity .item.deleted-package .icon {
+ background-color: #b97452
+}
+.activity .item.deleted-package_extra .icon {
+ background-color: #b95274
+}
+.activity .item.deleted-resource .icon {
+ background-color: #b99752
+}
+.activity .item.deleted-organization .icon {
+ background-color: #b95297
+}
+.activity .item.deleted-resource-view .icon {
+ background-color: #c06483
+}
+.activity .item.new-group .icon {
+ background-color: #69a67a
+}
+.activity .item.new-package .icon {
+ background-color: #69a68e
+}
+.activity .item.new-package_extra .icon {
+ background-color: #6ca669
+}
+.activity .item.new-resource .icon {
+ background-color: #81a669
+}
+.activity .item.new-user .icon {
+ background-color: #69a6a3
+}
+.activity .item.new-organization .icon {
+ background-color: #81a669
+}
+.activity .item.new-resource-view .icon {
+ background-color: #7caf79
+}
+.activity .item.removed-tag .icon {
+ background-color: #b95297
+}
+.activity .item.deleted-related-item .icon {
+ background-color: #b9b952
+}
+.activity .item.follow-dataset .icon {
+ background-color: #767dce
+}
+.activity .item.follow-user .icon {
+ background-color: #8c76ce
+}
+.activity .item.new-related-item .icon {
+ background-color: #95a669
+}
+.activity .item.follow-group .icon {
+ background-color: #8ba669
+}
+.activity .item.created-datastore .icon{
+ color: #749a5b;
+ background-color: #749a5b;
+}
+.activity .item.changed-datastore .icon{
+ color: #5b939a;
+ background-color: #5b939a;
+}
+.activity .item.deleted-datastore .icon{
+ color: #ac468a;
+ background-color: #ac468a;
}
/*###################
## END ##
@@ -358,6 +585,18 @@ a#edit-comment-body-0-format-help-about, button#edit-submit,button#edit-actions-
}
+.modal .modal-dialog .modal-content .modal-header > h1,
+.modal .modal-dialog .modal-content .modal-header > h2,
+.modal .modal-dialog .modal-content .modal-header > h3,
+.modal .modal-dialog .modal-content .modal-header > h4,
+.modal .modal-dialog .modal-content .modal-header > h5,
+.modal .modal-dialog .modal-content .modal-header > h6{
+
+ color: white;
+ margin: 0;
+
+}
+
body #resource-schema-buttons div.form-group > a.btn:nth-of-type(2){
display: none !important;
@@ -446,6 +685,15 @@ form#user-edit-form > fieldset:first-of-type{
## Resource Item ##
###################*/
+.canada-edit-resource-panel{
+ margin: -15px -15px 8px -15px !important;
+}
+
+.canada-edit-resource-info div.nums{
+ margin: 0 !important;
+ padding: 0 !important;
+}
+
/* Dataset Index */
ul.resource-list > li.resource-item{
display: flex;
@@ -521,7 +769,7 @@ ul.resource-list > li.resource-item > div.canada-resource-list-badges{
}
.resources-side-panel .nav-item > a{
padding-left: 15px;
- padding-right: 65px;
+ padding-right: 35px;
margin-left: 0 !important;
margin-right: 0 !important;
position: relative;
@@ -540,7 +788,6 @@ ul.resource-list > li.resource-item > div.canada-resource-list-badges{
}
}
.resources-side-panel .nav-item.active a{
- pointer-events: none !important;
cursor: default !important;
color: #295376 !important;
}
@@ -553,14 +800,19 @@ ul.resource-list > li.resource-item > div.canada-resource-list-badges{
.resources-side-panel .nav-item .dropdown.position-absolute{
position: absolute !important;
right: 0 !important;
- top: 50% !important;
- transform: translateY(-50%) !important;
+ top: 0 !important;
+ bottom: 0 !important;
margin-right: 0 !important;
}
.resources-side-panel .nav-item .dropdown.position-absolute > .btn-light{
- background-color: #eaebed !important;
+ background-color: #eeeeee !important;
border-color: #dcdee1 !important;
color: #335075 !important;
+ border-radius: 0 !important;
+ box-shadow: none !important;
+ border: none !important;
+ height: 100%;
+ width: 46px !important;
}
.resources-side-panel .nav-item .dropdown.position-absolute > .btn-light:hover,
.resources-side-panel .nav-item .dropdown.position-absolute > .btn-light:active,
@@ -568,6 +820,9 @@ ul.resource-list > li.resource-item > div.canada-resource-list-badges{
background-color: #cfd1d5 !important;
border-color: #bbbfc5 !important;
}
+.resources-side-panel .nav-item .dropdown.position-absolute > .btn-light:focus{
+ outline: auto !important;
+}
.resources-side-panel .nav-item .dropdown.position-absolute.open{
z-index: 100 !important;
}
@@ -591,8 +846,92 @@ ul.resource-list > li.resource-item > div.canada-resource-list-badges{
background-color: #cfd1d5 !important;
border-color: #bbbfc5 !important;
}
+.resources-side-section .panel-body.resources-side-panel{
+ padding: 0 !important;
+}
+.resources-side-section .panel-body > ul > li{
+ position: relative !important;
+ min-height: 80px;
+ padding: 0 !important;
+ width: 100%;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ align-items: end;
+ background: transparent !important;
+}
+.resources-side-section .panel-body > ul > li:last-of-type,
+.resources-side-section .panel-body > ul > li:last-of-type a{
+ border-bottom-left-radius: 3px !important;
+ border-bottom-right-radius: 3px !important;
+}
+.resources-side-section .panel-body > ul > li:last-of-type .dropdown.position-absolute > .btn-light{
+ border-bottom-right-radius: 3px !important;
+}
+.resources-side-section .panel-body > ul > li:not(:first-of-type){
+ border-top: 1px dotted #6f6f6f !important;
+}
+.resources-side-section .panel-body > ul{
+ min-height: 80px;
+}
+.resources-side-section .resources-side-section-item-link{
+ position: absolute !important;
+ display: block !important;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ width: calc(100% - 46px) !important;
+ height: 100%;
+ transition-duration: 0.325s !important;
+ text-decoration: none !important;
+ color: #284162 !important;
+}
+.resources-side-section .resources-side-section-item-link:hover,
+.resources-side-section .resources-side-section-item-link:active,
+.resources-side-section .resources-side-section-item-link:focus{
+ text-decoration: none !important;
+ color: #284162 !important;
+}
+.resources-side-section .resources-side-section-item-title-container{
+ position: relative;
+ overflow: clip;
+}
+.resources-side-section .resources-side-section-item-badges{
+ margin-left: 15px;
+ margin-bottom: 15px;
+ margin-top: 52px;
+ margin-right: 50px;
+ z-index: 2;
+ pointer-events: none;
+}
+@media all and (max-width: 992px){
+ .resources-side-section .resources-side-section-item-badges{
+ margin-top: 60px;
+ }
+}
+@media all and (max-width: 768px){
+ .resources-side-section .resources-side-section-item-badges{
+ margin-top: 52px;
+ }
+}
+.resources-side-section .resources-side-section-item-badges .badge{
+ margin-bottom: 3px;
+}
+.resources-side-section .nav-item.active div.dropdown{
+ display: none !important;
+}
+.resources-side-panel.resources-side-panel-no-edit .nav-item > a,
+.resources-side-panel .nav-item.active > a{
+ padding-right: 15px !important;
+ width: 100% !important;
+}
/* END - Side Panel - END */
+.canada-reorder-resources-wrapper .resource-list{
+ margin: 0 0 10px 0 !important;
+}
+
/* Resource Action Buttons */
.module-resource .actions {
top: unset;
@@ -722,19 +1061,6 @@ body i.fa.fa-arrow-left::before{
## END ##
####################################*/
-
-/*##################################
-## Resource Actions Toolbar Area ##
-###################################*/
-.resource-actions-toolbar ul.gap-1 > li{
- margin-right: 5px !important;
-}
-/*##################################
-## END ##
-## Resource Actions Toolbar Area ##
-## END ##
-####################################*/
-
/*###################
## Flash Messages ##
#####################*/
@@ -742,9 +1068,27 @@ body i.fa.fa-arrow-left::before{
z-index: 2;
}
.canada-flash-messages .alert{
- padding-right: 15px;
+ padding-right: 28px;
position: relative;
}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+@keyframes flash-fade-in-alert{
+ 0% {
+ opacity: 0;
+ }
+ 33% {
+ opacity: 0.25;
+ }
+ 67% {
+ opacity: 0.75;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+.canada-flash-messages .alert.fade.show{
+ animation: flash-fade-in-alert 1.325s ease-in 0.325s forwards !important;
+}
@keyframes flash-fade-in-close-button{
0% {
visibility: hidden;
@@ -759,7 +1103,7 @@ body i.fa.fa-arrow-left::before{
opacity: 0.625;
}
}
-.canada-flash-messages .flash-messages a.close{
+.canada-flash-messages .flash-messages button.close{
display: block;
position: absolute;
top: 5px;
@@ -767,11 +1111,18 @@ body i.fa.fa-arrow-left::before{
padding-bottom: 0;
visibility: hidden;
opacity: 0;
- animation: flash-fade-in-close-button 2s ease-in 1s forwards;
+ animation: flash-fade-in-close-button 2s ease-in 1s forwards !important;
+ padding: 0 !important;
+}
+.canada-flash-messages .flash-messages button.close::after{
+ content: '\f00d';
+ font-family: 'FontAwesome';
+ font-size: 18px;
+ vertical-align: text-top;
}
-.canada-flash-messages .flash-messages a.close:hover,
-.canada-flash-messages .flash-messages a.close:active,
-.canada-flash-messages .flash-messages a.close:focus{
+.canada-flash-messages .flash-messages button.close:hover,
+.canada-flash-messages .flash-messages button.close:active,
+.canada-flash-messages .flash-messages button.close:focus{
color: #335075;
}
body .alert a.btn-default{
@@ -784,6 +1135,10 @@ body .alert a.btn-danger{
body .alert a.btn-warning{
color: black !important;
}
+.canada-flash-messages .flash-messages .alert:not(.alert-dismissible) button.close{
+ display: none !important;
+ pointer-events: none !important;
+}
/*###################
## END ##
## Flash Messages ##
@@ -813,6 +1168,42 @@ body .alert a.btn-warning{
max-height: 100%;
height: 100%;
}
+.canada-search-filters-title{
+ margin-bottom: 10px;
+}
+.canada-search-filters-title h2{
+ margin-top: 0 !important;
+}
+.canada-search-filters-title a{
+ text-decoration: none !important;
+}
+.canada-search-field-wrapper{
+ width: 100% !important;
+ display: flex !important;
+ flex-direction: row;
+ flex-wrap: nowrap;
+}
+.canada-search-field-wrapper input#search_field{
+ flex: 1;
+}
+.canada-search-field-wrapper span.input-group-btn{
+ width: 40px;
+ max-width: 40px;
+ min-width: 40px;
+}
+.canada-search-form-options-wrapper{
+ width: 100% !important;
+ display: flex !important;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+}
+.canada-search-form-options-wrapper select{
+ display: inline-block !important;
+}
+.canada-org-result-text{
+ font-size: 16px !important;
+}
/*#######################
## END ##
## Header Search Form ##
@@ -866,7 +1257,6 @@ div.canada-job-list-title small{
border-bottom-left-radius: 0 !important;
border-bottom-right-radius: 0 !important;
}
-
.canada-dashboard-panel{
border-top-left-radius: 0 !important;
}
@@ -892,6 +1282,399 @@ body, body .module-grid, body .media-grid, body .main, body .account-masthead, b
## END ##
################################*/
+/*############################
+## CKAN Base CSS Overrides ##
+##############################*/
+body .text-info{
+ color: #31708f !important;
+}
+body .bg-info{
+ background-color: #d9edf7 !important;
+}
+body .text-warning{
+ color: #8a6d3b !important;
+}
+body .bg-warning{
+ background-color: #fcf8e3 !important;
+}
+body .text-danger{
+ color: #a94442 !important;
+}
+body .bg-danger{
+ background-color: #f2dede !important;
+}
+body .error-block,
+body .error-inline{
+ font-size: 12px !important;
+ line-height: 23px !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .btn.btn-light{
+ color: #335075 !important;
+ background-color: #eaebed !important;
+ border-color: #dcdee1 !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+a[class="btn"],
+button[class="btn"]{
+ color: #335075;
+ background-color: #eaebed;
+ border-color: #dcdee1;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+a[class="btn"]:hover,
+a[class="btn"]:active,
+a[class="btn"]:focus,
+button[class="btn"]:hover,
+button[class="btn"]:active,
+button[class="btn"]:focus{
+ background-color: #cfd1d5;
+ border-color: #bbbfc5;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .btn.btn-light:active,
+body .btn.btn-light:focus,
+body .btn.btn-light:hover{
+ background-color: #cfd1d5 !important;
+ border-color: #bbbfc5 !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .module-heading{
+ padding: 10px 25px !important;
+ font-size: 14px !important;
+ line-height: 1.3 !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .module-narrow .module-heading{
+ padding-left: 15px !important;
+ padding-right: 15px !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .accordion-button{
+ font-size: 16px !important;
+ line-height: 1.3 !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .accordion-header{
+ margin: 0 !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .accordion{
+ margin-bottom: 15px !important;
+}
+body .resource-upload-field i.fa{
+ margin-right: 4px !important;
+}
+body form#form-purge-all a.purge-all{
+ margin-bottom: 15px !important;
+}
+body .canada-admin-trash #accordion-group{
+ display: none !important;
+}
+@keyframes modal-fade-in{
+ 0% {
+ opacity: 0;
+ }
+ 33% {
+ opacity: 0.25;
+ }
+ 67% {
+ opacity: 0.75;
+ }
+ 100% {
+ opacity: 1;
+ }
+}
+@keyframes modal-fade-out{
+ 0% {
+ opacity: 1;
+ }
+ 33% {
+ opacity: 0.75;
+ }
+ 67% {
+ opacity: 0.25;
+ }
+ 100% {
+ opacity: 0;
+ }
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .modal.fade,
+body .popover.fade{
+ animation: modal-fade-out 0.325s ease-in 0s forwards !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .modal.fade.show,
+body .popover.fade.show{
+ animation: modal-fade-in 0.325s ease-in 0s forwards !important;
+}
+body .popover .popover-header{
+ margin: 0 !important;
+ font-size: 16px !important;
+ padding: 8px 14px !important;
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+@media all and (max-width: 768px){
+ body div#wb-bnr > div.row{
+ flex-direction: row-reverse;
+ }
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .form-select{
+ appearance: auto !important;
+ -webkit-appearance: auto !important;
+ -moz-appearance: auto !important;
+}
+body #timeout,
+body .modal{
+ background: rgba(0, 0, 0, 0.15) !important;
+}
+body #timeout > .modal-dialog{
+ position: absolute !important;
+ top: 50% !important;
+ left: 50% !important;
+ transform: translate(-50%, -25%) !important;
+}
+@media all and (max-width: 768px){
+ body #timeout > .modal-dialog{
+ top: 35% !important;
+ max-width: 80% !important;
+ min-width: 80% !important;
+ width: 80% !important;
+ }
+}
+/* BS4+ Fix. TODO: remove after upgrade to BS4+ */
+body .modal .modal-dialog .modal-content button.btn-close{
+ background: transparent url("data:image/svg+xml,") center/1em auto no-repeat;
+}
+body .panel-title > .label.label-info,
+body h1 > .label.label-info{
+ display: inline-block;
+ vertical-align: bottom;
+}
+body .clear-fix{
+ clear: both !important;
+}
+body .canada-flex{
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ width: 100%;
+}
+@media all and (max-width: 768px){
+ body .canada-flex{
+ flex-wrap: wrap;
+ }
+}
+body .accordion-heading{
+ margin: 0 !important;
+}
+body .accordion-button{
+ padding-right: 25px !important;
+}
+body .accordion-button.no-after{
+ background-color: #f5f5f5 !important;
+ color: #333333 !important;
+}
+body .accordion-button.no-after::after{
+ background-image: none !important;
+}
+form[action*="/dictionary/"] h3:first-of-type{
+ margin-top: 0 !important;
+}
+div.btn-group:not(.dropdown){
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+}
+footer#wb-info{
+ margin-top: 36px !important;
+}
+.canada-resource-dropdown-explore a{
+ text-decoration: none !important;
+}
+/*###########################
+## END ##
+## CKAN Base CSS Overrides##
+## END ##
+#############################*/
+
+/*########################
+## Page Action Toolbar ##
+##########################*/
+.canada-action-toolbar{
+ margin-top: 0;
+ min-height: auto !important;
+ width: 100% !important;
+}
+
+.canada-action-toolbar header{
+ margin-top: 15px;
+ margin-bottom: 0 !important;
+ width: 100% !important;
+ display: flex;
+ flex-direction: row-reverse;
+ flex-wrap: nowrap;
+ justify-content: space-between;
+ border-radius: 0 !important;
+ background: #E1E4E7 !important;
+ border-bottom: 1px solid #D3D4D8;
+ border-top: 1px solid #D3D4D8;
+}
+
+@media all and (max-width: 992px){
+ .canada-action-toolbar header{
+ flex-wrap: wrap;
+ }
+}
+
+.canada-action-toolbar header .nav a{
+ font-weight: bold !important;
+ font-size: 16px !important;
+ line-height: 1.4375 !important;
+ border-radius: 0 !important;
+ border: none !important;
+ margin: 0 !important;
+ transition-duration: 0.325s !important;
+}
+
+.canada-action-toolbar header .nav li:not(.active) a:hover,
+.canada-action-toolbar header .nav li:not(.active) a:active,
+.canada-action-toolbar header .nav li:not(.active) a:focus{
+ background: #EEEFF1 !important;
+}
+
+.canada-action-toolbar header .nav li.active a{
+ background-color: #335075 !important;
+ color: white !important;
+ pointer-events: none !important;
+}
+
+.canada-action-toolbar header .content_action a{
+ font-weight: bold !important;
+ font-size: 16px !important;
+ line-height: 1.4375 !important;
+ border-radius: 0 !important;
+ border: none !important;
+ background: #f6f6f6 !important;
+ transition-duration: 0.325s !important;
+}
+
+.canada-action-toolbar header .content_action a:not(:last-of-type){
+ margin-right: 5px !important;
+}
+
+.canada-action-toolbar header .content_action a:hover,
+.canada-action-toolbar header .content_action a:active,
+.canada-action-toolbar header .content_action a:focus{
+ background: #335075 !important;
+ color: white !important;
+}
+
+.canada-action-toolbar header::after{
+ content: none !important;
+}
+
+.canada-action-toolbar header > *{
+ position: relative !important;
+ display: block !important;
+ float: none !important;
+ margin: 0 !important;
+}
+
+.module-resource .module-content > .actions{
+ float: none !important;
+ margin-top: 0 !important;
+ min-height: auto !important;
+ width: 100% !important;
+ display: block !important;
+}
+
+.resource-actions-toolbar{
+ float: none !important;
+ margin-top: 15px !important;
+ min-height: auto !important;
+ width: 100% !important;
+ display: block !important;
+ background: #E1E4E7 !important;
+ border-bottom: 1px solid #D3D4D8;
+ border-top: 1px solid #D3D4D8;
+ border-radius: 0 !important;
+ margin-bottom: 15px !important;
+}
+
+.resource-actions-toolbar.resource-actions-toolbar-portal{
+ background: transparent !important;
+ border-top-color: transparent !important;
+ border-bottom-color: transparent !important;
+}
+
+.resource-actions-toolbar > ul{
+ width: 100% !important;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: nowrap;
+ padding: 0 !important;
+ margin: 0 !important;
+}
+
+@media all and (max-width: 992px){
+ .resource-actions-toolbar > ul{
+ flex-wrap: wrap;
+ }
+}
+
+.resource-actions-toolbar >ul >li{
+ margin: 0 !important;
+}
+
+.resource-actions-toolbar >ul a.btn-default{
+ font-weight: bold !important;
+ font-size: 16px !important;
+ line-height: 1.4375 !important;
+ border-radius: 0 !important;
+ border: none !important;
+ background: #E1E4E7 !important;
+ transition-duration: 0.325s !important;
+ min-height: auto !important;
+ box-shadow: none !important;
+}
+
+.resource-actions-toolbar >ul a.btn-default:hover,
+.resource-actions-toolbar >ul a.btn-default:active,
+.resource-actions-toolbar >ul a.btn-default:focus{
+ background: #EEEFF1 !important;
+}
+
+.resource-actions-toolbar >ul a.btn-default:focus{
+ outline: auto !important;
+}
+
+.resource-actions-toolbar .resource-actions-toolbar-spacer{
+ flex: 1;
+}
+
+.resource-actions-toolbar .resource-actions-toolbar-spacer ~ li a{
+ border-radius: 0 !important;
+ border: none !important;
+}
+
+.resource-actions-toolbar .resource-actions-toolbar-spacer ~ li button.dropdown-toggle{
+ border-radius: 0 !important;
+ border: none !important;
+}
+
+.resource-actions-toolbar .resource-actions-toolbar-spacer ~ li:not(:last-of-type){
+ margin-right: 5px !important;
+}
+/*########################
+## END ##
+## Page Action Toolbar ##
+## END ##
+##########################*/
+
+
/*##############################
## CDTS Application Template ##
################################*/
diff --git a/ckanext/canada/assets/public/csrf.js b/ckanext/canada/assets/public/csrf.js
deleted file mode 100644
index 385a6e209..000000000
--- a/ckanext/canada/assets/public/csrf.js
+++ /dev/null
@@ -1,41 +0,0 @@
-window.addEventListener('load', function(){
-
- $(document).ready(function(){
-
- let confirmActions = $("[data-module='confirm-action']");
-
- if( confirmActions.length > 0 ){
-
- $(confirmActions).each(function(){
-
- let form = $(this).closest('form');
- let href_attr = $(this).attr('href');
-
- let hasToken = false;
-
- if (
- href_attr.length > 0 &&
- (
- href_attr.includes('?token') ||
- href_attr.includes('&token')
- )
- ){
-
- hasToken = true;
-
- }
-
- // only use the closest form if it exists
- // and if the confirm-action html element
- // does not have a token in the href attribute
- if ( form.length > 0 && ! hasToken ){
- $(this).attr('data-module-with-data', 'true');
- }
-
- });
-
- }
-
- });
-
-});
diff --git a/ckanext/canada/assets/public/webassets.yml b/ckanext/canada/assets/public/webassets.yml
index 7d15e4fda..95bb7b309 100644
--- a/ckanext/canada/assets/public/webassets.yml
+++ b/ckanext/canada/assets/public/webassets.yml
@@ -13,11 +13,6 @@ check_all:
- check_all.js
output: canada_public/%(version)s_check_all.js
-csrf:
- contents:
- - csrf.js
- output: canada_public/%(version)s_csrf.js
-
geomap_zoom:
contents:
- geomapzoom.js
diff --git a/ckanext/canada/auth.py b/ckanext/canada/auth.py
index 7a598d7f7..8bbb1acd5 100644
--- a/ckanext/canada/auth.py
+++ b/ckanext/canada/auth.py
@@ -51,3 +51,10 @@ def organization_list(context, data_dict):
def organization_show(context, data_dict):
return {'success': bool(context.get('user'))}
+
+
+def recently_changed_packages_activity_list(context, data_dict):
+ """
+ Legacy, anyone can view.
+ """
+ return {'success': True}
diff --git a/ckanext/canada/checks.py b/ckanext/canada/checks.py
index c3e1fa84f..c9e7f87f2 100644
--- a/ckanext/canada/checks.py
+++ b/ckanext/canada/checks.py
@@ -1,37 +1,57 @@
-from copy import copy
-from goodtables import check, Error
+import attrs
+from frictionless import Check
+from frictionless.errors import HeaderError
from ckan.plugins.toolkit import _
from ckanext.datastore.helpers import is_valid_field_name
-@check('ds-headers', type='custom', context='head')
-def ds_headers_check(cells, sample=None):
- # type: (list[dict], list[dict]|None) -> list[Error|None]
- """
- Checks header values against the DataStore constraints
- """
- errors = []
- for cell in copy(cells):
-
- # Skip if not header
- if 'header' not in cell:
- continue
-
- errored = False
-
- if not is_valid_field_name(cell['value']):
- errors.append(Error('datastore-invalid-header', cell,
- message=_("Column name {value} in column {column_number} is not valid for a DataStore header"),
- message_substitutions={'value': cell['value'],}))
- errored = True
- if len(cell['value']) > 63:
- errors.append(Error('datastore-header-too-long', cell,
- message=_("Column name {value} in column {column_number} is too long for a DataStore header"),
- message_substitutions={'value': cell['value'],}))
- errored = True
-
- if errored:
- cells.remove(cell)
-
- return errors
+class DatastoreInvalidHeader(HeaderError):
+ type = "datastore-invalid-header"
+ title = _("Invalid Header for DataStore")
+ description = _("Column name is invalid for a DataStore header.\n\n How it could be resolved:\n - Remove any leading underscores('_') from the column name.\n - Remove any leading or trailing white space from the column name.\n - Remove any double quotes('\"') from the column name.\n - Make sure the column name is not blank.")
+ template = _("Column name {value} in column {column_number} is not valid for a DataStore header")
+
+
+class DatastoreTooLongHeader(HeaderError):
+ type = "datastore-header-too-long"
+ title = _("Header Too Long for DataStore")
+ description = _("Column name is too long for a DataStore header.\n\n How it could be resolved:\n - Make the column name at most 63 characters long.")
+ template = _("Column name {value} in column {column_number} is too long for a DataStore header")
+
+
+@attrs.define(kw_only=True, repr=False)
+class DatastoreHeadersCheck(Check):
+ type = "ds-headers"
+ Errors = [DatastoreInvalidHeader, DatastoreTooLongHeader]
+
+ # Validate
+
+ def validate_start(self):
+ index = 0
+ for header in self.resource.labels:
+ if not is_valid_field_name(header):
+ yield DatastoreInvalidHeader(
+ note=_("Column name {value} in column {column_number} is not valid for a DataStore header").format(value=header,
+ column_number=index),
+ labels=[header],
+ row_numbers=[index]
+ )
+
+ if len(header) > 63:
+ yield DatastoreTooLongHeader(
+ note=_("Column name {value} in column {column_number} is too long for a DataStore header").format(value=header,
+ column_number=index),
+ labels=[header],
+ row_numbers=[index]
+ )
+
+
+ index += 1
+
+ # Metadata
+
+ metadata_profile_patch = {
+ "type": "object",
+ "properties": {},
+ }
diff --git a/ckanext/canada/cli.py b/ckanext/canada/cli.py
index b219e426f..a19c5356e 100644
--- a/ckanext/canada/cli.py
+++ b/ckanext/canada/cli.py
@@ -19,6 +19,8 @@
from ckan.logic import get_action
from ckan import model
+from ckan.cli.db import db
+from itertools import groupby
from ckanapi import (
RemoteCKAN,
@@ -1407,7 +1409,13 @@ def set_datastore_false_for_invalid_resources(resource_id=None, delete_table_vie
help='Submits the resources to Xloader instead of Validation. Will Xloader even if file hash has not changed.')
@click.option('-f', '--failed', is_flag=True, type=click.BOOL,
help='Only re-submit resources that failed. Mutually exclusive with --empty-only.')
-def resubmit_datastore_resources(resource_id=None, empty_only=False, verbose=False, quiet=False, list=False, xloader=False, failed=False):
+@click.option('-s', '--sync', is_flag=True, type=click.BOOL,
+ help='Run validation jobs in sync mode.')
+@click.option('-i', '--skip-xloader', is_flag=True, type=click.BOOL,
+ help='Skip submitting to Xloader after Validation.')
+def resubmit_datastore_resources(resource_id=None, empty_only=False, verbose=False, quiet=False,
+ list=False, xloader=False, failed=False, sync=False,
+ skip_xloader=False):
"""
Re-submits valid DataStore Resources to Validation OR Xloader (use --xloader).
"""
@@ -1561,6 +1569,7 @@ def resubmit_datastore_resources(resource_id=None, empty_only=False, verbose=Fal
status = 1
max = len(resource_ids_to_submit)
+ async_mode = False if sync else True
for id in resource_ids_to_submit:
if list:
click.echo(id)
@@ -1570,8 +1579,11 @@ def resubmit_datastore_resources(resource_id=None, empty_only=False, verbose=Fal
get_action('xloader_submit')(context, {"resource_id": id, "ignore_hash": True})
msg = "%s/%s -- Submitted Resource %s to Xloader" % (status, max, id)
else:
- get_action('resource_validation_run')(context, {"resource_id": id, "async": True})
- msg = "%s/%s -- Submitted Resource %s to Validation" % (status, max, id)
+ get_action('resource_validation_run')(context, {"resource_id": id, "async": async_mode, "skip_xloader": skip_xloader})
+ if async_mode:
+ msg = "%s/%s -- Submitted Resource %s to Validation" % (status, max, id)
+ else:
+ msg = "%s/%s -- Ran Resource %s through Validation" % (status, max, id)
if verbose:
click.echo(msg)
except Exception as e:
@@ -1579,7 +1591,10 @@ def resubmit_datastore_resources(resource_id=None, empty_only=False, verbose=Fal
if xloader:
errors.write('Failed to submit Resource %s to Xloader with errors:\n\n%s' % (id, e))
else:
- errors.write('Failed to submit Resource %s to Validation with errors:\n\n%s' % (id, e))
+ if async_mode:
+ errors.write('Failed to submit Resource %s to Validation with errors:\n\n%s' % (id, e))
+ else:
+ errors.write('Failed to run Resource %s through Validation with errors:\n\n%s' % (id, e))
errors.write('\n')
traceback.print_exc(file=errors)
pass
@@ -1593,7 +1608,10 @@ def resubmit_datastore_resources(resource_id=None, empty_only=False, verbose=Fal
if xloader:
_success_message('Re-submitted %s Resources to Xloader.' % len(resource_ids_to_submit))
else:
- _success_message('Re-submitted %s Resources to Validation.' % len(resource_ids_to_submit))
+ if async_mode:
+ _success_message('Re-submitted %s Resources to Validation.' % len(resource_ids_to_submit))
+ else:
+ _success_message('Ran %s Resources through Validation.' % len(resource_ids_to_submit))
elif not resource_ids_to_submit:
_success_message('No valid, empty DataStore Resources to re-submit at this time.')
@@ -1757,6 +1775,58 @@ def delete_table_view_from_non_datastore_resources(resource_id=None, verbose=Fal
_success_message('No datatables_view(s) at this time.')
+@db.command("resolve_duplicate_emails", short_help="Resolve duplicate emails by deactivating all but the first created user.")
+@click.option("-q", "--quiet", is_flag=True, help="Suppress human interaction.", default=False)
+@click.option("-v", "--verbose", is_flag=True, help="Increase verbosity", default=False)
+def resolve_duplicate_emails(quiet=False, verbose=False):
+ """Resolve duplicate emails by deactivating all but the first created user."""
+
+ q = model.Session.query(model.User.email,
+ model.User.name,
+ model.User.created) \
+ .filter(model.User.state == "active") \
+ .filter(model.User.email != "") \
+ .order_by(model.User.email).all()
+
+ duplicates_found = False
+ users_to_delete = []
+ try:
+ for k, grp in groupby(q, lambda x: x[0]):
+ users = [(user[1], user[2]) for user in grp]
+ _users = sorted(users, key=lambda x: x[1])
+ if len(users) > 1:
+ duplicates_found = True
+ _users = sorted(users, key=lambda x: x[1])
+ if verbose:
+ click.echo('\n- Going to keep user %s' % _users[0][0])
+ for user, created in _users[1:]:
+ if user not in users_to_delete:
+ if verbose:
+ click.echo('- Going to deactivate user %s' % user)
+ users_to_delete.append(user)
+ if verbose:
+ click.echo('\n')
+ except Exception as e:
+ _error_message(str(e))
+ return
+ if users_to_delete:
+ if not quiet:
+ click.confirm("\nAre you sure you want to deactivate {num} duplicate users?"
+ .format(num=len(users_to_delete)), abort=True)
+ for user in users_to_delete:
+ try:
+ get_action('user_delete')({'ignore_auth': True}, {'id': user})
+ if verbose:
+ click.echo('- Deactivated user %s' % user)
+ except Exception as e:
+ if verbose:
+ _error_message(str(e))
+
+ click.echo("\nDeactivated {num} duplicate users".format(num=len(users_to_delete)))
+ if not duplicates_found:
+ _success_message('No duplicate emails found')
+
+
@canada.command(short_help="Generates the report for dataset Opennes Ratings.")
@click.option('-v', '--verbose', is_flag=True, type=click.BOOL, help='Increase verbosity.')
@click.option('-d', '--details', is_flag=True, type=click.BOOL, help='Include more dataset details.')
diff --git a/ckanext/canada/helpers.py b/ckanext/canada/helpers.py
index 10709dc37..4909a1594 100755
--- a/ckanext/canada/helpers.py
+++ b/ckanext/canada/helpers.py
@@ -2,15 +2,16 @@
import re
import inspect
from ckan.plugins.toolkit import config, _, h, g, request
-from ckan.model import User, Package, Activity
+from ckan.model import User, Package
+from ckanext.activity.model import Activity
import ckan.model as model
import datetime
import unicodedata
import ckan as ckan
-import jinja2
import html
from six import text_type
from bs4 import BeautifulSoup
+from ckan import plugins
from ckanapi import NotFound
from ckantoolkit import aslist
@@ -513,14 +514,14 @@ def recombinant_description_to_markup(text):
markup = []
for i, part in enumerate(re.split(url_pattern, h.recombinant_language_text(text))):
if i % 2:
- markup.append(jinja2.Markup('{1}'.format(part, jinja2.escape(part))))
+ markup.append(Markup('{1}'.format(part, escape(part))))
else:
- markup.extend(jinja2.Markup('
'.join(
- jinja2.escape(t) for t in part.split('\n')
+ markup.extend(Markup('
'.join(
+ escape(t) for t in part.split('\n')
)))
# extra dict because language text expected and language text helper
# will cause plain markup to be escaped
- return {'en': jinja2.Markup(''.join(markup))}
+ return {'en': Markup(''.join(markup))}
def mail_to_with_params(email_address, name, subject, body):
@@ -591,7 +592,7 @@ def organization_member_count(id):
return len(members)
-def _build_flash_html_for_ga4(message, category, caller):
+def _build_flash_html_for_ga4(message, category, caller, allow_html=True):
"""
All flash messages will be given an event name and action attribute.
@@ -599,7 +600,7 @@ def _build_flash_html_for_ga4(message, category, caller):
data-ga-action: CATEGORY in format of notice | error | success
"""
return '
__bold text__
_italic text_
* list
* of
* " -"items1. numbered
2. list
3. of " -"itemshttps://auto.link.ed/
[Formatted " -"Link](https://formatted.link)
> block quote
Please note: HTML tags are stripped out for security " -"reasons
" +#: ckanext/canada/strings.py:70 +#, python-format +msgid "User %s deleted." msgstr "" -#: ckanext/canada/strings.py:70 +#: ckanext/canada/strings.py:73 msgid "Please upload a file or link to an external resource" msgstr "" -#: ckanext/canada/strings.py:71 +#: ckanext/canada/strings.py:74 msgid "Cannot upload files of this type" msgstr "" -#: ckanext/canada/strings.py:72 +#: ckanext/canada/strings.py:75 msgid "Cannot link files of this type" msgstr "" -#: ckanext/canada/strings.py:73 +#: ckanext/canada/strings.py:76 msgid "Your password must be {} characters or longer." msgstr "" -#: ckanext/canada/strings.py:74 +#: ckanext/canada/strings.py:77 msgid "" "Your password must consist of at least three of the following character sets:" " uppercase characters, lowercase characters, digits, punctuation & special " "characters." msgstr "" -#: ckanext/canada/strings.py:76 +#: ckanext/canada/strings.py:79 msgid "Your password cannot be the same as your username." msgstr "" -#: ckanext/canada/strings.py:79 +#: ckanext/canada/strings.py:81 +msgid "" +"Your current password is too weak. Please create a new password before " +"logging in again." +msgstr "" + +#: ckanext/canada/strings.py:84 msgid "These fields have been removed, click update below to save your changes." msgstr "" -#: ckanext/canada/strings.py:80 +#: ckanext/canada/strings.py:85 msgid "These fields have been removed." msgstr "" -#: ckanext/canada/strings.py:83 +#: ckanext/canada/strings.py:88 msgid "Your form submission could not be validated, please re-submit the form." msgstr "" -#: ckanext/canada/strings.py:86 +#: ckanext/canada/strings.py:91 msgid "Open Government Portal" msgstr "" -#: ckanext/canada/strings.py:87 +#: ckanext/canada/strings.py:92 msgid "Open Government Portal (staging)" msgstr "" -#: ckanext/canada/strings.py:90 +#: ckanext/canada/strings.py:95 +msgid "Delete from DataStore" +msgstr "" + +#: ckanext/canada/strings.py:96 +msgid "Are you sure you want to delete the DataStore and Data Dictionary?" +msgstr "" + +#: ckanext/canada/strings.py:97 +#: ckanext/canada/templates/organization/confirm_delete_member.html:3 +#: ckanext/canada/templates/organization/confirm_delete_member.html:14 +#: ckanext/canada/templates/package/confirm_delete.html:3 +#: ckanext/canada/templates/package/confirm_delete.html:13 +#: ckanext/canada/templates/package/confirm_delete_resource.html:3 +#: ckanext/canada/templates/package/confirm_delete_resource.html:13 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:3 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:41 +#: ckanext/canada/templates/user/confirm_delete.html:3 +#: ckanext/canada/templates/user/confirm_delete.html:14 +msgid "Confirm Delete" +msgstr "" + +#: ckanext/canada/strings.py:100 +msgid "Validation Information" +msgstr "" + +#: ckanext/canada/strings.py:101 +msgid "Validation status:" +msgstr "" + +#: ckanext/canada/strings.py:102 +msgid "Validation timestamp:" +msgstr "" + +#: ckanext/canada/strings.py:103 +msgid "Duration:" +msgstr "" + +#: ckanext/canada/strings.py:106 msgid "Single" msgstr "" -#: ckanext/canada/strings.py:91 +#: ckanext/canada/strings.py:107 msgid "Repeatable" msgstr "" -#: ckanext/canada/strings.py:92 +#: ckanext/canada/strings.py:108 msgid "Optional" msgstr "" @@ -629,7 +711,7 @@ msgstr "" msgid "Badly formed hexadecimal UUID string" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:6 +#: ckanext/canada/templates/user/new_user_form.html:7 #: ckanext/canada/validators.py:198 ckanext/canada/validators.py:200 msgid "Please enter a valid email address." msgstr "" @@ -673,156 +755,144 @@ msgstr "" msgid "Invalid value for a digital object identifier." msgstr "" -#: ckanext/canada/view.py:101 +#: ckanext/canada/view.py:103 msgid "NotePlease try another search.
" msgstr "" -#: ckanext/canada/templates/admin/publish_search.html:69 +#: ckanext/canada/templates/admin/publish_search.html:75 msgid "There was an error while searching. Please try again.
" msgstr "" -#: ckanext/canada/templates/admin/publish_search.html:86 -#: ckanext/canada/templates/package/search.html:23 +#: ckanext/canada/templates/admin/publish_search.html:94 +#: ckanext/canada/templates/package/search.html:25 msgid "Search Filters" msgstr "" -#: ckanext/canada/templates/admin/publish_search.html:86 -#: ckanext/canada/templates/package/search.html:23 -#: ckanext/canada/templates/snippets/facet_list.html:56 -#: ckanext/canada/templates/snippets/facet_list.html:57 -#: ckanext/canada/templates/snippets/publish_facet.html:62 -#: ckanext/canada/templates/snippets/publish_facet.html:63 +#: ckanext/canada/templates/admin/publish_search.html:94 +#: ckanext/canada/templates/package/search.html:25 +#: ckanext/canada/templates/snippets/facet_list.html:61 +#: ckanext/canada/templates/snippets/facet_list.html:62 +#: ckanext/canada/templates/snippets/publish_facet.html:60 +#: ckanext/canada/templates/snippets/publish_facet.html:61 msgid "Clear All" msgstr "" -#: ckanext/canada/templates/admin/trash.html:20 -msgid "Purge" -msgstr "" - -#: ckanext/canada/templates/admin/trash.html:35 -msgid "Purge deleted datasets forever and irreversibly.
" +#: ckanext/canada/templates/admin/trash.html:17 +msgid "Purge deleted datasets, organizations or groups forever and irreversibly." msgstr "" #: ckanext/canada/templates/admin/snippets/package_item.html:8 @@ -2006,37 +2045,6 @@ msgstr "" msgid "Publish Selected Records" msgstr "" -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:3 -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:13 -#: ckanext/canada/templates/organization/confirm_delete_member.html:3 -#: ckanext/canada/templates/organization/confirm_delete_member.html:13 -#: ckanext/canada/templates/package/confirm_delete.html:3 -#: ckanext/canada/templates/package/confirm_delete.html:12 -#: ckanext/canada/templates/package/confirm_delete_resource.html:3 -#: ckanext/canada/templates/package/confirm_delete_resource.html:12 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:3 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:40 -#: ckanext/canada/templates/user/confirm_delete.html:3 -#: ckanext/canada/templates/user/confirm_delete.html:13 -msgid "Confirm Delete" -msgstr "" - -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:8 -#: ckanext/canada/templates/xloader/resource_data.html:9 -msgid "Are you sure you want to delete this DataStore table and Data Dictionary?" -msgstr "" - -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:12 -#: ckanext/canada/templates/organization/confirm_delete_member.html:12 -#: ckanext/canada/templates/package/confirm_delete.html:11 -#: ckanext/canada/templates/package/confirm_delete_resource.html:11 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:39 -#: ckanext/canada/templates/recombinant/create_pd_record.html:86 -#: ckanext/canada/templates/recombinant/update_pd_record.html:89 -#: ckanext/canada/templates/user/confirm_delete.html:12 -msgid "Cancel" -msgstr "" - #: ckanext/canada/templates/datastore/snippets/dictionary_form.html:7 msgid "English Label" msgstr "" @@ -2197,14 +2205,31 @@ msgid "" "appearance for your deputy head." msgstr "" +#: ckanext/canada/templates/macros/form/markdown.html:27 +msgid "" +"__bold text__
_italic text_
* list
* of
* " +"items1. numbered
2. list
3. of " +"itemshttps://auto.link.ed/
[Formatted " +"Link](https://formatted.link)
> block quote
Please note: HTML tags are stripped out for security " +"reasons
" +msgstr "" + +#: ckanext/canada/templates/macros/form/markdown.html:33 +msgid "" +"You can use Markdown formatting here" +msgstr "" + #: ckanext/canada/templates/organization/activity_stream.html:4 -#: ckanext/canada/templates/package/read_base.html:23 +#: ckanext/canada/templates/package/read_base.html:27 #: ckanext/canada/templates/user/activity_stream.html:12 msgid "Activity Stream" msgstr "" #: ckanext/canada/templates/organization/activity_stream.html:11 -#: ckanext/canada/templates/package/read_base.html:150 +#: ckanext/canada/templates/package/read_base.html:154 msgid "Atom Feed" msgstr "" @@ -2212,26 +2237,53 @@ msgstr "" msgid "Are you sure you want to delete member - {name}?" msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:15 -#: ckanext/canada/templates/organization/read_base.html:24 -#: ckanext/canada/templates/package/search.html:16 -#: ckanext/canada/templates/snippets/organization.html:37 -#: ckanext/canada/templates/user/read.html:21 -msgid "Datasets" +#: ckanext/canada/templates/organization/confirm_delete_member.html:13 +#: ckanext/canada/templates/package/confirm_delete.html:12 +#: ckanext/canada/templates/package/confirm_delete_resource.html:12 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:40 +#: ckanext/canada/templates/recombinant/create_pd_record.html:87 +#: ckanext/canada/templates/recombinant/update_pd_record.html:90 +#: ckanext/canada/templates/user/confirm_delete.html:13 +msgid "Cancel" +msgstr "" + +#: ckanext/canada/templates/organization/edit.html:6 +#: ckanext/canada/templates/organization/edit_base.html:10 +#: ckanext/canada/templates/user/edit.html:7 +msgid "Manage" +msgstr "" + +#: ckanext/canada/templates/organization/edit_base.html:8 +#: ckanext/canada/templates/organization/index.html:26 +#: ckanext/canada/templates/organization/members.html:10 +#: ckanext/canada/templates/organization/read_base.html:7 +#: ckanext/canada/templates/snippets/cdts/header.html:154 +#: ckanext/canada/templates/user/read.html:28 +#: ckanext/canada/templates/user/read_base.html:12 +#: ckanext/canada/templates/user/read_base.html:97 +msgid "Organizations" msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:18 -#: ckanext/canada/templates/organization/read_base.html:27 +#: ckanext/canada/templates/organization/edit_base.html:19 +msgid "View Organization" +msgstr "" + +#: ckanext/canada/templates/organization/edit_base.html:26 +msgid "Edit Organization" +msgstr "" + +#: ckanext/canada/templates/organization/edit_base.html:28 +#: ckanext/canada/templates/organization/read_base.html:21 msgid "Activity" msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:22 -#: ckanext/canada/templates/organization/read_base.html:31 +#: ckanext/canada/templates/organization/edit_base.html:30 +#: ckanext/canada/templates/organization/read_base.html:23 msgid "Edit Members" msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:26 -#: ckanext/canada/templates/organization/read_base.html:40 +#: ckanext/canada/templates/organization/edit_base.html:32 +#: ckanext/canada/templates/organization/read_base.html:25 msgid "View Members" msgstr "" @@ -2243,15 +2295,6 @@ msgstr "" msgid "How about creating one?" msgstr "" -#: ckanext/canada/templates/organization/index.html:26 -#: ckanext/canada/templates/organization/members.html:10 -#: ckanext/canada/templates/organization/read_base.html:6 -#: ckanext/canada/templates/snippets/cdts/header.html:154 -#: ckanext/canada/templates/user/read.html:28 -#: ckanext/canada/templates/user/read_base.html:99 -msgid "Organizations" -msgstr "" - #: ckanext/canada/templates/organization/member_new.html:9 msgid "Back to all members" msgstr "" @@ -2261,54 +2304,54 @@ msgid "Edit Member" msgstr "" #: ckanext/canada/templates/organization/member_new.html:11 -#: ckanext/canada/templates/organization/member_new.html:66 +#: ckanext/canada/templates/organization/member_new.html:67 msgid "Add Member" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:19 +#: ckanext/canada/templates/organization/member_new.html:20 msgid "Existing User" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:22 +#: ckanext/canada/templates/organization/member_new.html:23 msgid "If you wish to add an existing user, search for their username below." msgstr "" -#: ckanext/canada/templates/organization/member_new.html:38 +#: ckanext/canada/templates/organization/member_new.html:39 msgid "or" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:44 +#: ckanext/canada/templates/organization/member_new.html:45 msgid "New User" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:47 +#: ckanext/canada/templates/organization/member_new.html:48 msgid "If you wish to invite a new user, enter their email address." msgstr "" -#: ckanext/canada/templates/organization/member_new.html:50 +#: ckanext/canada/templates/organization/member_new.html:51 msgid "Email address" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:60 +#: ckanext/canada/templates/organization/member_new.html:61 msgid "Are you sure you want to delete this member?" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:60 +#: ckanext/canada/templates/organization/member_new.html:61 #: ckanext/canada/templates/scheming/package/read.html:26 #: ckanext/canada/templates/scheming/snippets/form_field.html:21 -#: ckanext/canada/templates/user/edit_user_form.html:42 +#: ckanext/canada/templates/user/edit_user_form.html:43 msgid "Delete" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:62 +#: ckanext/canada/templates/organization/member_new.html:63 msgid "Update Member" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:78 +#: ckanext/canada/templates/organization/member_new.html:79 msgid "What are roles?" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:81 +#: ckanext/canada/templates/organization/member_new.html:82 msgid "" "Admin: Can add/edit and delete datasets, as well as " "manage organization members.
Editor: Can add and edit" @@ -2322,8 +2365,12 @@ msgstr "" msgid "Members" msgstr "" -#: ckanext/canada/templates/organization/read.html:12 -msgid "Edit Organization" +#: ckanext/canada/templates/organization/read_base.html:20 +#: ckanext/canada/templates/package/search.html:16 +#: ckanext/canada/templates/snippets/organization.html:37 +#: ckanext/canada/templates/user/read.html:21 +#: ckanext/canada/templates/user/read_base.html:11 +msgid "Datasets" msgstr "" #: ckanext/canada/templates/organization/snippets/helper.html:2 @@ -2351,7 +2398,10 @@ msgstr[1] "" msgid "0 Datasets" msgstr "" -#: ckanext/canada/templates/organization/snippets/organization_search.html:3 +#: ckanext/canada/templates/organization/snippets/organization_search.html:4 +#: ckanext/canada/templates/recombinant/snippets/org_select.html:18 +#: ckanext/canada/templates/scheming/form_snippets/organization_autocomplete.html:26 +#: ckanext/canada/templates/user/new_user_form.html:18 msgid "Search organizations..." msgstr "" @@ -2396,64 +2446,55 @@ msgstr "" msgid "Disabled" msgstr "" -#: ckanext/canada/templates/package/read.html:18 -#: ckanext/canada/templates/package/read.html:101 +#: ckanext/canada/templates/package/read.html:17 +#: ckanext/canada/templates/package/read.html:93 #: ckanext/canada/templates/package/snippets/resource_item.html:12 #: ckanext/canada/templates/scheming/display_snippets/fluent_tags.html:8 -#: ckanext/canada/templates/snippets/package_item.html:37 -#: ckanext/canada/templates/snippets/package_item.html:56 +#: ckanext/canada/templates/snippets/package_item.html:39 +#: ckanext/canada/templates/snippets/package_item.html:55 msgid "" "This third party metadata element has been translated using an automated " "translation tool. To report any discrepancies please contact open-ouvert" "@tbs-sct.gc.ca" msgstr "" -#: ckanext/canada/templates/package/read.html:24 -#: ckanext/canada/templates/package/resource_read.html:23 -#, python-format -msgid "" -"You're currently viewing an old version of this dataset. Some resources may " -"no longer exist or the dataset may not display correctly. To see the current " -"version, click here." -msgstr "" - +#: ckanext/canada/templates/package/read.html:39 #: ckanext/canada/templates/package/read.html:47 -#: ckanext/canada/templates/package/read.html:55 msgid "Action required:" msgstr "" -#: ckanext/canada/templates/package/read.html:48 +#: ckanext/canada/templates/package/read.html:40 msgid "" "Draft record has been saved and can be edited. Mark as ready to publish to " "continue." msgstr "" -#: ckanext/canada/templates/package/read.html:56 +#: ckanext/canada/templates/package/read.html:48 msgid "Seek out departmental approval and mark as approved to continue." msgstr "" -#: ckanext/canada/templates/package/read.html:63 +#: ckanext/canada/templates/package/read.html:55 msgid "Data record is in queue for validation." msgstr "" -#: ckanext/canada/templates/package/read.html:64 +#: ckanext/canada/templates/package/read.html:56 msgid "Record will be published by the following business day upon validation." msgstr "" -#: ckanext/canada/templates/package/read.html:82 -#: ckanext/canada/templates/package/read.html:83 +#: ckanext/canada/templates/package/read.html:74 +#: ckanext/canada/templates/package/read.html:75 msgid "View on Portal" msgstr "" -#: ckanext/canada/templates/package/read.html:89 +#: ckanext/canada/templates/package/read.html:81 msgid "This dataset has been deleted and is no longer accessible" msgstr "" -#: ckanext/canada/templates/package/read.html:112 +#: ckanext/canada/templates/package/read.html:104 msgid "Made available by the " msgstr "" -#: ckanext/canada/templates/package/read.html:114 +#: ckanext/canada/templates/package/read.html:106 msgid "" "
These resources are not under the control of the Government of Canada and " "the link is provided solely for the convenience of our website visitors. We " @@ -2470,154 +2511,166 @@ msgid "" "this non-government website before providing personal information.
" msgstr "" -#: ckanext/canada/templates/package/read.html:129 -#: ckanext/canada/templates/package/read.html:152 -#: ckanext/canada/templates/package/read_base.html:56 -#: ckanext/canada/templates/package/read_base.html:65 -#: ckanext/canada/templates/package/read_base.html:81 -#: ckanext/canada/templates/package/read_base.html:155 -#: ckanext/canada/templates/package/read_base.html:187 -#: ckanext/canada/templates/recombinant/create_pd_record.html:29 -#: ckanext/canada/templates/recombinant/update_pd_record.html:29 -#: ckanext/canada/templates/snippets/package_item.html:91 +#: ckanext/canada/templates/package/read.html:121 +#: ckanext/canada/templates/package/read.html:144 +#: ckanext/canada/templates/package/read_base.html:60 +#: ckanext/canada/templates/package/read_base.html:69 +#: ckanext/canada/templates/package/read_base.html:85 +#: ckanext/canada/templates/package/read_base.html:159 +#: ckanext/canada/templates/package/read_base.html:191 +#: ckanext/canada/templates/recombinant/create_pd_record.html:30 +#: ckanext/canada/templates/recombinant/update_pd_record.html:30 +#: ckanext/canada/templates/snippets/package_item.html:90 msgid ":" msgstr "" -#: ckanext/canada/templates/package/read.html:150 +#: ckanext/canada/templates/package/read.html:142 msgid "Issued by" msgstr "" -#: ckanext/canada/templates/package/read.html:177 +#: ckanext/canada/templates/package/read.html:169 msgid "Related Items" msgstr "" -#: ckanext/canada/templates/package/read.html:191 +#: ckanext/canada/templates/package/read.html:183 msgid "Contact Information" msgstr "" -#: ckanext/canada/templates/package/read.html:193 +#: ckanext/canada/templates/package/read.html:185 msgid "Delivery Point:" msgstr "" -#: ckanext/canada/templates/package/read.html:196 +#: ckanext/canada/templates/package/read.html:188 msgid "City:" msgstr "" -#: ckanext/canada/templates/package/read.html:199 +#: ckanext/canada/templates/package/read.html:191 msgid "Administrative Area:" msgstr "" -#: ckanext/canada/templates/package/read.html:202 +#: ckanext/canada/templates/package/read.html:194 msgid "Postal Code:" msgstr "" -#: ckanext/canada/templates/package/read.html:205 +#: ckanext/canada/templates/package/read.html:197 msgid "Country:" msgstr "" -#: ckanext/canada/templates/package/read.html:208 +#: ckanext/canada/templates/package/read.html:200 msgid "Electronic Mail Address:" msgstr "" -#: ckanext/canada/templates/package/read.html:230 +#: ckanext/canada/templates/package/read.html:222 msgid "Similar records" msgstr "" -#: ckanext/canada/templates/package/read_base.html:18 +#: ckanext/canada/templates/package/read_base.html:22 msgid "Dataset" msgstr "" -#: ckanext/canada/templates/package/read_base.html:41 +#: ckanext/canada/templates/package/read_base.html:45 #: ckanext/canada/templates/scheming/package/resource_read.html:9 msgid "Additional Information" msgstr "" -#: ckanext/canada/templates/package/read_base.html:65 +#: ckanext/canada/templates/package/read_base.html:69 msgid "Temporal Coverage" msgstr "" -#: ckanext/canada/templates/package/read_base.html:68 +#: ckanext/canada/templates/package/read_base.html:72 msgid "to" msgstr "" -#: ckanext/canada/templates/package/read_base.html:70 +#: ckanext/canada/templates/package/read_base.html:74 msgid "to undefined" msgstr "" -#: ckanext/canada/templates/package/read_base.html:72 +#: ckanext/canada/templates/package/read_base.html:76 msgid "undefined to" msgstr "" -#: ckanext/canada/templates/package/read_base.html:81 +#: ckanext/canada/templates/package/read_base.html:85 msgid "Openness Rating" msgstr "" -#: ckanext/canada/templates/package/read_base.html:86 +#: ckanext/canada/templates/package/read_base.html:90 msgid "one star" msgstr "" -#: ckanext/canada/templates/package/read_base.html:87 +#: ckanext/canada/templates/package/read_base.html:91 msgid "two stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:88 +#: ckanext/canada/templates/package/read_base.html:92 msgid "three stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:89 +#: ckanext/canada/templates/package/read_base.html:93 msgid "four stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:90 +#: ckanext/canada/templates/package/read_base.html:94 msgid "five stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:101 +#: ckanext/canada/templates/package/read_base.html:105 msgid "About this Record" msgstr "" -#: ckanext/canada/templates/package/read_base.html:105 +#: ckanext/canada/templates/package/read_base.html:109 msgid "Record Released:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:109 +#: ckanext/canada/templates/package/read_base.html:113 msgid "Record Modified:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:113 +#: ckanext/canada/templates/package/read_base.html:117 msgid "Record ID:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:117 +#: ckanext/canada/templates/package/read_base.html:121 msgid "Metadata:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:121 +#: ckanext/canada/templates/package/read_base.html:125 msgid "Link to JSON format" msgstr "" -#: ckanext/canada/templates/package/read_base.html:127 +#: ckanext/canada/templates/package/read_base.html:131 msgid "DCAT (JSON-LD)" msgstr "" -#: ckanext/canada/templates/package/read_base.html:134 +#: ckanext/canada/templates/package/read_base.html:138 msgid "DCAT (XML)" msgstr "" -#: ckanext/canada/templates/package/read_base.html:142 +#: ckanext/canada/templates/package/read_base.html:146 msgid "FGP Metadata:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:144 +#: ckanext/canada/templates/package/read_base.html:148 msgid "HNAP ISO:19115 Metadata Record" msgstr "" -#: ckanext/canada/templates/package/resource_edit.html:12 +#: ckanext/canada/templates/package/resource_edit.html:11 msgid "Go back" msgstr "" -#: ckanext/canada/templates/package/resource_read.html:58 -#: ckanext/canada/templates/package/snippets/resource_item.html:73 +#: ckanext/canada/templates/package/resource_edit_base.html:12 +msgid "All resources" +msgstr "" + +#: ckanext/canada/templates/package/resource_edit_base.html:14 +msgid "View resource" +msgstr "" + +#: ckanext/canada/templates/package/resource_read.html:62 +msgid "List of downloadable formats" +msgstr "" + +#: ckanext/canada/templates/package/resource_read.html:64 +#: ckanext/canada/templates/package/snippets/resource_item.html:81 msgid "Download" msgstr "" @@ -2630,11 +2683,23 @@ msgstr "" msgid "Search Open Government" msgstr "" -#: ckanext/canada/templates/package/search.html:49 +#: ckanext/canada/templates/package/search.html:37 +msgid "License" +msgstr "" + +#: ckanext/canada/templates/package/search.html:57 msgid "Please review your spelling, or reduce the number of filters selected." msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:63 +#: ckanext/canada/templates/package/view_edit_base.html:4 +msgid "All views" +msgstr "" + +#: ckanext/canada/templates/package/view_edit_base.html:7 +msgid "View view" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:71 #: ckanext/canada/templates/package/wet_datatable.html:9 msgid "Preview" msgstr "" @@ -2700,38 +2765,71 @@ msgstr "" msgid "Data API" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:56 +#: ckanext/canada/templates/package/snippets/resource_info.html:8 +msgid "Additional Information " +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_info.html:40 +#: ckanext/canada/templates/package/snippets/resource_item.html:34 +#: ckanext/canada/templates/package/snippets/resources.html:51 +#, python-format +msgid "+ %s more" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:64 msgid "Explore" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:65 +#: ckanext/canada/templates/package/snippets/resource_item.html:73 msgid "More information" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:75 +#: ckanext/canada/templates/package/snippets/resource_item.html:83 msgid "Go to resource" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:84 +#: ckanext/canada/templates/package/snippets/resource_item.html:92 #: ckanext/canada/templates/package/snippets/resources_list.html:9 #: ckanext/canada/templates/snippets/search_form.html:34 msgid "View on Map" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:89 -#: ckanext/canada/templates/package/snippets/resources.html:25 +#: ckanext/canada/templates/package/snippets/resource_item.html:97 +#: ckanext/canada/templates/package/snippets/resources.html:21 msgid "Edit resource" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:91 +#: ckanext/canada/templates/package/snippets/resource_item.html:99 #: ckanext/canada/templates/package/snippets/resources.html:27 msgid "Views" msgstr "" +#: ckanext/canada/templates/package/snippets/resource_item.html:101 +#: ckanext/canada/templates/package/snippets/resources.html:29 +msgid "Are you sure you want to delete this resource?" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:102 +#: ckanext/canada/templates/package/snippets/resources.html:30 +msgid "Delete resource" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resources.html:24 +msgid "DataStore" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resources.html:25 +msgid "Data Dictionary" +msgstr "" + #: ckanext/canada/templates/package/snippets/resources_list.html:4 msgid "Data and Resources" msgstr "" +#: ckanext/canada/templates/package/snippets/resources_list.html:16 +msgid "Add new resource" +msgstr "" + #: ckanext/canada/templates/package/snippets/schemaorg.html:3 msgid "Government of Canada Open Government Portal" msgstr "" @@ -2820,19 +2918,19 @@ msgstr[1] "" msgid "Create Record" msgstr "" -#: ckanext/canada/templates/recombinant/create_pd_record.html:24 -#: ckanext/canada/templates/recombinant/update_pd_record.html:24 +#: ckanext/canada/templates/recombinant/create_pd_record.html:25 +#: ckanext/canada/templates/recombinant/update_pd_record.html:25 #: ckanext/canada/templates/scheming/snippets/errors.html:6 msgid "The form contains invalid entries:" msgstr "" -#: ckanext/canada/templates/recombinant/create_pd_record.html:54 -#: ckanext/canada/templates/recombinant/update_pd_record.html:57 +#: ckanext/canada/templates/recombinant/create_pd_record.html:55 +#: ckanext/canada/templates/recombinant/update_pd_record.html:58 msgid "You may select or deselect multiple entries (Ctrl+Click)." msgstr "" -#: ckanext/canada/templates/recombinant/create_pd_record.html:87 -#: ckanext/canada/templates/recombinant/update_pd_record.html:90 +#: ckanext/canada/templates/recombinant/create_pd_record.html:88 +#: ckanext/canada/templates/recombinant/update_pd_record.html:91 #: ckanext/canada/templates/scheming/package/snippets/package_form.html:63 msgid "Save" msgstr "" @@ -2853,11 +2951,15 @@ msgid "" "Coordinator." msgstr "" -#: ckanext/canada/templates/recombinant/resource_edit.html:39 +#: ckanext/canada/templates/recombinant/resource_edit.html:70 +msgid "Info" +msgstr "" + +#: ckanext/canada/templates/recombinant/resource_edit.html:77 msgid "Guide" msgstr "" -#: ckanext/canada/templates/recombinant/resource_edit.html:43 +#: ckanext/canada/templates/recombinant/resource_edit.html:81 #, python-format msgid "" "For information on how to prepare, maintain and upload templates to the " @@ -2935,6 +3037,16 @@ msgstr "" msgid "Image" msgstr "" +#: ckanext/canada/templates/scheming/organization/group_form.html:6 +#: ckanext/canada/templates/scheming/organization/group_form.html:8 +msgid "Update Organization" +msgstr "" + +#: ckanext/canada/templates/scheming/organization/group_form.html:12 +#: ckanext/canada/templates/scheming/organization/group_form.html:14 +msgid "Create Organization" +msgstr "" + #: ckanext/canada/templates/scheming/package/snippets/package_form.html:14 msgid "Catalogue Metadata" msgstr "" @@ -3018,8 +3130,16 @@ msgstr "" msgid "New activity item" msgstr "" -#: ckanext/canada/templates/snippets/activity_stream.html:8 -msgid "View the past 30 days of activity." +#: ckanext/canada/templates/snippets/activity_type_selector.html:12 +msgid "created datastore" +msgstr "" + +#: ckanext/canada/templates/snippets/activity_type_selector.html:15 +msgid "changed datastore" +msgstr "" + +#: ckanext/canada/templates/snippets/activity_type_selector.html:18 +msgid "deleted datastore" msgstr "" #: ckanext/canada/templates/snippets/dataset_facets.html:6 @@ -3027,13 +3147,13 @@ msgstr "" msgid "Suggested Datasets" msgstr "" -#: ckanext/canada/templates/snippets/facet_list.html:49 -#: ckanext/canada/templates/snippets/facet_list.html:50 +#: ckanext/canada/templates/snippets/facet_list.html:53 +#: ckanext/canada/templates/snippets/facet_list.html:54 msgid "Show less" msgstr "" -#: ckanext/canada/templates/snippets/facet_list.html:62 -#: ckanext/canada/templates/snippets/publish_facet.html:68 +#: ckanext/canada/templates/snippets/facet_list.html:68 +#: ckanext/canada/templates/snippets/publish_facet.html:67 msgid "There are no filters for this search" msgstr "" @@ -3041,32 +3161,36 @@ msgstr "" msgid "read more" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:60 +#: ckanext/canada/templates/snippets/package_item.html:35 +msgid "Deleted" +msgstr "" + +#: ckanext/canada/templates/snippets/package_item.html:59 msgid "This dataset has no description" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:67 +#: ckanext/canada/templates/snippets/package_item.html:66 msgid "Organization:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:78 +#: ckanext/canada/templates/snippets/package_item.html:77 msgid "Issued by:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:100 -#: ckanext/canada/templates/snippets/package_item.html:117 +#: ckanext/canada/templates/snippets/package_item.html:99 +#: ckanext/canada/templates/snippets/package_item.html:116 msgid "Status:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:108 +#: ckanext/canada/templates/snippets/package_item.html:107 msgid "Date:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:120 +#: ckanext/canada/templates/snippets/package_item.html:119 msgid "Request sent to data owner – awaiting response" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:127 +#: ckanext/canada/templates/snippets/package_item.html:128 msgid "Resource Formats:" msgstr "" @@ -3119,12 +3243,8 @@ msgstr "" msgid "Relevance" msgstr "" -#: ckanext/canada/templates/snippets/activities/changed_resource_view.html:8 -msgid "{actor} changed the {view_type} view {view}" -msgstr "" - -#: ckanext/canada/templates/snippets/activities/new_resource_view.html:8 -msgid "{actor} added the {view_type} view {view}" +#: ckanext/canada/templates/snippets/stream.html:8 +msgid "View the past 30 days of activity." msgstr "" #: ckanext/canada/templates/snippets/cdts/header.html:21 @@ -3137,10 +3257,8 @@ msgid "FAQ" msgstr "" #: ckanext/canada/templates/snippets/cdts/header.html:189 -#: ckanext/canada/templates/user/dashboard.html:4 -#: ckanext/canada/templates/user/dashboard_datasets.html:15 -#: ckanext/canada/templates/user/dashboard_groups.html:9 -#: ckanext/canada/templates/user/dashboard_organizations.html:9 +#: ckanext/canada/templates/user/dashboard.html:9 +#: ckanext/canada/templates/user/dashboard_datasets.html:19 msgid "Dashboard" msgstr "" @@ -3172,44 +3290,23 @@ msgstr "" msgid "Are you sure you want to delete user - {name}?" msgstr "" -#: ckanext/canada/templates/user/dashboard.html:4 +#: ckanext/canada/templates/user/dashboard.html:9 #: ckanext/canada/templates/user/dashboard.html:13 -#: ckanext/canada/templates/user/dashboard.html:37 -msgid "News feed" -msgstr "" - -#: ckanext/canada/templates/user/dashboard.html:16 -msgid "Activity from items that you follow" -msgstr "" - -#: ckanext/canada/templates/user/dashboard.html:30 -msgid "Add Dataset" +#: ckanext/canada/templates/user/dashboard.html:18 +#: ckanext/canada/templates/user/dashboard.html:22 +msgid "My Activity" msgstr "" -#: ckanext/canada/templates/user/dashboard.html:38 +#: ckanext/canada/templates/user/dashboard.html:23 msgid "My Datasets" msgstr "" -#: ckanext/canada/templates/user/dashboard_datasets.html:11 +#: ckanext/canada/templates/user/dashboard_datasets.html:10 #: ckanext/canada/templates/user/dashboard_datasets.html:15 -#: ckanext/canada/templates/user/dashboard_datasets.html:22 +#: ckanext/canada/templates/user/dashboard_datasets.html:19 msgid "My Records" msgstr "" -#: ckanext/canada/templates/user/dashboard_groups.html:5 -#: ckanext/canada/templates/user/dashboard_groups.html:9 -msgid "My Groups" -msgstr "" - -#: ckanext/canada/templates/user/dashboard_organizations.html:5 -#: ckanext/canada/templates/user/dashboard_organizations.html:9 -msgid "My Organizations" -msgstr "" - -#: ckanext/canada/templates/user/edit.html:7 -msgid "Manage" -msgstr "" - #: ckanext/canada/templates/user/edit_base.html:7 msgid "Edit My Profile" msgstr "" @@ -3218,63 +3315,63 @@ msgstr "" msgid "Edit Profile" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:6 +#: ckanext/canada/templates/user/edit_user_form.html:7 msgid "Change details" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:8 +#: ckanext/canada/templates/user/edit_user_form.html:9 msgid "Full name" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:8 +#: ckanext/canada/templates/user/edit_user_form.html:9 msgid "eg. Joe Bloggs" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:9 +#: ckanext/canada/templates/user/edit_user_form.html:10 msgid "eg. joe@example.com" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:10 +#: ckanext/canada/templates/user/edit_user_form.html:11 msgid "A little information about yourself" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:12 +#: ckanext/canada/templates/user/edit_user_form.html:13 msgid "Subscribe to notification emails" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:19 +#: ckanext/canada/templates/user/edit_user_form.html:20 msgid "Change password" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:22 +#: ckanext/canada/templates/user/edit_user_form.html:23 #: ckanext/canada/templates/user/perform_reset.html:8 msgid "password reset requirements" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:27 +#: ckanext/canada/templates/user/edit_user_form.html:28 msgid "Sysadmin Password" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:27 +#: ckanext/canada/templates/user/edit_user_form.html:28 msgid "Old Password" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:35 -#: ckanext/canada/templates/user/new_user_form.html:21 -#: ckanext/canada/templates/user/snippets/login_form.html:12 +#: ckanext/canada/templates/user/edit_user_form.html:36 +#: ckanext/canada/templates/user/new_user_form.html:22 +#: ckanext/canada/templates/user/snippets/login_form.html:33 msgid "Password" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:36 -#: ckanext/canada/templates/user/new_user_form.html:24 +#: ckanext/canada/templates/user/edit_user_form.html:37 +#: ckanext/canada/templates/user/new_user_form.html:25 msgid "Confirm Password" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:42 +#: ckanext/canada/templates/user/edit_user_form.html:43 msgid "Are you sure you want to delete this User?" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:50 +#: ckanext/canada/templates/user/edit_user_form.html:51 msgid "Update Profile" msgstr "" @@ -3316,56 +3413,52 @@ msgstr "" msgid "password reset alert" msgstr "" -#: ckanext/canada/templates/user/login.html:12 -msgid "NOTE: Username and password are case sensitive." -msgstr "" - -#: ckanext/canada/templates/user/login.html:24 +#: ckanext/canada/templates/user/login.html:21 msgid "Need an account" msgstr "" -#: ckanext/canada/templates/user/login.html:27 +#: ckanext/canada/templates/user/login.html:24 msgid "Then sign right up, it only takes a minute" msgstr "" -#: ckanext/canada/templates/user/login.html:29 +#: ckanext/canada/templates/user/login.html:26 #: ckanext/canada/templates/user/new.html:5 msgid "Request an Account" msgstr "" -#: ckanext/canada/templates/user/login.html:35 +#: ckanext/canada/templates/user/login.html:32 msgid "Forgotten your password?" msgstr "" -#: ckanext/canada/templates/user/login.html:37 +#: ckanext/canada/templates/user/login.html:34 msgid "No problem, use our password recovery form to reset it" msgstr "" -#: ckanext/canada/templates/user/login.html:39 +#: ckanext/canada/templates/user/login.html:36 msgid "Reset password" msgstr "" -#: ckanext/canada/templates/user/login.html:47 +#: ckanext/canada/templates/user/login.html:44 msgid "Forgotten your username?" msgstr "" -#: ckanext/canada/templates/user/login.html:50 +#: ckanext/canada/templates/user/login.html:47 msgid "No problem, use our username recovery form to recover it" msgstr "" -#: ckanext/canada/templates/user/login.html:52 +#: ckanext/canada/templates/user/login.html:49 msgid "Recover username" msgstr "" -#: ckanext/canada/templates/user/login.html:67 +#: ckanext/canada/templates/user/login.html:64 msgid " Create an Account" msgstr "" -#: ckanext/canada/templates/user/login.html:77 +#: ckanext/canada/templates/user/login.html:74 msgid "Forgot your password?" msgstr "" -#: ckanext/canada/templates/user/logout.html:4 +#: ckanext/canada/templates/user/logout.html:6 msgid "You are now logged out." msgstr "" @@ -3395,49 +3488,49 @@ msgid "" "Registry." msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:5 -#: ckanext/canada/templates/user/new_user_form.html:16 +#: ckanext/canada/templates/user/new_user_form.html:6 +#: ckanext/canada/templates/user/new_user_form.html:17 msgid "Please fill out this field." msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:8 +#: ckanext/canada/templates/user/new_user_form.html:9 msgid "" "Use only lowercase letters (a-z) and numbers (0-9) with optional hyphens (-) " "and underscores (_). Example: joe-bloggs" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:10 +#: ckanext/canada/templates/user/new_user_form.html:11 msgid "Full Name" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:11 +#: ckanext/canada/templates/user/new_user_form.html:12 msgid "Example: Joe Bloggs" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:14 +#: ckanext/canada/templates/user/new_user_form.html:15 msgid "Example: joe.bloggs@tbs-sct.gc.ca" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:18 +#: ckanext/canada/templates/user/new_user_form.html:19 msgid "Phone Number" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:19 +#: ckanext/canada/templates/user/new_user_form.html:20 msgid "Example: 000 000 0000" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:22 +#: ckanext/canada/templates/user/new_user_form.html:23 msgid "" "Password must be 12 characters or longer, and must consist of at least three " "of the following character sets: uppercase characters, lowercase characters, " "digits, punctuation & special characters" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:25 +#: ckanext/canada/templates/user/new_user_form.html:26 msgid "The password must match" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:28 +#: ckanext/canada/templates/user/new_user_form.html:29 msgid "" "Privacy" " Statement
The Government of Canada is committed to providing " @@ -3518,63 +3611,67 @@ msgid "" " Registry.
" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:72 +#: ckanext/canada/templates/user/new_user_form.html:73 msgid "I agree" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:73 +#: ckanext/canada/templates/user/new_user_form.html:74 msgid "I do not agree" msgstr "" #: ckanext/canada/templates/user/read_base.html:14 -msgid "Edit User" +msgid "API Tokens" msgstr "" -#: ckanext/canada/templates/user/read_base.html:22 +#: ckanext/canada/templates/user/read_base.html:17 +msgid "MFA" +msgstr "" + +#: ckanext/canada/templates/user/read_base.html:24 msgid "Details" msgstr "" -#: ckanext/canada/templates/user/read_base.html:32 +#: ckanext/canada/templates/user/read_base.html:36 msgid "Followers:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:36 -msgid "Edits:" +#: ckanext/canada/templates/user/read_base.html:40 +msgid "Datasets:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:50 +#: ckanext/canada/templates/user/read_base.html:48 msgid "Open ID:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:53 +#: ckanext/canada/templates/user/read_base.html:51 msgid "Username:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:61 -#: ckanext/canada/templates/user/read_base.html:72 +#: ckanext/canada/templates/user/read_base.html:59 +#: ckanext/canada/templates/user/read_base.html:70 msgid "This means only you can see this" msgstr "" -#: ckanext/canada/templates/user/read_base.html:61 -#: ckanext/canada/templates/user/read_base.html:72 +#: ckanext/canada/templates/user/read_base.html:59 +#: ckanext/canada/templates/user/read_base.html:70 msgid "Private" msgstr "" -#: ckanext/canada/templates/user/read_base.html:66 +#: ckanext/canada/templates/user/read_base.html:64 msgid "Member Since" msgstr "" -#: ckanext/canada/templates/user/read_base.html:72 -#: ckanext/canada/templates/user/read_base.html:80 +#: ckanext/canada/templates/user/read_base.html:70 +#: ckanext/canada/templates/user/read_base.html:78 msgid "API Key" msgstr "" -#: ckanext/canada/templates/user/read_base.html:75 +#: ckanext/canada/templates/user/read_base.html:73 msgid "Show API Key" msgstr "" -#: ckanext/canada/templates/user/read_base.html:81 -#: ckanext/canada/templates/user/read_base.html:87 +#: ckanext/canada/templates/user/read_base.html:79 +#: ckanext/canada/templates/user/read_base.html:85 msgid "Close" msgstr "" @@ -3586,21 +3683,47 @@ msgstr "" msgid "Username Recovery" msgstr "" -#: ckanext/canada/templates/user/recover_username.html:20 +#: ckanext/canada/templates/user/recover_username.html:22 msgid "Request Recovery" msgstr "" +#: ckanext/canada/templates/user/snippets/login_form.html:10 +msgid "Login failed. Incorrect username or password." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:13 +msgid "Invalid code, please try again." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:16 +msgid "An unknown error occurred." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:30 +msgid "NOTE: Username and password are case sensitive." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:42 +msgid "Please enter your authenticator app generated 6-digit verification code." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:43 +msgid "Verification code" +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:47 +msgid "Need help?" +msgstr "" + #: ckanext/canada/templates/user/snippets/user_search.html:2 -#: ckanext/canada/templates/user/snippets/user_search.html:5 -#: ckanext/canada/templates/user/snippets/user_search.html:6 msgid "Search Users" msgstr "" -#: ckanext/canada/templates/xloader/resource_data.html:10 -msgid "Delete DataStore table" +#: ckanext/canada/templates/user/snippets/user_search.html:6 +msgid "Search users..." msgstr "" -#: ckanext/canada/templates/xloader/resource_data.html:22 +#: ckanext/canada/templates/xloader/resource_data.html:8 msgid "Upload to DataStore" msgstr "" diff --git a/ckanext/canada/i18n/en/LC_MESSAGES/ckanext-canada.po b/ckanext/canada/i18n/en/LC_MESSAGES/ckanext-canada.po index a55ea97a3..e8cd7e782 100644 --- a/ckanext/canada/i18n/en/LC_MESSAGES/ckanext-canada.po +++ b/ckanext/canada/i18n/en/LC_MESSAGES/ckanext-canada.po @@ -7,27 +7,52 @@ msgid "" msgstr "" "Project-Id-Version: CKAN\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-10-10 13:40+0000\n" +"POT-Creation-Date: 2024-10-29 13:19+0000\n" "PO-Revision-Date: 2014-01-23 13:04+0000\n" "Last-Translator: Sean Hammond__bold text__
_italic text_
* list
* of
* " -"items1. numbered
2. list
3. of " -"itemshttps://auto.link.ed/
[Formatted " -"Link](https://formatted.link)
> block quote
Please note: HTML tags are stripped out for security" -" reasons
" +#: ckanext/canada/strings.py:70 +#, python-format +msgid "User %s deleted." msgstr "" -#: ckanext/canada/strings.py:70 +#: ckanext/canada/strings.py:73 msgid "Please upload a file or link to an external resource" msgstr "" -#: ckanext/canada/strings.py:71 +#: ckanext/canada/strings.py:74 msgid "Cannot upload files of this type" msgstr "" -#: ckanext/canada/strings.py:72 +#: ckanext/canada/strings.py:75 msgid "Cannot link files of this type" msgstr "" -#: ckanext/canada/strings.py:73 +#: ckanext/canada/strings.py:76 msgid "Your password must be {} characters or longer." msgstr "" -#: ckanext/canada/strings.py:74 +#: ckanext/canada/strings.py:77 msgid "" "Your password must consist of at least three of the following character " "sets: uppercase characters, lowercase characters, digits, punctuation & " "special characters." msgstr "" -#: ckanext/canada/strings.py:76 +#: ckanext/canada/strings.py:79 msgid "Your password cannot be the same as your username." msgstr "" -#: ckanext/canada/strings.py:79 +#: ckanext/canada/strings.py:81 +msgid "" +"Your current password is too weak. Please create a new password before " +"logging in again." +msgstr "" + +#: ckanext/canada/strings.py:84 msgid "These fields have been removed, click update below to save your changes." msgstr "These fields will be removed once you save your changes." -#: ckanext/canada/strings.py:80 +#: ckanext/canada/strings.py:85 msgid "These fields have been removed." msgstr "" -#: ckanext/canada/strings.py:83 +#: ckanext/canada/strings.py:88 msgid "Your form submission could not be validated, please re-submit the form." msgstr "" -#: ckanext/canada/strings.py:86 +#: ckanext/canada/strings.py:91 msgid "Open Government Portal" msgstr "" -#: ckanext/canada/strings.py:87 +#: ckanext/canada/strings.py:92 msgid "Open Government Portal (staging)" msgstr "" -#: ckanext/canada/strings.py:90 +#: ckanext/canada/strings.py:95 +msgid "Delete from DataStore" +msgstr "" + +#: ckanext/canada/strings.py:96 +msgid "Are you sure you want to delete the DataStore and Data Dictionary?" +msgstr "" + +#: ckanext/canada/strings.py:97 +#: ckanext/canada/templates/organization/confirm_delete_member.html:3 +#: ckanext/canada/templates/organization/confirm_delete_member.html:14 +#: ckanext/canada/templates/package/confirm_delete.html:3 +#: ckanext/canada/templates/package/confirm_delete.html:13 +#: ckanext/canada/templates/package/confirm_delete_resource.html:3 +#: ckanext/canada/templates/package/confirm_delete_resource.html:13 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:3 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:41 +#: ckanext/canada/templates/user/confirm_delete.html:3 +#: ckanext/canada/templates/user/confirm_delete.html:14 +msgid "Confirm Delete" +msgstr "" + +#: ckanext/canada/strings.py:100 +msgid "Validation Information" +msgstr "" + +#: ckanext/canada/strings.py:101 +msgid "Validation status:" +msgstr "" + +#: ckanext/canada/strings.py:102 +msgid "Validation timestamp:" +msgstr "" + +#: ckanext/canada/strings.py:103 +msgid "Duration:" +msgstr "" + +#: ckanext/canada/strings.py:106 msgid "Single" msgstr "" -#: ckanext/canada/strings.py:91 +#: ckanext/canada/strings.py:107 msgid "Repeatable" msgstr "" -#: ckanext/canada/strings.py:92 +#: ckanext/canada/strings.py:108 msgid "Optional" msgstr "" @@ -639,7 +718,7 @@ msgstr "" msgid "Badly formed hexadecimal UUID string" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:6 +#: ckanext/canada/templates/user/new_user_form.html:7 #: ckanext/canada/validators.py:198 ckanext/canada/validators.py:200 msgid "Please enter a valid email address." msgstr "" @@ -683,160 +762,148 @@ msgstr "" msgid "Invalid value for a digital object identifier." msgstr "" -#: ckanext/canada/view.py:101 +#: ckanext/canada/view.py:103 msgid "NotePlease try another search.
" msgstr "" -#: ckanext/canada/templates/admin/publish_search.html:69 +#: ckanext/canada/templates/admin/publish_search.html:75 msgid "" "There was an error while searching. Please try " "again.
" msgstr "" -#: ckanext/canada/templates/admin/publish_search.html:86 -#: ckanext/canada/templates/package/search.html:23 +#: ckanext/canada/templates/admin/publish_search.html:94 +#: ckanext/canada/templates/package/search.html:25 msgid "Search Filters" msgstr "" -#: ckanext/canada/templates/admin/publish_search.html:86 -#: ckanext/canada/templates/package/search.html:23 -#: ckanext/canada/templates/snippets/facet_list.html:56 -#: ckanext/canada/templates/snippets/facet_list.html:57 -#: ckanext/canada/templates/snippets/publish_facet.html:62 -#: ckanext/canada/templates/snippets/publish_facet.html:63 +#: ckanext/canada/templates/admin/publish_search.html:94 +#: ckanext/canada/templates/package/search.html:25 +#: ckanext/canada/templates/snippets/facet_list.html:61 +#: ckanext/canada/templates/snippets/facet_list.html:62 +#: ckanext/canada/templates/snippets/publish_facet.html:60 +#: ckanext/canada/templates/snippets/publish_facet.html:61 msgid "Clear All" msgstr "" -#: ckanext/canada/templates/admin/trash.html:20 -msgid "Purge" +#: ckanext/canada/templates/admin/trash.html:17 +msgid "Purge deleted datasets, organizations or groups forever and irreversibly." msgstr "" -#: ckanext/canada/templates/admin/trash.html:35 -msgid "Purge deleted datasets forever and irreversibly.
" -msgstr "Purge deleted records forever and irreversibly.
" - #: ckanext/canada/templates/admin/snippets/package_item.html:8 msgid "Publish?" msgstr "" @@ -2054,37 +2090,6 @@ msgstr "" msgid "Publish Selected Records" msgstr "" -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:3 -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:13 -#: ckanext/canada/templates/organization/confirm_delete_member.html:3 -#: ckanext/canada/templates/organization/confirm_delete_member.html:13 -#: ckanext/canada/templates/package/confirm_delete.html:3 -#: ckanext/canada/templates/package/confirm_delete.html:12 -#: ckanext/canada/templates/package/confirm_delete_resource.html:3 -#: ckanext/canada/templates/package/confirm_delete_resource.html:12 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:3 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:40 -#: ckanext/canada/templates/user/confirm_delete.html:3 -#: ckanext/canada/templates/user/confirm_delete.html:13 -msgid "Confirm Delete" -msgstr "" - -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:8 -#: ckanext/canada/templates/xloader/resource_data.html:9 -msgid "Are you sure you want to delete this DataStore table and Data Dictionary?" -msgstr "" - -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:12 -#: ckanext/canada/templates/organization/confirm_delete_member.html:12 -#: ckanext/canada/templates/package/confirm_delete.html:11 -#: ckanext/canada/templates/package/confirm_delete_resource.html:11 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:39 -#: ckanext/canada/templates/recombinant/create_pd_record.html:86 -#: ckanext/canada/templates/recombinant/update_pd_record.html:89 -#: ckanext/canada/templates/user/confirm_delete.html:12 -msgid "Cancel" -msgstr "" - #: ckanext/canada/templates/datastore/snippets/dictionary_form.html:7 msgid "English Label" msgstr "" @@ -2246,14 +2251,31 @@ msgid "" "appearance for your deputy head." msgstr "" +#: ckanext/canada/templates/macros/form/markdown.html:27 +msgid "" +"__bold text__
_italic text_
* list
* of
* " +"items1. numbered
2. list
3. of " +"itemshttps://auto.link.ed/
[Formatted " +"Link](https://formatted.link)
> block quote
Please note: HTML tags are stripped out for security" +" reasons
" +msgstr "" + +#: ckanext/canada/templates/macros/form/markdown.html:33 +msgid "" +"You can use Markdown formatting here" +msgstr "" + #: ckanext/canada/templates/organization/activity_stream.html:4 -#: ckanext/canada/templates/package/read_base.html:23 +#: ckanext/canada/templates/package/read_base.html:27 #: ckanext/canada/templates/user/activity_stream.html:12 msgid "Activity Stream" msgstr "" #: ckanext/canada/templates/organization/activity_stream.html:11 -#: ckanext/canada/templates/package/read_base.html:150 +#: ckanext/canada/templates/package/read_base.html:154 msgid "Atom Feed" msgstr "" @@ -2261,26 +2283,53 @@ msgstr "" msgid "Are you sure you want to delete member - {name}?" msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:15 -#: ckanext/canada/templates/organization/read_base.html:24 -#: ckanext/canada/templates/package/search.html:16 -#: ckanext/canada/templates/snippets/organization.html:37 -#: ckanext/canada/templates/user/read.html:21 -msgid "Datasets" -msgstr "Records" +#: ckanext/canada/templates/organization/confirm_delete_member.html:13 +#: ckanext/canada/templates/package/confirm_delete.html:12 +#: ckanext/canada/templates/package/confirm_delete_resource.html:12 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:40 +#: ckanext/canada/templates/recombinant/create_pd_record.html:87 +#: ckanext/canada/templates/recombinant/update_pd_record.html:90 +#: ckanext/canada/templates/user/confirm_delete.html:13 +msgid "Cancel" +msgstr "" + +#: ckanext/canada/templates/organization/edit.html:6 +#: ckanext/canada/templates/organization/edit_base.html:10 +#: ckanext/canada/templates/user/edit.html:7 +msgid "Manage" +msgstr "" + +#: ckanext/canada/templates/organization/edit_base.html:8 +#: ckanext/canada/templates/organization/index.html:26 +#: ckanext/canada/templates/organization/members.html:10 +#: ckanext/canada/templates/organization/read_base.html:7 +#: ckanext/canada/templates/snippets/cdts/header.html:154 +#: ckanext/canada/templates/user/read.html:28 +#: ckanext/canada/templates/user/read_base.html:12 +#: ckanext/canada/templates/user/read_base.html:97 +msgid "Organizations" +msgstr "" + +#: ckanext/canada/templates/organization/edit_base.html:19 +msgid "View Organization" +msgstr "" + +#: ckanext/canada/templates/organization/edit_base.html:26 +msgid "Edit Organization" +msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:18 -#: ckanext/canada/templates/organization/read_base.html:27 +#: ckanext/canada/templates/organization/edit_base.html:28 +#: ckanext/canada/templates/organization/read_base.html:21 msgid "Activity" msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:22 -#: ckanext/canada/templates/organization/read_base.html:31 +#: ckanext/canada/templates/organization/edit_base.html:30 +#: ckanext/canada/templates/organization/read_base.html:23 msgid "Edit Members" msgstr "" -#: ckanext/canada/templates/organization/edit_base.html:26 -#: ckanext/canada/templates/organization/read_base.html:40 +#: ckanext/canada/templates/organization/edit_base.html:32 +#: ckanext/canada/templates/organization/read_base.html:25 msgid "View Members" msgstr "" @@ -2292,15 +2341,6 @@ msgstr "" msgid "How about creating one?" msgstr "" -#: ckanext/canada/templates/organization/index.html:26 -#: ckanext/canada/templates/organization/members.html:10 -#: ckanext/canada/templates/organization/read_base.html:6 -#: ckanext/canada/templates/snippets/cdts/header.html:154 -#: ckanext/canada/templates/user/read.html:28 -#: ckanext/canada/templates/user/read_base.html:99 -msgid "Organizations" -msgstr "" - #: ckanext/canada/templates/organization/member_new.html:9 msgid "Back to all members" msgstr "" @@ -2310,54 +2350,54 @@ msgid "Edit Member" msgstr "" #: ckanext/canada/templates/organization/member_new.html:11 -#: ckanext/canada/templates/organization/member_new.html:66 +#: ckanext/canada/templates/organization/member_new.html:67 msgid "Add Member" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:19 +#: ckanext/canada/templates/organization/member_new.html:20 msgid "Existing User" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:22 +#: ckanext/canada/templates/organization/member_new.html:23 msgid "If you wish to add an existing user, search for their username below." msgstr "" -#: ckanext/canada/templates/organization/member_new.html:38 +#: ckanext/canada/templates/organization/member_new.html:39 msgid "or" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:44 +#: ckanext/canada/templates/organization/member_new.html:45 msgid "New User" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:47 +#: ckanext/canada/templates/organization/member_new.html:48 msgid "If you wish to invite a new user, enter their email address." msgstr "" -#: ckanext/canada/templates/organization/member_new.html:50 +#: ckanext/canada/templates/organization/member_new.html:51 msgid "Email address" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:60 +#: ckanext/canada/templates/organization/member_new.html:61 msgid "Are you sure you want to delete this member?" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:60 +#: ckanext/canada/templates/organization/member_new.html:61 #: ckanext/canada/templates/scheming/package/read.html:26 #: ckanext/canada/templates/scheming/snippets/form_field.html:21 -#: ckanext/canada/templates/user/edit_user_form.html:42 +#: ckanext/canada/templates/user/edit_user_form.html:43 msgid "Delete" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:62 +#: ckanext/canada/templates/organization/member_new.html:63 msgid "Update Member" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:78 +#: ckanext/canada/templates/organization/member_new.html:79 msgid "What are roles?" msgstr "" -#: ckanext/canada/templates/organization/member_new.html:81 +#: ckanext/canada/templates/organization/member_new.html:82 msgid "" "Admin: Can add/edit and delete datasets, as well as " "manage organization members.
Editor: Can add and " @@ -2376,9 +2416,13 @@ msgstr "" msgid "Members" msgstr "" -#: ckanext/canada/templates/organization/read.html:12 -msgid "Edit Organization" -msgstr "" +#: ckanext/canada/templates/organization/read_base.html:20 +#: ckanext/canada/templates/package/search.html:16 +#: ckanext/canada/templates/snippets/organization.html:37 +#: ckanext/canada/templates/user/read.html:21 +#: ckanext/canada/templates/user/read_base.html:11 +msgid "Datasets" +msgstr "Records" #: ckanext/canada/templates/organization/snippets/helper.html:2 msgid "What are Organizations?" @@ -2410,7 +2454,10 @@ msgstr[1] "{num} Records" msgid "0 Datasets" msgstr "0 Records" -#: ckanext/canada/templates/organization/snippets/organization_search.html:3 +#: ckanext/canada/templates/organization/snippets/organization_search.html:4 +#: ckanext/canada/templates/recombinant/snippets/org_select.html:18 +#: ckanext/canada/templates/scheming/form_snippets/organization_autocomplete.html:26 +#: ckanext/canada/templates/user/new_user_form.html:18 msgid "Search organizations..." msgstr "" @@ -2455,64 +2502,55 @@ msgstr "" msgid "Disabled" msgstr "" -#: ckanext/canada/templates/package/read.html:18 -#: ckanext/canada/templates/package/read.html:101 +#: ckanext/canada/templates/package/read.html:17 +#: ckanext/canada/templates/package/read.html:93 #: ckanext/canada/templates/package/snippets/resource_item.html:12 #: ckanext/canada/templates/scheming/display_snippets/fluent_tags.html:8 -#: ckanext/canada/templates/snippets/package_item.html:37 -#: ckanext/canada/templates/snippets/package_item.html:56 +#: ckanext/canada/templates/snippets/package_item.html:39 +#: ckanext/canada/templates/snippets/package_item.html:55 msgid "" "This third party metadata element has been translated using an automated " "translation tool. To report any discrepancies please contact open-ouvert" "@tbs-sct.gc.ca" msgstr "" -#: ckanext/canada/templates/package/read.html:24 -#: ckanext/canada/templates/package/resource_read.html:23 -#, python-format -msgid "" -"You're currently viewing an old version of this dataset. Some resources " -"may no longer exist or the dataset may not display correctly. To see the " -"current version, click here." -msgstr "" - +#: ckanext/canada/templates/package/read.html:39 #: ckanext/canada/templates/package/read.html:47 -#: ckanext/canada/templates/package/read.html:55 msgid "Action required:" msgstr "" -#: ckanext/canada/templates/package/read.html:48 +#: ckanext/canada/templates/package/read.html:40 msgid "" "Draft record has been saved and can be edited. Mark as ready to publish " "to continue." msgstr "" -#: ckanext/canada/templates/package/read.html:56 +#: ckanext/canada/templates/package/read.html:48 msgid "Seek out departmental approval and mark as approved to continue." msgstr "" -#: ckanext/canada/templates/package/read.html:63 +#: ckanext/canada/templates/package/read.html:55 msgid "Data record is in queue for validation." msgstr "" -#: ckanext/canada/templates/package/read.html:64 +#: ckanext/canada/templates/package/read.html:56 msgid "Record will be published by the following business day upon validation." msgstr "" -#: ckanext/canada/templates/package/read.html:82 -#: ckanext/canada/templates/package/read.html:83 +#: ckanext/canada/templates/package/read.html:74 +#: ckanext/canada/templates/package/read.html:75 msgid "View on Portal" msgstr "" -#: ckanext/canada/templates/package/read.html:89 +#: ckanext/canada/templates/package/read.html:81 msgid "This dataset has been deleted and is no longer accessible" msgstr "" -#: ckanext/canada/templates/package/read.html:112 +#: ckanext/canada/templates/package/read.html:104 msgid "Made available by the " msgstr "" -#: ckanext/canada/templates/package/read.html:114 +#: ckanext/canada/templates/package/read.html:106 msgid "" "
These resources are not under the control of the Government of Canada " "and the link is provided solely for the convenience of our website " @@ -2531,154 +2569,166 @@ msgid "" "information.
" msgstr "" -#: ckanext/canada/templates/package/read.html:129 -#: ckanext/canada/templates/package/read.html:152 -#: ckanext/canada/templates/package/read_base.html:56 -#: ckanext/canada/templates/package/read_base.html:65 -#: ckanext/canada/templates/package/read_base.html:81 -#: ckanext/canada/templates/package/read_base.html:155 -#: ckanext/canada/templates/package/read_base.html:187 -#: ckanext/canada/templates/recombinant/create_pd_record.html:29 -#: ckanext/canada/templates/recombinant/update_pd_record.html:29 -#: ckanext/canada/templates/snippets/package_item.html:91 +#: ckanext/canada/templates/package/read.html:121 +#: ckanext/canada/templates/package/read.html:144 +#: ckanext/canada/templates/package/read_base.html:60 +#: ckanext/canada/templates/package/read_base.html:69 +#: ckanext/canada/templates/package/read_base.html:85 +#: ckanext/canada/templates/package/read_base.html:159 +#: ckanext/canada/templates/package/read_base.html:191 +#: ckanext/canada/templates/recombinant/create_pd_record.html:30 +#: ckanext/canada/templates/recombinant/update_pd_record.html:30 +#: ckanext/canada/templates/snippets/package_item.html:90 msgid ":" msgstr "" -#: ckanext/canada/templates/package/read.html:150 +#: ckanext/canada/templates/package/read.html:142 msgid "Issued by" msgstr "" -#: ckanext/canada/templates/package/read.html:177 +#: ckanext/canada/templates/package/read.html:169 msgid "Related Items" msgstr "" -#: ckanext/canada/templates/package/read.html:191 +#: ckanext/canada/templates/package/read.html:183 msgid "Contact Information" msgstr "" -#: ckanext/canada/templates/package/read.html:193 +#: ckanext/canada/templates/package/read.html:185 msgid "Delivery Point:" msgstr "" -#: ckanext/canada/templates/package/read.html:196 +#: ckanext/canada/templates/package/read.html:188 msgid "City:" msgstr "" -#: ckanext/canada/templates/package/read.html:199 +#: ckanext/canada/templates/package/read.html:191 msgid "Administrative Area:" msgstr "" -#: ckanext/canada/templates/package/read.html:202 +#: ckanext/canada/templates/package/read.html:194 msgid "Postal Code:" msgstr "" -#: ckanext/canada/templates/package/read.html:205 +#: ckanext/canada/templates/package/read.html:197 msgid "Country:" msgstr "" -#: ckanext/canada/templates/package/read.html:208 +#: ckanext/canada/templates/package/read.html:200 msgid "Electronic Mail Address:" msgstr "" -#: ckanext/canada/templates/package/read.html:230 +#: ckanext/canada/templates/package/read.html:222 msgid "Similar records" msgstr "" -#: ckanext/canada/templates/package/read_base.html:18 +#: ckanext/canada/templates/package/read_base.html:22 msgid "Dataset" msgstr "" -#: ckanext/canada/templates/package/read_base.html:41 +#: ckanext/canada/templates/package/read_base.html:45 #: ckanext/canada/templates/scheming/package/resource_read.html:9 msgid "Additional Information" msgstr "" -#: ckanext/canada/templates/package/read_base.html:65 +#: ckanext/canada/templates/package/read_base.html:69 msgid "Temporal Coverage" msgstr "" -#: ckanext/canada/templates/package/read_base.html:68 +#: ckanext/canada/templates/package/read_base.html:72 msgid "to" msgstr "" -#: ckanext/canada/templates/package/read_base.html:70 +#: ckanext/canada/templates/package/read_base.html:74 msgid "to undefined" msgstr "" -#: ckanext/canada/templates/package/read_base.html:72 +#: ckanext/canada/templates/package/read_base.html:76 msgid "undefined to" msgstr "" -#: ckanext/canada/templates/package/read_base.html:81 +#: ckanext/canada/templates/package/read_base.html:85 msgid "Openness Rating" msgstr "" -#: ckanext/canada/templates/package/read_base.html:86 +#: ckanext/canada/templates/package/read_base.html:90 msgid "one star" msgstr "" -#: ckanext/canada/templates/package/read_base.html:87 +#: ckanext/canada/templates/package/read_base.html:91 msgid "two stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:88 +#: ckanext/canada/templates/package/read_base.html:92 msgid "three stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:89 +#: ckanext/canada/templates/package/read_base.html:93 msgid "four stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:90 +#: ckanext/canada/templates/package/read_base.html:94 msgid "five stars" msgstr "" -#: ckanext/canada/templates/package/read_base.html:101 +#: ckanext/canada/templates/package/read_base.html:105 msgid "About this Record" msgstr "" -#: ckanext/canada/templates/package/read_base.html:105 +#: ckanext/canada/templates/package/read_base.html:109 msgid "Record Released:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:109 +#: ckanext/canada/templates/package/read_base.html:113 msgid "Record Modified:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:113 +#: ckanext/canada/templates/package/read_base.html:117 msgid "Record ID:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:117 +#: ckanext/canada/templates/package/read_base.html:121 msgid "Metadata:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:121 +#: ckanext/canada/templates/package/read_base.html:125 msgid "Link to JSON format" msgstr "" -#: ckanext/canada/templates/package/read_base.html:127 +#: ckanext/canada/templates/package/read_base.html:131 msgid "DCAT (JSON-LD)" msgstr "" -#: ckanext/canada/templates/package/read_base.html:134 +#: ckanext/canada/templates/package/read_base.html:138 msgid "DCAT (XML)" msgstr "" -#: ckanext/canada/templates/package/read_base.html:142 +#: ckanext/canada/templates/package/read_base.html:146 msgid "FGP Metadata:" msgstr "" -#: ckanext/canada/templates/package/read_base.html:144 +#: ckanext/canada/templates/package/read_base.html:148 msgid "HNAP ISO:19115 Metadata Record" msgstr "" -#: ckanext/canada/templates/package/resource_edit.html:12 +#: ckanext/canada/templates/package/resource_edit.html:11 msgid "Go back" msgstr "" -#: ckanext/canada/templates/package/resource_read.html:58 -#: ckanext/canada/templates/package/snippets/resource_item.html:73 +#: ckanext/canada/templates/package/resource_edit_base.html:12 +msgid "All resources" +msgstr "" + +#: ckanext/canada/templates/package/resource_edit_base.html:14 +msgid "View resource" +msgstr "" + +#: ckanext/canada/templates/package/resource_read.html:62 +msgid "List of downloadable formats" +msgstr "" + +#: ckanext/canada/templates/package/resource_read.html:64 +#: ckanext/canada/templates/package/snippets/resource_item.html:81 msgid "Download" msgstr "" @@ -2691,11 +2741,23 @@ msgstr "" msgid "Search Open Government" msgstr "" -#: ckanext/canada/templates/package/search.html:49 +#: ckanext/canada/templates/package/search.html:37 +msgid "License" +msgstr "" + +#: ckanext/canada/templates/package/search.html:57 msgid "Please review your spelling, or reduce the number of filters selected." msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:63 +#: ckanext/canada/templates/package/view_edit_base.html:4 +msgid "All views" +msgstr "" + +#: ckanext/canada/templates/package/view_edit_base.html:7 +msgid "View view" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:71 #: ckanext/canada/templates/package/wet_datatable.html:9 msgid "Preview" msgstr "" @@ -2761,38 +2823,71 @@ msgstr "" msgid "Data API" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:56 +#: ckanext/canada/templates/package/snippets/resource_info.html:8 +msgid "Additional Information " +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_info.html:40 +#: ckanext/canada/templates/package/snippets/resource_item.html:34 +#: ckanext/canada/templates/package/snippets/resources.html:51 +#, python-format +msgid "+ %s more" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:64 msgid "Explore" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:65 +#: ckanext/canada/templates/package/snippets/resource_item.html:73 msgid "More information" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:75 +#: ckanext/canada/templates/package/snippets/resource_item.html:83 msgid "Go to resource" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:84 +#: ckanext/canada/templates/package/snippets/resource_item.html:92 #: ckanext/canada/templates/package/snippets/resources_list.html:9 #: ckanext/canada/templates/snippets/search_form.html:34 msgid "View on Map" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:89 -#: ckanext/canada/templates/package/snippets/resources.html:25 +#: ckanext/canada/templates/package/snippets/resource_item.html:97 +#: ckanext/canada/templates/package/snippets/resources.html:21 msgid "Edit resource" msgstr "" -#: ckanext/canada/templates/package/snippets/resource_item.html:91 +#: ckanext/canada/templates/package/snippets/resource_item.html:99 #: ckanext/canada/templates/package/snippets/resources.html:27 msgid "Views" msgstr "" +#: ckanext/canada/templates/package/snippets/resource_item.html:101 +#: ckanext/canada/templates/package/snippets/resources.html:29 +msgid "Are you sure you want to delete this resource?" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:102 +#: ckanext/canada/templates/package/snippets/resources.html:30 +msgid "Delete resource" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resources.html:24 +msgid "DataStore" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resources.html:25 +msgid "Data Dictionary" +msgstr "" + #: ckanext/canada/templates/package/snippets/resources_list.html:4 msgid "Data and Resources" msgstr "" +#: ckanext/canada/templates/package/snippets/resources_list.html:16 +msgid "Add new resource" +msgstr "" + #: ckanext/canada/templates/package/snippets/schemaorg.html:3 msgid "Government of Canada Open Government Portal" msgstr "" @@ -2885,19 +2980,19 @@ msgstr[1] "" msgid "Create Record" msgstr "" -#: ckanext/canada/templates/recombinant/create_pd_record.html:24 -#: ckanext/canada/templates/recombinant/update_pd_record.html:24 +#: ckanext/canada/templates/recombinant/create_pd_record.html:25 +#: ckanext/canada/templates/recombinant/update_pd_record.html:25 #: ckanext/canada/templates/scheming/snippets/errors.html:6 msgid "The form contains invalid entries:" msgstr "" -#: ckanext/canada/templates/recombinant/create_pd_record.html:54 -#: ckanext/canada/templates/recombinant/update_pd_record.html:57 +#: ckanext/canada/templates/recombinant/create_pd_record.html:55 +#: ckanext/canada/templates/recombinant/update_pd_record.html:58 msgid "You may select or deselect multiple entries (Ctrl+Click)." msgstr "" -#: ckanext/canada/templates/recombinant/create_pd_record.html:87 -#: ckanext/canada/templates/recombinant/update_pd_record.html:90 +#: ckanext/canada/templates/recombinant/create_pd_record.html:88 +#: ckanext/canada/templates/recombinant/update_pd_record.html:91 #: ckanext/canada/templates/scheming/package/snippets/package_form.html:63 msgid "Save" msgstr "" @@ -2919,11 +3014,15 @@ msgid "" "Information Coordinator." msgstr "" -#: ckanext/canada/templates/recombinant/resource_edit.html:39 +#: ckanext/canada/templates/recombinant/resource_edit.html:70 +msgid "Info" +msgstr "" + +#: ckanext/canada/templates/recombinant/resource_edit.html:77 msgid "Guide" msgstr "" -#: ckanext/canada/templates/recombinant/resource_edit.html:43 +#: ckanext/canada/templates/recombinant/resource_edit.html:81 #, python-format msgid "" "For information on how to prepare, maintain and upload templates to the " @@ -3004,6 +3103,16 @@ msgstr "" msgid "Image" msgstr "" +#: ckanext/canada/templates/scheming/organization/group_form.html:6 +#: ckanext/canada/templates/scheming/organization/group_form.html:8 +msgid "Update Organization" +msgstr "" + +#: ckanext/canada/templates/scheming/organization/group_form.html:12 +#: ckanext/canada/templates/scheming/organization/group_form.html:14 +msgid "Create Organization" +msgstr "" + #: ckanext/canada/templates/scheming/package/snippets/package_form.html:14 msgid "Catalogue Metadata" msgstr "" @@ -3089,8 +3198,16 @@ msgstr "" msgid "New activity item" msgstr "" -#: ckanext/canada/templates/snippets/activity_stream.html:8 -msgid "View the past 30 days of activity." +#: ckanext/canada/templates/snippets/activity_type_selector.html:12 +msgid "created datastore" +msgstr "" + +#: ckanext/canada/templates/snippets/activity_type_selector.html:15 +msgid "changed datastore" +msgstr "" + +#: ckanext/canada/templates/snippets/activity_type_selector.html:18 +msgid "deleted datastore" msgstr "" #: ckanext/canada/templates/snippets/dataset_facets.html:6 @@ -3098,13 +3215,13 @@ msgstr "" msgid "Suggested Datasets" msgstr "" -#: ckanext/canada/templates/snippets/facet_list.html:49 -#: ckanext/canada/templates/snippets/facet_list.html:50 +#: ckanext/canada/templates/snippets/facet_list.html:53 +#: ckanext/canada/templates/snippets/facet_list.html:54 msgid "Show less" msgstr "" -#: ckanext/canada/templates/snippets/facet_list.html:62 -#: ckanext/canada/templates/snippets/publish_facet.html:68 +#: ckanext/canada/templates/snippets/facet_list.html:68 +#: ckanext/canada/templates/snippets/publish_facet.html:67 msgid "There are no filters for this search" msgstr "" @@ -3112,32 +3229,36 @@ msgstr "" msgid "read more" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:60 +#: ckanext/canada/templates/snippets/package_item.html:35 +msgid "Deleted" +msgstr "" + +#: ckanext/canada/templates/snippets/package_item.html:59 msgid "This dataset has no description" msgstr "This record has no description" -#: ckanext/canada/templates/snippets/package_item.html:67 +#: ckanext/canada/templates/snippets/package_item.html:66 msgid "Organization:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:78 +#: ckanext/canada/templates/snippets/package_item.html:77 msgid "Issued by:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:100 -#: ckanext/canada/templates/snippets/package_item.html:117 +#: ckanext/canada/templates/snippets/package_item.html:99 +#: ckanext/canada/templates/snippets/package_item.html:116 msgid "Status:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:108 +#: ckanext/canada/templates/snippets/package_item.html:107 msgid "Date:" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:120 +#: ckanext/canada/templates/snippets/package_item.html:119 msgid "Request sent to data owner – awaiting response" msgstr "" -#: ckanext/canada/templates/snippets/package_item.html:127 +#: ckanext/canada/templates/snippets/package_item.html:128 msgid "Resource Formats:" msgstr "" @@ -3190,12 +3311,8 @@ msgstr "" msgid "Relevance" msgstr "" -#: ckanext/canada/templates/snippets/activities/changed_resource_view.html:8 -msgid "{actor} changed the {view_type} view {view}" -msgstr "" - -#: ckanext/canada/templates/snippets/activities/new_resource_view.html:8 -msgid "{actor} added the {view_type} view {view}" +#: ckanext/canada/templates/snippets/stream.html:8 +msgid "View the past 30 days of activity." msgstr "" #: ckanext/canada/templates/snippets/cdts/header.html:21 @@ -3208,10 +3325,8 @@ msgid "FAQ" msgstr "" #: ckanext/canada/templates/snippets/cdts/header.html:189 -#: ckanext/canada/templates/user/dashboard.html:4 -#: ckanext/canada/templates/user/dashboard_datasets.html:15 -#: ckanext/canada/templates/user/dashboard_groups.html:9 -#: ckanext/canada/templates/user/dashboard_organizations.html:9 +#: ckanext/canada/templates/user/dashboard.html:9 +#: ckanext/canada/templates/user/dashboard_datasets.html:19 msgid "Dashboard" msgstr "" @@ -3243,44 +3358,23 @@ msgstr "" msgid "Are you sure you want to delete user - {name}?" msgstr "" -#: ckanext/canada/templates/user/dashboard.html:4 +#: ckanext/canada/templates/user/dashboard.html:9 #: ckanext/canada/templates/user/dashboard.html:13 -#: ckanext/canada/templates/user/dashboard.html:37 -msgid "News feed" -msgstr "" - -#: ckanext/canada/templates/user/dashboard.html:16 -msgid "Activity from items that you follow" +#: ckanext/canada/templates/user/dashboard.html:18 +#: ckanext/canada/templates/user/dashboard.html:22 +msgid "My Activity" msgstr "" -#: ckanext/canada/templates/user/dashboard.html:30 -msgid "Add Dataset" -msgstr "Add Record" - -#: ckanext/canada/templates/user/dashboard.html:38 +#: ckanext/canada/templates/user/dashboard.html:23 msgid "My Datasets" msgstr "My Records" -#: ckanext/canada/templates/user/dashboard_datasets.html:11 +#: ckanext/canada/templates/user/dashboard_datasets.html:10 #: ckanext/canada/templates/user/dashboard_datasets.html:15 -#: ckanext/canada/templates/user/dashboard_datasets.html:22 +#: ckanext/canada/templates/user/dashboard_datasets.html:19 msgid "My Records" msgstr "" -#: ckanext/canada/templates/user/dashboard_groups.html:5 -#: ckanext/canada/templates/user/dashboard_groups.html:9 -msgid "My Groups" -msgstr "" - -#: ckanext/canada/templates/user/dashboard_organizations.html:5 -#: ckanext/canada/templates/user/dashboard_organizations.html:9 -msgid "My Organizations" -msgstr "" - -#: ckanext/canada/templates/user/edit.html:7 -msgid "Manage" -msgstr "" - #: ckanext/canada/templates/user/edit_base.html:7 msgid "Edit My Profile" msgstr "" @@ -3289,35 +3383,35 @@ msgstr "" msgid "Edit Profile" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:6 +#: ckanext/canada/templates/user/edit_user_form.html:7 msgid "Change details" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:8 +#: ckanext/canada/templates/user/edit_user_form.html:9 msgid "Full name" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:8 +#: ckanext/canada/templates/user/edit_user_form.html:9 msgid "eg. Joe Bloggs" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:9 +#: ckanext/canada/templates/user/edit_user_form.html:10 msgid "eg. joe@example.com" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:10 +#: ckanext/canada/templates/user/edit_user_form.html:11 msgid "A little information about yourself" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:12 +#: ckanext/canada/templates/user/edit_user_form.html:13 msgid "Subscribe to notification emails" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:19 +#: ckanext/canada/templates/user/edit_user_form.html:20 msgid "Change password" msgstr "" -#: ckanext/canada/templates/user/edit_user_form.html:22 +#: ckanext/canada/templates/user/edit_user_form.html:23 #: ckanext/canada/templates/user/perform_reset.html:8 msgid "password reset requirements" msgstr "" @@ -3329,30 +3423,30 @@ msgstr "" "characters are permitted.Privacy Statement
The Government of Canada is " @@ -3619,63 +3709,67 @@ msgid "" "have access to the Registry.
" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:72 +#: ckanext/canada/templates/user/new_user_form.html:73 msgid "I agree" msgstr "" -#: ckanext/canada/templates/user/new_user_form.html:73 +#: ckanext/canada/templates/user/new_user_form.html:74 msgid "I do not agree" msgstr "" #: ckanext/canada/templates/user/read_base.html:14 -msgid "Edit User" +msgid "API Tokens" msgstr "" -#: ckanext/canada/templates/user/read_base.html:22 +#: ckanext/canada/templates/user/read_base.html:17 +msgid "MFA" +msgstr "" + +#: ckanext/canada/templates/user/read_base.html:24 msgid "Details" msgstr "" -#: ckanext/canada/templates/user/read_base.html:32 +#: ckanext/canada/templates/user/read_base.html:36 msgid "Followers:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:36 -msgid "Edits:" +#: ckanext/canada/templates/user/read_base.html:40 +msgid "Datasets:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:50 +#: ckanext/canada/templates/user/read_base.html:48 msgid "Open ID:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:53 +#: ckanext/canada/templates/user/read_base.html:51 msgid "Username:" msgstr "" -#: ckanext/canada/templates/user/read_base.html:61 -#: ckanext/canada/templates/user/read_base.html:72 +#: ckanext/canada/templates/user/read_base.html:59 +#: ckanext/canada/templates/user/read_base.html:70 msgid "This means only you can see this" msgstr "" -#: ckanext/canada/templates/user/read_base.html:61 -#: ckanext/canada/templates/user/read_base.html:72 +#: ckanext/canada/templates/user/read_base.html:59 +#: ckanext/canada/templates/user/read_base.html:70 msgid "Private" msgstr "" -#: ckanext/canada/templates/user/read_base.html:66 +#: ckanext/canada/templates/user/read_base.html:64 msgid "Member Since" msgstr "" -#: ckanext/canada/templates/user/read_base.html:72 -#: ckanext/canada/templates/user/read_base.html:80 +#: ckanext/canada/templates/user/read_base.html:70 +#: ckanext/canada/templates/user/read_base.html:78 msgid "API Key" msgstr "" -#: ckanext/canada/templates/user/read_base.html:75 +#: ckanext/canada/templates/user/read_base.html:73 msgid "Show API Key" msgstr "" -#: ckanext/canada/templates/user/read_base.html:81 -#: ckanext/canada/templates/user/read_base.html:87 +#: ckanext/canada/templates/user/read_base.html:79 +#: ckanext/canada/templates/user/read_base.html:85 msgid "Close" msgstr "" @@ -3687,21 +3781,47 @@ msgstr "" msgid "Username Recovery" msgstr "" -#: ckanext/canada/templates/user/recover_username.html:20 +#: ckanext/canada/templates/user/recover_username.html:22 msgid "Request Recovery" msgstr "" +#: ckanext/canada/templates/user/snippets/login_form.html:10 +msgid "Login failed. Incorrect username or password." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:13 +msgid "Invalid code, please try again." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:16 +msgid "An unknown error occurred." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:30 +msgid "NOTE: Username and password are case sensitive." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:42 +msgid "Please enter your authenticator app generated 6-digit verification code." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:43 +msgid "Verification code" +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:47 +msgid "Need help?" +msgstr "" + #: ckanext/canada/templates/user/snippets/user_search.html:2 -#: ckanext/canada/templates/user/snippets/user_search.html:5 -#: ckanext/canada/templates/user/snippets/user_search.html:6 msgid "Search Users" msgstr "" -#: ckanext/canada/templates/xloader/resource_data.html:10 -msgid "Delete DataStore table" +#: ckanext/canada/templates/user/snippets/user_search.html:6 +msgid "Search users..." msgstr "" -#: ckanext/canada/templates/xloader/resource_data.html:22 +#: ckanext/canada/templates/xloader/resource_data.html:8 msgid "Upload to DataStore" msgstr "" @@ -8542,3 +8662,46 @@ msgstr "" #~ msgid "Invalid choice for" #~ msgstr "" +#~ msgid "" +#~ "You can use Markdown formatting here" +#~ msgstr "" + +#~ msgid "DataStore table and Data Dictionary deleted for resource %s" +#~ msgstr "" + +#~ msgid "Purge" +#~ msgstr "" + +#~ msgid "" +#~ "Are you sure you want to delete" +#~ " this DataStore table and Data " +#~ "Dictionary?" +#~ msgstr "" + +#~ msgid "" +#~ "You're currently viewing an old version" +#~ " of this dataset. Some resources may" +#~ " no longer exist or the dataset " +#~ "may not display correctly. To see " +#~ "the current version, click here." +#~ msgstr "" + +#~ msgid "News feed" +#~ msgstr "" + +#~ msgid "Activity from items that you follow" +#~ msgstr "" + +#~ msgid "Edit User" +#~ msgstr "" + +#~ msgid "Edits:" +#~ msgstr "" + +#~ msgid "Delete DataStore table" +#~ msgstr "" + diff --git a/ckanext/canada/i18n/fr/LC_MESSAGES/ckanext-canada.po b/ckanext/canada/i18n/fr/LC_MESSAGES/ckanext-canada.po index 3ead79fec..8bb3ead26 100644 --- a/ckanext/canada/i18n/fr/LC_MESSAGES/ckanext-canada.po +++ b/ckanext/canada/i18n/fr/LC_MESSAGES/ckanext-canada.po @@ -8,19 +8,41 @@ msgid "" msgstr "" "Project-Id-Version: PROJECT VERSION\n" "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n" -"POT-Creation-Date: 2024-10-10 13:40+0000\n" +"POT-Creation-Date: 2024-10-29 13:19+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME__bold text__
_italic text_
* list
* of
* " -"items1. numbered
2. list
3. of " -"itemshttps://auto.link.ed/
[Formatted " -"Link](https://formatted.link)
> block quote
Please note: HTML tags are stripped out for security" -" reasons
" -msgstr "" -"__texte en gras__
_texte en italique_
* liste
* " -"d'éléments1. liste
2. d'éléments
3. numérotés" -"https://lien.automatique/
[Lien " -"formaté](https://lien.formaté)
> bloc de citation
Remarque : les balises HTML sont supprimées pour des" -" raisons de sécurité
" +#: ckanext/canada/strings.py:69 +msgid "User %s deleted. You are now logged out." +msgstr "Utilisateur %s supprimé. Vous êtes maintenant déconnecté" #: ckanext/canada/strings.py:70 +msgid "User %s deleted." +msgstr "Utilisateur %s supprimé." + +#: ckanext/canada/strings.py:73 msgid "Please upload a file or link to an external resource" msgstr "" "Veuillez téléverser un fichier ou donner un lien vers une ressource " "externe" -#: ckanext/canada/strings.py:71 +#: ckanext/canada/strings.py:74 msgid "Cannot upload files of this type" msgstr "Impossible de téléverser un fichier de ce type" -#: ckanext/canada/strings.py:72 +#: ckanext/canada/strings.py:75 msgid "Cannot link files of this type" msgstr "Impossible de donner un lien vers un fichier de ce type" -#: ckanext/canada/strings.py:73 +#: ckanext/canada/strings.py:76 msgid "Your password must be {} characters or longer." msgstr "Votre mot de passe doit comporter au moins {} caractères." -#: ckanext/canada/strings.py:74 +#: ckanext/canada/strings.py:77 msgid "" "Your password must consist of at least three of the following character " "sets: uppercase characters, lowercase characters, digits, punctuation & " @@ -604,43 +640,89 @@ msgstr "" "suivants : majuscules, minuscules, chiffres, ponctuation et caractères " "spéciaux." -#: ckanext/canada/strings.py:76 +#: ckanext/canada/strings.py:79 msgid "Your password cannot be the same as your username." msgstr "Votre mot de passe ne peut pas être le même que votre nom d'utilisateur." -#: ckanext/canada/strings.py:79 +#: ckanext/canada/strings.py:81 +msgid "" +"Your current password is too weak. Please create a new password before " +"logging in again." +msgstr "" + +#: ckanext/canada/strings.py:84 msgid "These fields have been removed, click update below to save your changes." msgstr "" "Ces champs seront supprimés une fois que vous aurez sauvegardé vos " "changements." -#: ckanext/canada/strings.py:80 +#: ckanext/canada/strings.py:85 msgid "These fields have been removed." msgstr "Ces champs ont été supprimés." -#: ckanext/canada/strings.py:83 +#: ckanext/canada/strings.py:88 msgid "Your form submission could not be validated, please re-submit the form." msgstr "" "La soumission de votre formulaire n'a pas pu être confirmée. Veuillez le " "soumettre de nouveau." -#: ckanext/canada/strings.py:86 +#: ckanext/canada/strings.py:91 msgid "Open Government Portal" msgstr "Portail du gouvernement ouvert" -#: ckanext/canada/strings.py:87 +#: ckanext/canada/strings.py:92 msgid "Open Government Portal (staging)" msgstr "Portail du gouvernement ouvert (stadification)" -#: ckanext/canada/strings.py:90 +#: ckanext/canada/strings.py:95 +msgid "Delete from DataStore" +msgstr "Supprimer la table DataStore" + +#: ckanext/canada/strings.py:96 +msgid "Are you sure you want to delete the DataStore and Data Dictionary?" +msgstr "" +"Voulez-vous vraiment supprimer cette table DataStore et ce dictionnaire " +"de données" + +#: ckanext/canada/strings.py:97 +#: ckanext/canada/templates/organization/confirm_delete_member.html:3 +#: ckanext/canada/templates/organization/confirm_delete_member.html:14 +#: ckanext/canada/templates/package/confirm_delete.html:3 +#: ckanext/canada/templates/package/confirm_delete.html:13 +#: ckanext/canada/templates/package/confirm_delete_resource.html:3 +#: ckanext/canada/templates/package/confirm_delete_resource.html:13 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:3 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:41 +#: ckanext/canada/templates/user/confirm_delete.html:3 +#: ckanext/canada/templates/user/confirm_delete.html:14 +msgid "Confirm Delete" +msgstr "Confirmer la suppression" + +#: ckanext/canada/strings.py:100 +msgid "Validation Information" +msgstr "" + +#: ckanext/canada/strings.py:101 +msgid "Validation status:" +msgstr "" + +#: ckanext/canada/strings.py:102 +msgid "Validation timestamp:" +msgstr "" + +#: ckanext/canada/strings.py:103 +msgid "Duration:" +msgstr "" + +#: ckanext/canada/strings.py:106 msgid "Single" msgstr "Une seule" -#: ckanext/canada/strings.py:91 +#: ckanext/canada/strings.py:107 msgid "Repeatable" msgstr "Répétable" -#: ckanext/canada/strings.py:92 +#: ckanext/canada/strings.py:108 msgid "Optional" msgstr "Facultatif" @@ -673,7 +755,7 @@ msgstr "La balise \"%s\"ne peut pas contenir de caractères séparateurs U+%04x" msgid "Badly formed hexadecimal UUID string" msgstr "Chaîne UUID hexadécimale mal formée" -#: ckanext/canada/templates/user/new_user_form.html:6 +#: ckanext/canada/templates/user/new_user_form.html:7 #: ckanext/canada/validators.py:198 ckanext/canada/validators.py:200 msgid "Please enter a valid email address." msgstr "S’il vous plaît, mettez une adresse email valide." @@ -721,15 +803,15 @@ msgstr "" msgid "Invalid value for a digital object identifier." msgstr "" -#: ckanext/canada/view.py:101 +#: ckanext/canada/view.py:103 msgid "NoteVeuillez essayer une nouvelle recherche.
" -#: ckanext/canada/templates/admin/publish_search.html:69 +#: ckanext/canada/templates/admin/publish_search.html:75 msgid "" "There was an error while searching. Please try " "again.
" @@ -2306,29 +2335,25 @@ msgstr "" "Une erreur s’est produite lors de la recherche. " "Veuillez réessayer.
" -#: ckanext/canada/templates/admin/publish_search.html:86 -#: ckanext/canada/templates/package/search.html:23 +#: ckanext/canada/templates/admin/publish_search.html:94 +#: ckanext/canada/templates/package/search.html:25 msgid "Search Filters" msgstr "Filtres de recherche" -#: ckanext/canada/templates/admin/publish_search.html:86 -#: ckanext/canada/templates/package/search.html:23 -#: ckanext/canada/templates/snippets/facet_list.html:56 -#: ckanext/canada/templates/snippets/facet_list.html:57 -#: ckanext/canada/templates/snippets/publish_facet.html:62 -#: ckanext/canada/templates/snippets/publish_facet.html:63 +#: ckanext/canada/templates/admin/publish_search.html:94 +#: ckanext/canada/templates/package/search.html:25 +#: ckanext/canada/templates/snippets/facet_list.html:61 +#: ckanext/canada/templates/snippets/facet_list.html:62 +#: ckanext/canada/templates/snippets/publish_facet.html:60 +#: ckanext/canada/templates/snippets/publish_facet.html:61 msgid "Clear All" msgstr "Effacer tout" -#: ckanext/canada/templates/admin/trash.html:20 -msgid "Purge" -msgstr "Purge" - -#: ckanext/canada/templates/admin/trash.html:35 -msgid "Purge deleted datasets forever and irreversibly.
" +#: ckanext/canada/templates/admin/trash.html:17 +msgid "Purge deleted datasets, organizations or groups forever and irreversibly." msgstr "" -"Purgez les jeux de données supprimés de manière définitive et " -"irréversible.
" +"Suppression des ensembles de données, des organismes ou des groupes de " +"manière définitive et irréversible." #: ckanext/canada/templates/admin/snippets/package_item.html:8 msgid "Publish?" @@ -2352,39 +2377,6 @@ msgstr "" msgid "Publish Selected Records" msgstr "Publier les dossiers sélectionnés" -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:3 -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:13 -#: ckanext/canada/templates/organization/confirm_delete_member.html:3 -#: ckanext/canada/templates/organization/confirm_delete_member.html:13 -#: ckanext/canada/templates/package/confirm_delete.html:3 -#: ckanext/canada/templates/package/confirm_delete.html:12 -#: ckanext/canada/templates/package/confirm_delete_resource.html:3 -#: ckanext/canada/templates/package/confirm_delete_resource.html:12 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:3 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:40 -#: ckanext/canada/templates/user/confirm_delete.html:3 -#: ckanext/canada/templates/user/confirm_delete.html:13 -msgid "Confirm Delete" -msgstr "Confirmer la suppression" - -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:8 -#: ckanext/canada/templates/xloader/resource_data.html:9 -msgid "Are you sure you want to delete this DataStore table and Data Dictionary?" -msgstr "" -"Voulez-vous vraiment supprimer cette table DataStore et ce dictionnaire " -"de données" - -#: ckanext/canada/templates/canada/confirm_datastore_delete.html:12 -#: ckanext/canada/templates/organization/confirm_delete_member.html:12 -#: ckanext/canada/templates/package/confirm_delete.html:11 -#: ckanext/canada/templates/package/confirm_delete_resource.html:11 -#: ckanext/canada/templates/recombinant/confirm_select_delete.html:39 -#: ckanext/canada/templates/recombinant/create_pd_record.html:86 -#: ckanext/canada/templates/recombinant/update_pd_record.html:89 -#: ckanext/canada/templates/user/confirm_delete.html:12 -msgid "Cancel" -msgstr "Annuler" - #: ckanext/canada/templates/datastore/snippets/dictionary_form.html:7 msgid "English Label" msgstr "Label anglais" @@ -2578,14 +2570,40 @@ msgstr "" "administrateur général devant un comité parlementaire, ajoutez-y du " "contenu ou modifiez-la." +#: ckanext/canada/templates/macros/form/markdown.html:27 +msgid "" +"__bold text__
_italic text_
* list
* of
* " +"items1. numbered
2. list
3. of " +"itemshttps://auto.link.ed/
[Formatted " +"Link](https://formatted.link)
> block quote
Please note: HTML tags are stripped out for security" +" reasons
" +msgstr "" +"__texte en gras__
_texte en italique_
* liste
* " +"d'éléments1. liste
2. d'éléments
3. " +"numérotéshttps://lien.automatique/
[Lien " +"formaté](https://lien.formaté)
> bloc de citation
Remarque : les balises HTML sont supprimées pour des" +" raisons de sécurité
" + +#: ckanext/canada/templates/macros/form/markdown.html:33 +msgid "" +"You can use Markdown formatting here" +msgstr "" +"Vous pouvez utiliser le formatage du texte dans Markdown ici" + #: ckanext/canada/templates/organization/activity_stream.html:4 -#: ckanext/canada/templates/package/read_base.html:23 +#: ckanext/canada/templates/package/read_base.html:27 #: ckanext/canada/templates/user/activity_stream.html:12 msgid "Activity Stream" msgstr "Flux d’Activités" #: ckanext/canada/templates/organization/activity_stream.html:11 -#: ckanext/canada/templates/package/read_base.html:150 +#: ckanext/canada/templates/package/read_base.html:154 msgid "Atom Feed" msgstr "Fil de nouvelles Atom" @@ -2593,26 +2611,53 @@ msgstr "Fil de nouvelles Atom" msgid "Are you sure you want to delete member - {name}?" msgstr "Êtes-vous sûr de vouloir supprimer le membre {name}?" -#: ckanext/canada/templates/organization/edit_base.html:15 -#: ckanext/canada/templates/organization/read_base.html:24 -#: ckanext/canada/templates/package/search.html:16 -#: ckanext/canada/templates/snippets/organization.html:37 -#: ckanext/canada/templates/user/read.html:21 -msgid "Datasets" -msgstr "Dossiers" +#: ckanext/canada/templates/organization/confirm_delete_member.html:13 +#: ckanext/canada/templates/package/confirm_delete.html:12 +#: ckanext/canada/templates/package/confirm_delete_resource.html:12 +#: ckanext/canada/templates/recombinant/confirm_select_delete.html:40 +#: ckanext/canada/templates/recombinant/create_pd_record.html:87 +#: ckanext/canada/templates/recombinant/update_pd_record.html:90 +#: ckanext/canada/templates/user/confirm_delete.html:13 +msgid "Cancel" +msgstr "Annuler" -#: ckanext/canada/templates/organization/edit_base.html:18 -#: ckanext/canada/templates/organization/read_base.html:27 +#: ckanext/canada/templates/organization/edit.html:6 +#: ckanext/canada/templates/organization/edit_base.html:10 +#: ckanext/canada/templates/user/edit.html:7 +msgid "Manage" +msgstr "Gérer" + +#: ckanext/canada/templates/organization/edit_base.html:8 +#: ckanext/canada/templates/organization/index.html:26 +#: ckanext/canada/templates/organization/members.html:10 +#: ckanext/canada/templates/organization/read_base.html:7 +#: ckanext/canada/templates/snippets/cdts/header.html:154 +#: ckanext/canada/templates/user/read.html:28 +#: ckanext/canada/templates/user/read_base.html:12 +#: ckanext/canada/templates/user/read_base.html:97 +msgid "Organizations" +msgstr "Organisations" + +#: ckanext/canada/templates/organization/edit_base.html:19 +msgid "View Organization" +msgstr "Voir l’organisation" + +#: ckanext/canada/templates/organization/edit_base.html:26 +msgid "Edit Organization" +msgstr "Modifier l’organisation" + +#: ckanext/canada/templates/organization/edit_base.html:28 +#: ckanext/canada/templates/organization/read_base.html:21 msgid "Activity" msgstr "Activité" -#: ckanext/canada/templates/organization/edit_base.html:22 -#: ckanext/canada/templates/organization/read_base.html:31 +#: ckanext/canada/templates/organization/edit_base.html:30 +#: ckanext/canada/templates/organization/read_base.html:23 msgid "Edit Members" msgstr "Modifier les membres" -#: ckanext/canada/templates/organization/edit_base.html:26 -#: ckanext/canada/templates/organization/read_base.html:40 +#: ckanext/canada/templates/organization/edit_base.html:32 +#: ckanext/canada/templates/organization/read_base.html:25 msgid "View Members" msgstr "Afficher les membres" @@ -2624,15 +2669,6 @@ msgstr "Il n’y a actuellement aucune organisation pour ce site" msgid "How about creating one?" msgstr "Pourquoi ne pas en créer une?" -#: ckanext/canada/templates/organization/index.html:26 -#: ckanext/canada/templates/organization/members.html:10 -#: ckanext/canada/templates/organization/read_base.html:6 -#: ckanext/canada/templates/snippets/cdts/header.html:154 -#: ckanext/canada/templates/user/read.html:28 -#: ckanext/canada/templates/user/read_base.html:99 -msgid "Organizations" -msgstr "Organisations" - #: ckanext/canada/templates/organization/member_new.html:9 msgid "Back to all members" msgstr "Retour à tous les membres" @@ -2642,58 +2678,58 @@ msgid "Edit Member" msgstr "Modifier le membre" #: ckanext/canada/templates/organization/member_new.html:11 -#: ckanext/canada/templates/organization/member_new.html:66 +#: ckanext/canada/templates/organization/member_new.html:67 msgid "Add Member" msgstr "Ajouter un membre" -#: ckanext/canada/templates/organization/member_new.html:19 +#: ckanext/canada/templates/organization/member_new.html:20 msgid "Existing User" msgstr "Utilisateur existant" -#: ckanext/canada/templates/organization/member_new.html:22 +#: ckanext/canada/templates/organization/member_new.html:23 msgid "If you wish to add an existing user, search for their username below." msgstr "" "Si vous souhaitez ajouter un utilisateur existant recherchez son nom " "d’utilisateur ci-dessous." -#: ckanext/canada/templates/organization/member_new.html:38 +#: ckanext/canada/templates/organization/member_new.html:39 msgid "or" msgstr "ou" -#: ckanext/canada/templates/organization/member_new.html:44 +#: ckanext/canada/templates/organization/member_new.html:45 msgid "New User" msgstr "Nouvel utilisateur" -#: ckanext/canada/templates/organization/member_new.html:47 +#: ckanext/canada/templates/organization/member_new.html:48 msgid "If you wish to invite a new user, enter their email address." msgstr "" "Si vous souhaitez inviter un nouvel utilisateur saisissez son adresse " "électronique." -#: ckanext/canada/templates/organization/member_new.html:50 +#: ckanext/canada/templates/organization/member_new.html:51 msgid "Email address" msgstr "Adresse électronique" -#: ckanext/canada/templates/organization/member_new.html:60 +#: ckanext/canada/templates/organization/member_new.html:61 msgid "Are you sure you want to delete this member?" msgstr "Êtes-vous sûr de vouloir supprimer ce membre?" -#: ckanext/canada/templates/organization/member_new.html:60 +#: ckanext/canada/templates/organization/member_new.html:61 #: ckanext/canada/templates/scheming/package/read.html:26 #: ckanext/canada/templates/scheming/snippets/form_field.html:21 -#: ckanext/canada/templates/user/edit_user_form.html:42 +#: ckanext/canada/templates/user/edit_user_form.html:43 msgid "Delete" msgstr "Supprimer" -#: ckanext/canada/templates/organization/member_new.html:62 +#: ckanext/canada/templates/organization/member_new.html:63 msgid "Update Member" msgstr "Mise à jour du membre" -#: ckanext/canada/templates/organization/member_new.html:78 +#: ckanext/canada/templates/organization/member_new.html:79 msgid "What are roles?" msgstr "Que sont les rôles?" -#: ckanext/canada/templates/organization/member_new.html:81 +#: ckanext/canada/templates/organization/member_new.html:82 msgid "" "Admin: Can add/edit and delete datasets, as well as " "manage organization members.
Editor: Can add and " @@ -2713,9 +2749,13 @@ msgstr "" msgid "Members" msgstr "Membres" -#: ckanext/canada/templates/organization/read.html:12 -msgid "Edit Organization" -msgstr "Modifier l’organisation" +#: ckanext/canada/templates/organization/read_base.html:20 +#: ckanext/canada/templates/package/search.html:16 +#: ckanext/canada/templates/snippets/organization.html:37 +#: ckanext/canada/templates/user/read.html:21 +#: ckanext/canada/templates/user/read_base.html:11 +msgid "Datasets" +msgstr "Dossiers" #: ckanext/canada/templates/organization/snippets/helper.html:2 msgid "What are Organizations?" @@ -2748,7 +2788,10 @@ msgstr[1] "{num} dossiers" msgid "0 Datasets" msgstr "0 dossiers" -#: ckanext/canada/templates/organization/snippets/organization_search.html:3 +#: ckanext/canada/templates/organization/snippets/organization_search.html:4 +#: ckanext/canada/templates/recombinant/snippets/org_select.html:18 +#: ckanext/canada/templates/scheming/form_snippets/organization_autocomplete.html:26 +#: ckanext/canada/templates/user/new_user_form.html:18 msgid "Search organizations..." msgstr "Rechercher les organisations..." @@ -2796,12 +2839,12 @@ msgstr "Retourner à la page de recherche" msgid "Disabled" msgstr "Désactivé" -#: ckanext/canada/templates/package/read.html:18 -#: ckanext/canada/templates/package/read.html:101 +#: ckanext/canada/templates/package/read.html:17 +#: ckanext/canada/templates/package/read.html:93 #: ckanext/canada/templates/package/snippets/resource_item.html:12 #: ckanext/canada/templates/scheming/display_snippets/fluent_tags.html:8 -#: ckanext/canada/templates/snippets/package_item.html:37 -#: ckanext/canada/templates/snippets/package_item.html:56 +#: ckanext/canada/templates/snippets/package_item.html:39 +#: ckanext/canada/templates/snippets/package_item.html:55 msgid "" "This third party metadata element has been translated using an automated " "translation tool. To report any discrepancies please contact open-ouvert" @@ -2811,25 +2854,12 @@ msgstr "" "traduction automatique. Pour signaler toute anomalie veuillez communiquer" " avec open-ouvert@tbs-sct.gc.ca" -#: ckanext/canada/templates/package/read.html:24 -#: ckanext/canada/templates/package/resource_read.html:23 -#, python-format -msgid "" -"You're currently viewing an old version of this dataset. Some resources " -"may no longer exist or the dataset may not display correctly. To see the " -"current version, click here." -msgstr "" -"Vous consultez actuellement une ancienne version de ce jeu de données. Il" -" se peut que certaines ressources n’existent plus ou que le jeu de " -"données ne s’affiche pas correctement. Pour voir la version actuelle, " -"cliquez ici." - +#: ckanext/canada/templates/package/read.html:39 #: ckanext/canada/templates/package/read.html:47 -#: ckanext/canada/templates/package/read.html:55 msgid "Action required:" msgstr "Mesure requise :" -#: ckanext/canada/templates/package/read.html:48 +#: ckanext/canada/templates/package/read.html:40 msgid "" "Draft record has been saved and can be edited. Mark as ready to publish " "to continue." @@ -2837,36 +2867,36 @@ msgstr "" "Une ébauche du document a été sauvegardée et peut-être modifiée. Marquer " "en tant que prête à publier pour poursuivre." -#: ckanext/canada/templates/package/read.html:56 +#: ckanext/canada/templates/package/read.html:48 msgid "Seek out departmental approval and mark as approved to continue." msgstr "" "Chercher à obtenir l'approbation du ministère et marquer en tant " "qu'approuvé pour poursuivre." -#: ckanext/canada/templates/package/read.html:63 +#: ckanext/canada/templates/package/read.html:55 msgid "Data record is in queue for validation." msgstr "La fiche est dans la file d'attente à des fins de validation." -#: ckanext/canada/templates/package/read.html:64 +#: ckanext/canada/templates/package/read.html:56 msgid "Record will be published by the following business day upon validation." msgstr "" "Le document sera publié d'ici le prochain jour ouvrable une fois qu'il " "aura été validé." -#: ckanext/canada/templates/package/read.html:82 -#: ckanext/canada/templates/package/read.html:83 +#: ckanext/canada/templates/package/read.html:74 +#: ckanext/canada/templates/package/read.html:75 msgid "View on Portal" msgstr "Consulter le Portail" -#: ckanext/canada/templates/package/read.html:89 +#: ckanext/canada/templates/package/read.html:81 msgid "This dataset has been deleted and is no longer accessible" msgstr "Cet ensemble de données a été supprimé et n’est plus accessible" -#: ckanext/canada/templates/package/read.html:112 +#: ckanext/canada/templates/package/read.html:104 msgid "Made available by the " msgstr "Rendus disponibles par l’entremise du " -#: ckanext/canada/templates/package/read.html:114 +#: ckanext/canada/templates/package/read.html:106 msgid "" "
These resources are not under the control of the Government of Canada " "and the link is provided solely for the convenience of our website " @@ -2904,154 +2934,166 @@ msgstr "" " Web non gouvernemental avant de fournir leurs renseignements " "personnels.
" -#: ckanext/canada/templates/package/read.html:129 -#: ckanext/canada/templates/package/read.html:152 -#: ckanext/canada/templates/package/read_base.html:56 -#: ckanext/canada/templates/package/read_base.html:65 -#: ckanext/canada/templates/package/read_base.html:81 -#: ckanext/canada/templates/package/read_base.html:155 -#: ckanext/canada/templates/package/read_base.html:187 -#: ckanext/canada/templates/recombinant/create_pd_record.html:29 -#: ckanext/canada/templates/recombinant/update_pd_record.html:29 -#: ckanext/canada/templates/snippets/package_item.html:91 +#: ckanext/canada/templates/package/read.html:121 +#: ckanext/canada/templates/package/read.html:144 +#: ckanext/canada/templates/package/read_base.html:60 +#: ckanext/canada/templates/package/read_base.html:69 +#: ckanext/canada/templates/package/read_base.html:85 +#: ckanext/canada/templates/package/read_base.html:159 +#: ckanext/canada/templates/package/read_base.html:191 +#: ckanext/canada/templates/recombinant/create_pd_record.html:30 +#: ckanext/canada/templates/recombinant/update_pd_record.html:30 +#: ckanext/canada/templates/snippets/package_item.html:90 msgid ":" msgstr " :" -#: ckanext/canada/templates/package/read.html:150 +#: ckanext/canada/templates/package/read.html:142 msgid "Issued by" msgstr "Publiée par" -#: ckanext/canada/templates/package/read.html:177 +#: ckanext/canada/templates/package/read.html:169 msgid "Related Items" msgstr "Articles connexes" -#: ckanext/canada/templates/package/read.html:191 +#: ckanext/canada/templates/package/read.html:183 msgid "Contact Information" msgstr "Coordonnées" -#: ckanext/canada/templates/package/read.html:193 +#: ckanext/canada/templates/package/read.html:185 msgid "Delivery Point:" msgstr "Point de livraison :" -#: ckanext/canada/templates/package/read.html:196 +#: ckanext/canada/templates/package/read.html:188 msgid "City:" msgstr "Ville :" -#: ckanext/canada/templates/package/read.html:199 +#: ckanext/canada/templates/package/read.html:191 msgid "Administrative Area:" msgstr "Zone administrative :" -#: ckanext/canada/templates/package/read.html:202 +#: ckanext/canada/templates/package/read.html:194 msgid "Postal Code:" msgstr "Code postal :" -#: ckanext/canada/templates/package/read.html:205 +#: ckanext/canada/templates/package/read.html:197 msgid "Country:" msgstr "Pays :" -#: ckanext/canada/templates/package/read.html:208 +#: ckanext/canada/templates/package/read.html:200 msgid "Electronic Mail Address:" msgstr "Adresse de courrier électronique :" -#: ckanext/canada/templates/package/read.html:230 +#: ckanext/canada/templates/package/read.html:222 msgid "Similar records" msgstr "Dossiers similaires" -#: ckanext/canada/templates/package/read_base.html:18 +#: ckanext/canada/templates/package/read_base.html:22 msgid "Dataset" msgstr "Jeu de données" -#: ckanext/canada/templates/package/read_base.html:41 +#: ckanext/canada/templates/package/read_base.html:45 #: ckanext/canada/templates/scheming/package/resource_read.html:9 msgid "Additional Information" msgstr "Informations complémentaires" -#: ckanext/canada/templates/package/read_base.html:65 +#: ckanext/canada/templates/package/read_base.html:69 msgid "Temporal Coverage" msgstr "Couverture temporelle" -#: ckanext/canada/templates/package/read_base.html:68 +#: ckanext/canada/templates/package/read_base.html:72 msgid "to" msgstr "à " -#: ckanext/canada/templates/package/read_base.html:70 +#: ckanext/canada/templates/package/read_base.html:74 msgid "to undefined" msgstr "à non défini" -#: ckanext/canada/templates/package/read_base.html:72 +#: ckanext/canada/templates/package/read_base.html:76 msgid "undefined to" msgstr "non défini à " -#: ckanext/canada/templates/package/read_base.html:81 +#: ckanext/canada/templates/package/read_base.html:85 msgid "Openness Rating" msgstr "Cote de degrée d’ouverture des données" -#: ckanext/canada/templates/package/read_base.html:86 +#: ckanext/canada/templates/package/read_base.html:90 msgid "one star" msgstr "une étoile" -#: ckanext/canada/templates/package/read_base.html:87 +#: ckanext/canada/templates/package/read_base.html:91 msgid "two stars" msgstr "deux étoiles" -#: ckanext/canada/templates/package/read_base.html:88 +#: ckanext/canada/templates/package/read_base.html:92 msgid "three stars" msgstr "trois étoiles" -#: ckanext/canada/templates/package/read_base.html:89 +#: ckanext/canada/templates/package/read_base.html:93 msgid "four stars" msgstr "quatre étoiles" -#: ckanext/canada/templates/package/read_base.html:90 +#: ckanext/canada/templates/package/read_base.html:94 msgid "five stars" msgstr "cinq étoiles" -#: ckanext/canada/templates/package/read_base.html:101 +#: ckanext/canada/templates/package/read_base.html:105 msgid "About this Record" msgstr "Au sujet de ce dossier" -#: ckanext/canada/templates/package/read_base.html:105 +#: ckanext/canada/templates/package/read_base.html:109 msgid "Record Released:" msgstr "Dossier publié :" -#: ckanext/canada/templates/package/read_base.html:109 +#: ckanext/canada/templates/package/read_base.html:113 msgid "Record Modified:" msgstr "Dossier modifié :" -#: ckanext/canada/templates/package/read_base.html:113 +#: ckanext/canada/templates/package/read_base.html:117 msgid "Record ID:" msgstr "Identificateur du dossier :" -#: ckanext/canada/templates/package/read_base.html:117 +#: ckanext/canada/templates/package/read_base.html:121 msgid "Metadata:" msgstr "Métadonnées :" -#: ckanext/canada/templates/package/read_base.html:121 +#: ckanext/canada/templates/package/read_base.html:125 msgid "Link to JSON format" msgstr "Lien au format JSON" -#: ckanext/canada/templates/package/read_base.html:127 +#: ckanext/canada/templates/package/read_base.html:131 msgid "DCAT (JSON-LD)" msgstr "DCAT (JSON-LD)" -#: ckanext/canada/templates/package/read_base.html:134 +#: ckanext/canada/templates/package/read_base.html:138 msgid "DCAT (XML)" msgstr "DCAT (XML)" -#: ckanext/canada/templates/package/read_base.html:142 +#: ckanext/canada/templates/package/read_base.html:146 msgid "FGP Metadata:" msgstr "Métadonnées de la PGF :" -#: ckanext/canada/templates/package/read_base.html:144 +#: ckanext/canada/templates/package/read_base.html:148 msgid "HNAP ISO:19115 Metadata Record" msgstr "Enregistrement de métadonnées de HNAP ISO:19115" -#: ckanext/canada/templates/package/resource_edit.html:12 +#: ckanext/canada/templates/package/resource_edit.html:11 msgid "Go back" msgstr "Retourner" -#: ckanext/canada/templates/package/resource_read.html:58 -#: ckanext/canada/templates/package/snippets/resource_item.html:73 +#: ckanext/canada/templates/package/resource_edit_base.html:12 +msgid "All resources" +msgstr "" + +#: ckanext/canada/templates/package/resource_edit_base.html:14 +msgid "View resource" +msgstr "" + +#: ckanext/canada/templates/package/resource_read.html:62 +msgid "List of downloadable formats" +msgstr "" + +#: ckanext/canada/templates/package/resource_read.html:64 +#: ckanext/canada/templates/package/snippets/resource_item.html:81 msgid "Download" msgstr "Télécharger" @@ -3064,13 +3106,25 @@ msgstr "Ressources" msgid "Search Open Government" msgstr "Recherche du Gouvernement ouvert" -#: ckanext/canada/templates/package/search.html:49 +#: ckanext/canada/templates/package/search.html:37 +msgid "License" +msgstr "" + +#: ckanext/canada/templates/package/search.html:57 msgid "Please review your spelling, or reduce the number of filters selected." msgstr "" "S’il vous plaît vérifier l’orthographe, ou réduire le nombre de filtres " "sélectionnés." -#: ckanext/canada/templates/package/snippets/resource_item.html:63 +#: ckanext/canada/templates/package/view_edit_base.html:4 +msgid "All views" +msgstr "" + +#: ckanext/canada/templates/package/view_edit_base.html:7 +msgid "View view" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:71 #: ckanext/canada/templates/package/wet_datatable.html:9 msgid "Preview" msgstr "Aperçu" @@ -3136,38 +3190,71 @@ msgstr "Chargement..." msgid "Data API" msgstr "API de données" -#: ckanext/canada/templates/package/snippets/resource_item.html:56 +#: ckanext/canada/templates/package/snippets/resource_info.html:8 +msgid "Additional Information " +msgstr "Informations complémentaires" + +#: ckanext/canada/templates/package/snippets/resource_info.html:40 +#: ckanext/canada/templates/package/snippets/resource_item.html:34 +#: ckanext/canada/templates/package/snippets/resources.html:51 +#, python-format +msgid "+ %s more" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:64 msgid "Explore" msgstr "Explorer" -#: ckanext/canada/templates/package/snippets/resource_item.html:65 +#: ckanext/canada/templates/package/snippets/resource_item.html:73 msgid "More information" msgstr "Plus d'information" -#: ckanext/canada/templates/package/snippets/resource_item.html:75 +#: ckanext/canada/templates/package/snippets/resource_item.html:83 msgid "Go to resource" msgstr "Aller à la ressource" -#: ckanext/canada/templates/package/snippets/resource_item.html:84 +#: ckanext/canada/templates/package/snippets/resource_item.html:92 #: ckanext/canada/templates/package/snippets/resources_list.html:9 #: ckanext/canada/templates/snippets/search_form.html:34 msgid "View on Map" msgstr "Afficher la carte" -#: ckanext/canada/templates/package/snippets/resource_item.html:89 -#: ckanext/canada/templates/package/snippets/resources.html:25 +#: ckanext/canada/templates/package/snippets/resource_item.html:97 +#: ckanext/canada/templates/package/snippets/resources.html:21 msgid "Edit resource" msgstr "Editer la ressource" -#: ckanext/canada/templates/package/snippets/resource_item.html:91 +#: ckanext/canada/templates/package/snippets/resource_item.html:99 #: ckanext/canada/templates/package/snippets/resources.html:27 msgid "Views" msgstr "Vues" +#: ckanext/canada/templates/package/snippets/resource_item.html:101 +#: ckanext/canada/templates/package/snippets/resources.html:29 +msgid "Are you sure you want to delete this resource?" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resource_item.html:102 +#: ckanext/canada/templates/package/snippets/resources.html:30 +msgid "Delete resource" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resources.html:24 +msgid "DataStore" +msgstr "" + +#: ckanext/canada/templates/package/snippets/resources.html:25 +msgid "Data Dictionary" +msgstr "Dictionnaire de données" + #: ckanext/canada/templates/package/snippets/resources_list.html:4 msgid "Data and Resources" msgstr "Données et ressources" +#: ckanext/canada/templates/package/snippets/resources_list.html:16 +msgid "Add new resource" +msgstr "" + #: ckanext/canada/templates/package/snippets/schemaorg.html:3 msgid "Government of Canada Open Government Portal" msgstr "Gouvernement du Canada site gouvernemental ouvert" @@ -3268,19 +3355,19 @@ msgstr[1] "" msgid "Create Record" msgstr "Créer un dossier" -#: ckanext/canada/templates/recombinant/create_pd_record.html:24 -#: ckanext/canada/templates/recombinant/update_pd_record.html:24 +#: ckanext/canada/templates/recombinant/create_pd_record.html:25 +#: ckanext/canada/templates/recombinant/update_pd_record.html:25 #: ckanext/canada/templates/scheming/snippets/errors.html:6 msgid "The form contains invalid entries:" msgstr "Le formulaire contient des entrées non valides :" -#: ckanext/canada/templates/recombinant/create_pd_record.html:54 -#: ckanext/canada/templates/recombinant/update_pd_record.html:57 +#: ckanext/canada/templates/recombinant/create_pd_record.html:55 +#: ckanext/canada/templates/recombinant/update_pd_record.html:58 msgid "You may select or deselect multiple entries (Ctrl+Click)." msgstr "Vous pouvez sélectionner ou désélectionner de multiples entrées." -#: ckanext/canada/templates/recombinant/create_pd_record.html:87 -#: ckanext/canada/templates/recombinant/update_pd_record.html:90 +#: ckanext/canada/templates/recombinant/create_pd_record.html:88 +#: ckanext/canada/templates/recombinant/update_pd_record.html:91 #: ckanext/canada/templates/scheming/package/snippets/package_form.html:63 msgid "Save" msgstr "Enregistrer" @@ -3310,11 +3397,15 @@ msgstr "" "sct.gc.ca\">open-ouvert@tbs-sct.gc.ca avec l’adresse électronique du " "coordinateur de l’accès à l’information de votre organisation." -#: ckanext/canada/templates/recombinant/resource_edit.html:39 +#: ckanext/canada/templates/recombinant/resource_edit.html:70 +msgid "Info" +msgstr "" + +#: ckanext/canada/templates/recombinant/resource_edit.html:77 msgid "Guide" msgstr "Guide" -#: ckanext/canada/templates/recombinant/resource_edit.html:43 +#: ckanext/canada/templates/recombinant/resource_edit.html:81 #, python-format msgid "" "For information on how to prepare, maintain and upload templates to the " @@ -3443,6 +3534,16 @@ msgstr "URL de l’image" msgid "Image" msgstr "Image" +#: ckanext/canada/templates/scheming/organization/group_form.html:6 +#: ckanext/canada/templates/scheming/organization/group_form.html:8 +msgid "Update Organization" +msgstr "" + +#: ckanext/canada/templates/scheming/organization/group_form.html:12 +#: ckanext/canada/templates/scheming/organization/group_form.html:14 +msgid "Create Organization" +msgstr "" + #: ckanext/canada/templates/scheming/package/snippets/package_form.html:14 msgid "Catalogue Metadata" msgstr "Métadonnées de catalogue" @@ -3541,22 +3642,30 @@ msgstr "Êtes-vous certain de vouloir supprimer cet état?" msgid "New activity item" msgstr "Nouveau poste d’activité" -#: ckanext/canada/templates/snippets/activity_stream.html:8 -msgid "View the past 30 days of activity." -msgstr "Consulter les activités des 30 derniers jours." +#: ckanext/canada/templates/snippets/activity_type_selector.html:12 +msgid "created datastore" +msgstr "datastore créée" + +#: ckanext/canada/templates/snippets/activity_type_selector.html:15 +msgid "changed datastore" +msgstr "datastore modifiée" + +#: ckanext/canada/templates/snippets/activity_type_selector.html:18 +msgid "deleted datastore" +msgstr "datastore supprimée" #: ckanext/canada/templates/snippets/dataset_facets.html:6 #: ckanext/canada/templates/snippets/dataset_facets.html:12 msgid "Suggested Datasets" msgstr "Jeux de données suggérés" -#: ckanext/canada/templates/snippets/facet_list.html:49 -#: ckanext/canada/templates/snippets/facet_list.html:50 +#: ckanext/canada/templates/snippets/facet_list.html:53 +#: ckanext/canada/templates/snippets/facet_list.html:54 msgid "Show less" msgstr "Afficher moins" -#: ckanext/canada/templates/snippets/facet_list.html:62 -#: ckanext/canada/templates/snippets/publish_facet.html:68 +#: ckanext/canada/templates/snippets/facet_list.html:68 +#: ckanext/canada/templates/snippets/publish_facet.html:67 msgid "There are no filters for this search" msgstr "Aucun filtre sélectionné pour cette recherche" @@ -3564,32 +3673,36 @@ msgstr "Aucun filtre sélectionné pour cette recherche" msgid "read more" msgstr "en savoir plus" -#: ckanext/canada/templates/snippets/package_item.html:60 +#: ckanext/canada/templates/snippets/package_item.html:35 +msgid "Deleted" +msgstr "Supprimer" + +#: ckanext/canada/templates/snippets/package_item.html:59 msgid "This dataset has no description" msgstr "Aucune description disponible pour cet ensemble de données" -#: ckanext/canada/templates/snippets/package_item.html:67 +#: ckanext/canada/templates/snippets/package_item.html:66 msgid "Organization:" msgstr "Organisation :" -#: ckanext/canada/templates/snippets/package_item.html:78 +#: ckanext/canada/templates/snippets/package_item.html:77 msgid "Issued by:" msgstr "Publiée par :" -#: ckanext/canada/templates/snippets/package_item.html:100 -#: ckanext/canada/templates/snippets/package_item.html:117 +#: ckanext/canada/templates/snippets/package_item.html:99 +#: ckanext/canada/templates/snippets/package_item.html:116 msgid "Status:" msgstr "État :" -#: ckanext/canada/templates/snippets/package_item.html:108 +#: ckanext/canada/templates/snippets/package_item.html:107 msgid "Date:" msgstr "Date :" -#: ckanext/canada/templates/snippets/package_item.html:120 +#: ckanext/canada/templates/snippets/package_item.html:119 msgid "Request sent to data owner – awaiting response" msgstr "Demande envoyée au propriétaire des données, en attente de réponse" -#: ckanext/canada/templates/snippets/package_item.html:127 +#: ckanext/canada/templates/snippets/package_item.html:128 msgid "Resource Formats:" msgstr "Formats des ressources :" @@ -3648,13 +3761,9 @@ msgstr "Trier par" msgid "Relevance" msgstr "pertinence" -#: ckanext/canada/templates/snippets/activities/changed_resource_view.html:8 -msgid "{actor} changed the {view_type} view {view}" -msgstr "{actor} a modifié le {view_type} de l'affichage {view}" - -#: ckanext/canada/templates/snippets/activities/new_resource_view.html:8 -msgid "{actor} added the {view_type} view {view}" -msgstr "{actor} a ajouté le {view_type} de l'affichage {view}" +#: ckanext/canada/templates/snippets/stream.html:8 +msgid "View the past 30 days of activity." +msgstr "Consulter les activités des 30 derniers jours." #: ckanext/canada/templates/snippets/cdts/header.html:21 #: ckanext/canada/templates/snippets/cdts/header.html:26 @@ -3666,10 +3775,8 @@ msgid "FAQ" msgstr "FAQ" #: ckanext/canada/templates/snippets/cdts/header.html:189 -#: ckanext/canada/templates/user/dashboard.html:4 -#: ckanext/canada/templates/user/dashboard_datasets.html:15 -#: ckanext/canada/templates/user/dashboard_groups.html:9 -#: ckanext/canada/templates/user/dashboard_organizations.html:9 +#: ckanext/canada/templates/user/dashboard.html:9 +#: ckanext/canada/templates/user/dashboard_datasets.html:19 msgid "Dashboard" msgstr "Tableau de bord" @@ -3701,44 +3808,23 @@ msgstr "Province et territoire du Canada" msgid "Are you sure you want to delete user - {name}?" msgstr "Êtes-vous sûr de vouloir supprimer le membre - {name}?" -#: ckanext/canada/templates/user/dashboard.html:4 +#: ckanext/canada/templates/user/dashboard.html:9 #: ckanext/canada/templates/user/dashboard.html:13 -#: ckanext/canada/templates/user/dashboard.html:37 -msgid "News feed" -msgstr "Fil de nouvelles" - -#: ckanext/canada/templates/user/dashboard.html:16 -msgid "Activity from items that you follow" -msgstr "Activité en lien avec les éléments que vous surveillez" +#: ckanext/canada/templates/user/dashboard.html:18 +#: ckanext/canada/templates/user/dashboard.html:22 +msgid "My Activity" +msgstr "Mon Activité" -#: ckanext/canada/templates/user/dashboard.html:30 -msgid "Add Dataset" -msgstr "Ajouter un jeu de données" - -#: ckanext/canada/templates/user/dashboard.html:38 +#: ckanext/canada/templates/user/dashboard.html:23 msgid "My Datasets" msgstr "Mes dossiers" -#: ckanext/canada/templates/user/dashboard_datasets.html:11 +#: ckanext/canada/templates/user/dashboard_datasets.html:10 #: ckanext/canada/templates/user/dashboard_datasets.html:15 -#: ckanext/canada/templates/user/dashboard_datasets.html:22 +#: ckanext/canada/templates/user/dashboard_datasets.html:19 msgid "My Records" msgstr "Mes jeux de données" -#: ckanext/canada/templates/user/dashboard_groups.html:5 -#: ckanext/canada/templates/user/dashboard_groups.html:9 -msgid "My Groups" -msgstr "Mes groupes" - -#: ckanext/canada/templates/user/dashboard_organizations.html:5 -#: ckanext/canada/templates/user/dashboard_organizations.html:9 -msgid "My Organizations" -msgstr "Mes organisations" - -#: ckanext/canada/templates/user/edit.html:7 -msgid "Manage" -msgstr "Gérer" - #: ckanext/canada/templates/user/edit_base.html:7 msgid "Edit My Profile" msgstr "Modifier mon profil" @@ -3747,35 +3833,35 @@ msgstr "Modifier mon profil" msgid "Edit Profile" msgstr "Modifier le profil" -#: ckanext/canada/templates/user/edit_user_form.html:6 +#: ckanext/canada/templates/user/edit_user_form.html:7 msgid "Change details" msgstr "Modifier les détails" -#: ckanext/canada/templates/user/edit_user_form.html:8 +#: ckanext/canada/templates/user/edit_user_form.html:9 msgid "Full name" msgstr "Nom complet" -#: ckanext/canada/templates/user/edit_user_form.html:8 +#: ckanext/canada/templates/user/edit_user_form.html:9 msgid "eg. Joe Bloggs" msgstr "Exemplar : Joe Bloggs" -#: ckanext/canada/templates/user/edit_user_form.html:9 +#: ckanext/canada/templates/user/edit_user_form.html:10 msgid "eg. joe@example.com" msgstr "Exemplar : joe@example.com" -#: ckanext/canada/templates/user/edit_user_form.html:10 +#: ckanext/canada/templates/user/edit_user_form.html:11 msgid "A little information about yourself" msgstr "Un peu d’information vous concernant" -#: ckanext/canada/templates/user/edit_user_form.html:12 +#: ckanext/canada/templates/user/edit_user_form.html:13 msgid "Subscribe to notification emails" msgstr "S’abonner aux courriels de notification" -#: ckanext/canada/templates/user/edit_user_form.html:19 +#: ckanext/canada/templates/user/edit_user_form.html:20 msgid "Change password" msgstr "Changer le mot de passe" -#: ckanext/canada/templates/user/edit_user_form.html:22 +#: ckanext/canada/templates/user/edit_user_form.html:23 #: ckanext/canada/templates/user/perform_reset.html:8 msgid "password reset requirements" msgstr "" @@ -3788,30 +3874,30 @@ msgstr "" "comporter au moins 12 caractères.Privacy Statement
The Government of Canada is " @@ -4195,63 +4277,67 @@ msgstr "" "que vous acceptez ces conditions d’utilisation.
Si vous " "sélectionnez \"Je n’accepte pas\" vous n’aurez pas accès au registre.
" -#: ckanext/canada/templates/user/new_user_form.html:72 +#: ckanext/canada/templates/user/new_user_form.html:73 msgid "I agree" msgstr "J’accepte" -#: ckanext/canada/templates/user/new_user_form.html:73 +#: ckanext/canada/templates/user/new_user_form.html:74 msgid "I do not agree" msgstr "Je n’accepte pas" #: ckanext/canada/templates/user/read_base.html:14 -msgid "Edit User" -msgstr "Modifier l’utilisateur" +msgid "API Tokens" +msgstr "" + +#: ckanext/canada/templates/user/read_base.html:17 +msgid "MFA" +msgstr "" -#: ckanext/canada/templates/user/read_base.html:22 +#: ckanext/canada/templates/user/read_base.html:24 msgid "Details" msgstr "Détails" -#: ckanext/canada/templates/user/read_base.html:32 +#: ckanext/canada/templates/user/read_base.html:36 msgid "Followers:" msgstr "Suiveurs :" -#: ckanext/canada/templates/user/read_base.html:36 -msgid "Edits:" -msgstr "Modifications :" +#: ckanext/canada/templates/user/read_base.html:40 +msgid "Datasets:" +msgstr "Dossiers :" -#: ckanext/canada/templates/user/read_base.html:50 +#: ckanext/canada/templates/user/read_base.html:48 msgid "Open ID:" msgstr "Identifiant ouvert :" -#: ckanext/canada/templates/user/read_base.html:53 +#: ckanext/canada/templates/user/read_base.html:51 msgid "Username:" msgstr "Nom d’utilisateur :" -#: ckanext/canada/templates/user/read_base.html:61 -#: ckanext/canada/templates/user/read_base.html:72 +#: ckanext/canada/templates/user/read_base.html:59 +#: ckanext/canada/templates/user/read_base.html:70 msgid "This means only you can see this" msgstr "Cela signifie que vous êtes le seul à pouvoir le voir" -#: ckanext/canada/templates/user/read_base.html:61 -#: ckanext/canada/templates/user/read_base.html:72 +#: ckanext/canada/templates/user/read_base.html:59 +#: ckanext/canada/templates/user/read_base.html:70 msgid "Private" msgstr "Privé" -#: ckanext/canada/templates/user/read_base.html:66 +#: ckanext/canada/templates/user/read_base.html:64 msgid "Member Since" msgstr "Membre depuis" -#: ckanext/canada/templates/user/read_base.html:72 -#: ckanext/canada/templates/user/read_base.html:80 +#: ckanext/canada/templates/user/read_base.html:70 +#: ckanext/canada/templates/user/read_base.html:78 msgid "API Key" msgstr "Clé API" -#: ckanext/canada/templates/user/read_base.html:75 +#: ckanext/canada/templates/user/read_base.html:73 msgid "Show API Key" msgstr "Afficher la clé API" -#: ckanext/canada/templates/user/read_base.html:81 -#: ckanext/canada/templates/user/read_base.html:87 +#: ckanext/canada/templates/user/read_base.html:79 +#: ckanext/canada/templates/user/read_base.html:85 msgid "Close" msgstr "Fermer" @@ -4263,21 +4349,47 @@ msgstr "Récupérer votre nom d'utilisateur" msgid "Username Recovery" msgstr "Récupération du nom d'utilisateur" -#: ckanext/canada/templates/user/recover_username.html:20 +#: ckanext/canada/templates/user/recover_username.html:22 msgid "Request Recovery" msgstr "Demande de récupération" +#: ckanext/canada/templates/user/snippets/login_form.html:10 +msgid "Login failed. Incorrect username or password." +msgstr "L’authentification a échoué. Mauvais nom d’utilisateur ou mot de passe." + +#: ckanext/canada/templates/user/snippets/login_form.html:13 +msgid "Invalid code, please try again." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:16 +msgid "An unknown error occurred." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:30 +msgid "NOTE: Username and password are case sensitive." +msgstr "NOTE: Le nom d’utilisateur et mot de passe sont sensibles à la casse." + +#: ckanext/canada/templates/user/snippets/login_form.html:42 +msgid "Please enter your authenticator app generated 6-digit verification code." +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:43 +msgid "Verification code" +msgstr "" + +#: ckanext/canada/templates/user/snippets/login_form.html:47 +msgid "Need help?" +msgstr "" + #: ckanext/canada/templates/user/snippets/user_search.html:2 -#: ckanext/canada/templates/user/snippets/user_search.html:5 -#: ckanext/canada/templates/user/snippets/user_search.html:6 msgid "Search Users" msgstr "Rechercher des utilisateurs" -#: ckanext/canada/templates/xloader/resource_data.html:10 -msgid "Delete DataStore table" -msgstr "Supprimer la table DataStore" +#: ckanext/canada/templates/user/snippets/user_search.html:6 +msgid "Search users..." +msgstr "Rechercher des utilisateurs..." -#: ckanext/canada/templates/xloader/resource_data.html:22 +#: ckanext/canada/templates/xloader/resource_data.html:8 msgid "Upload to DataStore" msgstr "Télécharger vers le DataStore" @@ -6687,3 +6799,52 @@ msgstr "Télécharger vers le DataStore" #~ msgid "This field must be empty:" #~ msgstr "Cette zone doit être vide :" +#~ msgid "Unauthorized to delete resource %s" +#~ msgstr "Vous n'êtes pas autorisé à supprimer la ressource %s" + +#~ msgid "DataStore table and Data Dictionary deleted for resource %s" +#~ msgstr "" +#~ "Tableau de stockage de données et " +#~ "dictionnaire de données supprimés pour " +#~ "la ressource %s" + +#~ msgid "Purge" +#~ msgstr "Purge" + +#~ msgid "" +#~ "You're currently viewing an old version" +#~ " of this dataset. Some resources may" +#~ " no longer exist or the dataset " +#~ "may not display correctly. To see " +#~ "the current version, click here." +#~ msgstr "" +#~ "Vous consultez actuellement une ancienne " +#~ "version de ce jeu de données. Il" +#~ " se peut que certaines ressources " +#~ "n’existent plus ou que le jeu de" +#~ " données ne s’affiche pas correctement. " +#~ "Pour voir la version actuelle, cliquez" +#~ " ici." + +#~ msgid "News feed" +#~ msgstr "Fil de nouvelles" + +#~ msgid "Activity from items that you follow" +#~ msgstr "Activité en lien avec les éléments que vous surveillez" + +#~ msgid "Add Dataset" +#~ msgstr "Ajouter un jeu de données" + +#~ msgid "My Groups" +#~ msgstr "Mes groupes" + +#~ msgid "My Organizations" +#~ msgstr "Mes organisations" + +#~ msgid "Edit User" +#~ msgstr "Modifier l’utilisateur" + +#~ msgid "Edits:" +#~ msgstr "Modifications :" + diff --git a/ckanext/canada/logic.py b/ckanext/canada/logic.py index f282d8184..148f4ba58 100644 --- a/ckanext/canada/logic.py +++ b/ckanext/canada/logic.py @@ -2,6 +2,7 @@ from ckan.logic.validators import isodate, Invalid from ckan.lib.dictization import model_dictize from ckan import model +from ckanext.activity.model import Activity, activity from contextlib import contextmanager from redis import ConnectionPool, Redis @@ -196,14 +197,14 @@ def _changed_packages_activity_timestamp_since(since, limit): 'deleted resource view' activities for the whole site. ''' - q = model.Session.query(model.Activity.object_id.label('object_id'), - func.max(model.Activity.timestamp).label( + q = model.Session.query(Activity.object_id.label('object_id'), + func.max(Activity.timestamp).label( 'timestamp')) - q = q.filter(or_(model.Activity.activity_type.endswith('package'), # Package create, update, delete - model.Activity.activity_type.endswith('view'), # Resource View create, update, delete - model.Activity.activity_type.endswith('created datastore'))) # DataStore create & Data Dictionary update - q = q.filter(model.Activity.timestamp > since) - q = q.group_by(model.Activity.object_id) + q = q.filter(or_(Activity.activity_type.endswith('package'), # Package create, update, delete + Activity.activity_type.endswith('view'), # Resource View create, update, delete + Activity.activity_type.endswith('created datastore'))) # DataStore create & Data Dictionary update + q = q.filter(Activity.timestamp > since) + q = q.group_by(Activity.object_id) q = q.order_by('timestamp') return q.limit(limit) @@ -217,9 +218,9 @@ def _activities_from_user_list_since(since, limit,user_id): ''' - q = model.activity._activities_from_user_query(user_id) - q = q.order_by(model.Activity.timestamp) - q = q.filter(model.Activity.timestamp > since) + q = activity._activities_from_user_query(user_id) + q = q.order_by(Activity.timestamp) + q = q.filter(Activity.timestamp > since) return q.limit(limit) diff --git a/ckanext/canada/plugins.py b/ckanext/canada/plugins.py index d0631012f..fbd4b8aad 100755 --- a/ckanext/canada/plugins.py +++ b/ckanext/canada/plugins.py @@ -1,17 +1,23 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- +from typing import Optional, Type import logging import re from flask import has_request_context import ckan.plugins as p from ckan.lib.plugins import DefaultDatasetForm, DefaultTranslation import ckan.lib.helpers as hlp -from ckan.logic import validators as logic_validators from ckanext.datastore.interfaces import IDataDictionaryForm +from ckanext.activity.logic.validators import object_id_validators from ckan.lib.app_globals import set_app_global from ckan.plugins.core import plugin_loaded +from ckan.config.middleware.flask_app import csrf +from ckanext.datatablesview.blueprint import datatablesview + +from frictionless import system, Check, Plugin as FrictionlessPlugin + from ckan.plugins.toolkit import ( g, h, @@ -29,9 +35,7 @@ from ckanext.canada import helpers from ckanext.canada import cli from ckanext.canada.pd import get_commands as get_pd_commands -from ckanext.canada import activity as act -# type_ignore_reason: importing to proc decorators -from ckanext.canada import checks # type: ignore +from ckanext.canada import checks from ckanext.canada import column_types as coltypes from ckanext.tabledesigner.interfaces import IColumnTypes from ckanext.xloader.interfaces import IXloader @@ -63,6 +67,12 @@ fq_portal_release_date_match = re.compile(r"(portal_release_date:\"\[.*\]\")") +class CanadaValidationPlugin(FrictionlessPlugin): + def select_check_class(self, type: Optional[str] = None) -> Optional[Type[Check]]: + if type == 'ds-headers': + return checks.DatastoreHeadersCheck() + + class CanadaThemePlugin(p.SingletonPlugin): p.implements(p.IConfigurer) @@ -97,6 +107,7 @@ def get_helpers(self): 'canada_check_access', 'get_user_email', 'get_loader_status_badge', + 'validation_status', 'is_user_locked', # Portal 'user_organizations', @@ -139,6 +150,7 @@ def get_helpers(self): 'search_filter_pill_link_label', 'release_date_facet_start_year', 'ckan_to_cdts_breadcrumbs', + 'available_purge_types', ]) @@ -164,7 +176,9 @@ def update_config(self, config): config['ckan.auth.user_delete_organizations'] = True config['ckan.auth.create_user_via_web'] = plugin_loaded('canada_internal') # /user/register view only on registry # Set auth settings - config['ckan.auth.roles_that_cascade_to_sub_groups'] = 'admin' + config['ckan.auth.roles_that_cascade_to_sub_groups'] = ['admin'] + + csrf.exempt(datatablesview) def before_create(self, context, resource): """ @@ -178,6 +192,18 @@ def before_update(self, context, current, resource): Want to use the methods in scheming instead of before_update. """ + def before_resource_create(self, context, resource): + """ + Override before_resource_create from CkanSecurityPlugin. + Want to use the methods in scheming instead of before_resource_create. + """ + + def before_resource_update(self, context, current, resource): + """ + Override before_resource_update from CkanSecurityPlugin. + Want to use the methods in scheming instead of before_resource_update. + """ + def get_validators(self): validators_dict = super(CanadaSecurityPlugin, self).get_validators() or {} return dict( @@ -308,7 +334,7 @@ def can_validate(self, context, resource): # IPackageController - def before_search(self, search_params): + def before_dataset_search(self, search_params): # We're going to group portal_release_date into two bins - to today and # after today. search_params['facet.range'] = 'portal_release_date' @@ -347,7 +373,7 @@ def before_search(self, search_params): # IPackageController - def after_search(self, search_results, search_params): + def after_dataset_search(self, search_results, search_params): for result in search_results.get('results', []): for extra in result.get('extras', []): if extra.get('key') in ['title_fra', 'notes_fra']: @@ -357,7 +383,7 @@ def after_search(self, search_results, search_params): # IPackageController - def before_index(self, data_dict): + def before_dataset_index(self, data_dict): kw = json.loads(data_dict.get('extras_keywords', '{}')) data_dict['keywords'] = kw.get('en', []) data_dict['keywords_fra'] = kw.get('fr', kw.get('fr-t-en', [])) @@ -435,15 +461,14 @@ def update_config(self, config): config.update({ "ckan.user_list_limit": 250 }) - # registry includes validation so use real validation presets - config['scheming.presets'] = """ -ckanext.scheming:presets.json -ckanext.fluent:presets.json -ckanext.canada:schemas/presets.yaml -""" + ( - "ckanext.validation:presets.json" if "validation" in config['ckan.plugins'] else - "ckanext.canada:schemas/validation_placeholder_presets.yaml" -) + + # CKAN 2.10 plugin loading does not allow us to set the schema + # files in update_config in a way that the load order will work fully. + scheming_presets = config.get('scheming.presets', '') + assert 'ckanext.scheming:presets.json' in scheming_presets + assert 'ckanext.fluent:presets.json' in scheming_presets + assert 'ckanext.canada:schemas/presets.yaml' in scheming_presets + assert 'ckanext.validation:presets.json' in scheming_presets # Include private datasets in Feeds config['ckan.feeds.include_private'] = True @@ -472,6 +497,9 @@ def patched_upsert_data(context, data_dict): if db.upsert_data.__name__ == 'upsert_data': db.upsert_data = patched_upsert_data + # register custom frictionless plugin + system.register('canada-validation', CanadaValidationPlugin()) + # IPackageController def create(self, pkg): """ @@ -634,43 +662,45 @@ def i18n_domain(self): # IConfigurer def update_config(self, config): config['ckan.auth.public_user_details'] = False - config['recombinant.definitions'] = """ -ckanext.canada:tables/ati.yaml -ckanext.canada:tables/briefingt.yaml -ckanext.canada:tables/qpnotes.yaml -ckanext.canada:tables/contracts.yaml -ckanext.canada:tables/contractsa.yaml -ckanext.canada:tables/grants.yaml -ckanext.canada:tables/hospitalityq.yaml -ckanext.canada:tables/reclassification.yaml -ckanext.canada:tables/travela.yaml -ckanext.canada:tables/travelq.yaml -ckanext.canada:tables/wrongdoing.yaml -ckanext.canada:tables/inventory.yaml -ckanext.canada:tables/consultations.yaml -ckanext.canada:tables/service.yaml -ckanext.canada:tables/dac.yaml -ckanext.canada:tables/nap5.yaml -ckanext.canada:tables/experiment.yaml -ckanext.canada:tables/adminaircraft.yaml - -""" + + recombinant_definitions = config.get('recombinant.definitions', '') + assert 'ckanext.canada:tables/ati.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/briefingt.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/qpnotes.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/contracts.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/contractsa.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/grants.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/hospitalityq.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/reclassification.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/travela.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/travelq.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/wrongdoing.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/inventory.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/consultations.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/service.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/dac.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/nap5.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/experiment.yaml' in recombinant_definitions + assert 'ckanext.canada:tables/adminaircraft.yaml' in recombinant_definitions + config['ckan.search.show_all_types'] = True config['ckan.gravatar_default'] = 'disabled' config['search.facets.limit'] = 200 # because org list - if 'validation' not in config.get('scheming.presets', ''): - config['scheming.presets'] = """ -ckanext.scheming:presets.json -ckanext.fluent:presets.json -ckanext.canada:schemas/presets.yaml -ckanext.canada:schemas/validation_placeholder_presets.yaml -""" - config['scheming.dataset_schemas'] = """ -ckanext.canada:schemas/dataset.yaml -ckanext.canada:schemas/info.yaml -ckanext.canada:schemas/prop.yaml -""" - config['scheming.organization_schemas'] = 'ckanext.canada:schemas/organization.yaml' + + scheming_presets = config.get('scheming.presets', '') + if 'validation' not in scheming_presets: + assert 'ckanext.scheming:presets.json' in scheming_presets + assert 'ckanext.fluent:presets.json' in scheming_presets + assert 'ckanext.canada:schemas/presets.yaml' in scheming_presets + assert 'ckanext.canada:schemas/validation_placeholder_presets.yaml' in scheming_presets + + scheming_dataset_schemas = config.get('scheming.dataset_schemas', '') + assert 'ckanext.canada:schemas/dataset.yaml' in scheming_dataset_schemas + assert 'ckanext.canada:schemas/info.yaml' in scheming_dataset_schemas + assert 'ckanext.canada:schemas/prop.yaml' in scheming_dataset_schemas + + scheming_organization_schemas = config.get('scheming.organization_schemas', '') + assert 'ckanext.canada:schemas/organization.yaml' in scheming_organization_schemas # Pretty output for Feeds config['ckan.feeds.pretty'] = True @@ -689,10 +719,11 @@ def update_config(self, config): # migration from `canada_activity` and `ckanext-extendedactivity` - Aug 2022 # migrated from `ckan` canada fork for resource view activities - Jan 2024 - logic_validators.object_id_validators.update({ - 'new resource view': logic_validators.package_id_exists, - 'changed resource view': logic_validators.package_id_exists, - 'deleted resource view': logic_validators.package_id_exists, + # migrated from `activity` for ckan 2.10 upgrade - June 2024 + object_id_validators.update({ + 'new resource view': 'package_id_exists', + 'changed resource view': 'package_id_exists', + 'deleted resource view': 'package_id_exists', }) # IFacets @@ -733,7 +764,6 @@ def organization_facets(self, facets_dict, organization_type, # IActions def get_actions(self): return { - 'recently_changed_packages_activity_list': act.recently_changed_packages_activity_list, #TODO: Remove this action override in CKAN 2.10 upgrade 'resource_view_show': logic.canada_resource_view_show, 'resource_view_list': logic.canada_resource_view_list, 'job_list': logic.canada_job_list, @@ -748,6 +778,7 @@ def get_auth_functions(self): 'datastore_upsert': auth.datastore_upsert, 'view_org_members': auth.view_org_members, 'registry_jobs_running': auth.registry_jobs_running, + 'recently_changed_packages_activity_list': auth.recently_changed_packages_activity_list, } # IMiddleware diff --git a/ckanext/canada/public/static/img/select2x2_white.png b/ckanext/canada/public/static/img/select2x2_white.png new file mode 100644 index 000000000..ad8a299eb Binary files /dev/null and b/ckanext/canada/public/static/img/select2x2_white.png differ diff --git a/ckanext/canada/public/static/licenses.json b/ckanext/canada/public/static/licenses.json index d33309150..6337ec54c 100644 --- a/ckanext/canada/public/static/licenses.json +++ b/ckanext/canada/public/static/licenses.json @@ -7,6 +7,8 @@ "id": "ca-ogl-lgo", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence - Canada", @@ -22,6 +24,8 @@ "id": "ca-odla-aldg", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Data Licence Agreement - Office of the Commissioner of Lobbying", @@ -37,6 +41,8 @@ "id": "ca-cihi-icis", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence - Canadian Institute for Health Information", @@ -52,6 +58,8 @@ "id": "ca-rflo-drlf", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Reproduction of Federal Laws Order", @@ -67,6 +75,8 @@ "id": "ab-ogla", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence - Alberta", @@ -82,6 +92,8 @@ "id": "ab-qptu", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Alberta Queens Printer Terms of Use", @@ -97,6 +109,8 @@ "id": "bc-oglbc", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence - British Columbia", @@ -112,6 +126,8 @@ "id": "nl-oglnl", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence – Newfoundland and Labrador", @@ -127,6 +143,8 @@ "id": "ns-oglns", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence – Nova Scotia", @@ -142,6 +160,8 @@ "id": "on-oglo", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence – Ontario", @@ -157,6 +177,8 @@ "id": "pei-oglpei", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence – Prince Edward Island", @@ -172,6 +194,8 @@ "id": "nb-oglnb", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence - New Brunswick", @@ -187,6 +211,8 @@ "id": "yk-oglyk", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence - Yukon", @@ -202,6 +228,8 @@ "id": "qc-cc-by", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Creative Commons 4.0 Attribution (CC-BY) licence – Quebec", @@ -217,6 +245,8 @@ "id": "sk-suudl", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Government of Saskatchewan Standard Unrestricted Use Data License (Version 2.0)", @@ -232,6 +262,8 @@ "id": "mb-omb", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "OpenMB Information and Data Use License", @@ -247,6 +279,8 @@ "id": "nwt-tno", "is_okd_compliant": false, "is_osi_compliant": false, + "od_conformance": false, + "osd_conformance": false, "maintainer": "", "status": "active", "title": "Open Government Licence Northwest Territories", diff --git a/ckanext/canada/schemas/organization.yaml b/ckanext/canada/schemas/organization.yaml index 1b28bf93a..1dfd6dfd7 100644 --- a/ckanext/canada/schemas/organization.yaml +++ b/ckanext/canada/schemas/organization.yaml @@ -41,7 +41,7 @@ fields: class: form-control display_snippet: fluent_text.html error_snippet: fluent_text.html - validators: fluent_text unicode scheming_required canada_org_title_translated_save + validators: fluent_text unicode_safe scheming_required canada_org_title_translated_save output_validators: canada_org_title_translated_output # Field = Short Form. @@ -88,7 +88,7 @@ fields: Si le ministère a une abréviation commune pour l'anglais et le français langues puis l'utiliser une fois, par ex. pour "statcan", l'URL est créée sous la forme https://registry.open.canada.ca/en/organization/statcan required: true - validators: not_empty unicode name_validator group_name_validator + validators: not_empty unicode_only name_validator group_name_validator form_attrs: readonly: true size: 45 diff --git a/ckanext/canada/schemas/presets.yaml b/ckanext/canada/schemas/presets.yaml index 5e40d3443..066c31356 100644 --- a/ckanext/canada/schemas/presets.yaml +++ b/ckanext/canada/schemas/presets.yaml @@ -17,7 +17,7 @@ presets: - preset_name: canada_dataset_id values: create_validators: canada_validate_generate_uuid - unicode name_validator package_id_does_not_exist + unicode_safe name_validator package_id_does_not_exist display_snippet: null field_name: id form_snippet: null @@ -31,7 +31,7 @@ presets: field_name: name form_snippet: null validators: if_empty_same_as(id) - unicode not_empty canada_validate_generate_uuid + unicode_safe not_empty canada_validate_generate_uuid # Field = Collection Type. # Display the English or the French Description from the Collection Type code table (refer to Data Migration), depending on the selected language. @@ -170,10 +170,10 @@ presets: required: true form_include_blank_choice: true form_select_attrs: - class: form-control + class: form-control form-select # copied from dataset_organization preset validators: scheming_required string_safe owner_org_validator - form_snippet: organization.html + form_snippet: organization_autocomplete.html # Field = Publisher - Organization Name at Publication (English). # {The organization Title at publication Time} diff --git a/ckanext/canada/strings.py b/ckanext/canada/strings.py index 387e3f376..9a0c1e58c 100644 --- a/ckanext/canada/strings.py +++ b/ckanext/canada/strings.py @@ -33,6 +33,8 @@ _("Created On") _("Choose format") _("Submit") +_("{actor} added the {view_type} view {view}") +_("{actor} changed the {view_type} view {view}") _("{actor} deleted the {view_type} view {view}") _("Request Reset") _("Create API Token") @@ -61,10 +63,11 @@ _('Promote') _('Cannot modify your own sysadmin privileges') _('Cannot modify sysadmin privileges for system user') +_('Activity type') # TODO: remove after upstream fix _('Show more') _('Hide') -_('You can use Markdown formatting here') -_("__bold text__
_italic text_
* list
* of
* items1. numbered
2. list
3. of itemshttps://auto.link.ed/
[Formatted Link](https://formatted.link)
> block quote
Please note: HTML tags are stripped out for security reasons
") +_('User %s deleted. You are now logged out.') # TODO: remove after upstream fix +_('User %s deleted.') # TODO: remove after upstream fix # strings from security _("Please upload a file or link to an external resource") @@ -74,6 +77,8 @@ _('Your password must consist of at least three of the following character sets: ' 'uppercase characters, lowercase characters, digits, punctuation & special characters.') _('Your password cannot be the same as your username.') +# FIXME: revise flash message +_('Your current password is too weak. Please create a new password before logging in again.') # strings from scheming _('These fields have been removed, click update below to save your changes.') @@ -86,6 +91,17 @@ _('Open Government Portal') _('Open Government Portal (staging)') +# strings from xloader +_('Delete from DataStore') +_('Are you sure you want to delete the DataStore and Data Dictionary?') +_('Confirm Delete') + +# strings from validation +_('Validation Information') +_('Validation status:') +_('Validation timestamp:') +_('Duration:') + # strings from misc triggers and recombinant tables _('Single') _('Repeatable') diff --git a/ckanext/canada/templates/admin/base.html b/ckanext/canada/templates/admin/base.html index 63f9bcc63..66bb8b1c5 100644 --- a/ckanext/canada/templates/admin/base.html +++ b/ckanext/canada/templates/admin/base.html @@ -12,7 +12,7 @@ {% if g.is_registry %} {{ h.build_nav_icon('canada.ckan_admin_index', _('Admins'), icon='user-plus') }} {{ h.build_nav_icon('user.index', _('Users'), icon='user') }} - {{ h.build_nav_icon('admin.trash', _('Trash'), icon='trash-o') }} + {{ h.build_nav_icon('admin.trash', _('Trash'), icon='trash') }} {{ h.build_nav_icon('canada.ckanadmin_publish', _('Publish Records'), icon='cloud-upload') }} {{ h.build_nav_icon('canada.ckanadmin_job_queue', _('Job Queue'), icon='tasks') }} {{ h.build_extra_admin_nav() }} diff --git a/ckanext/canada/templates/admin/index.html b/ckanext/canada/templates/admin/index.html index 3c4f63b33..316a840e0 100644 --- a/ckanext/canada/templates/admin/index.html +++ b/ckanext/canada/templates/admin/index.html @@ -4,7 +4,7 @@
{{ job.get('type') }}
@@ -31,7 +31,7 @@
{% else %}
{{ _('Unknown') }}
{% endif %}
- | {{ job.get('id') }}
+ | {{ job.get('id') }}