From c163b0bb152b1fb808ac3a8fef910db9f45392ff Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Tue, 3 Jan 2023 15:42:08 -0600 Subject: [PATCH 01/30] Master to develop after 1.17.0 (#1057) * Update CHANGELOG.md * Update version numbers in the OpenAPI documents. * Update CHANGELOG.md * Update CHANGELOG.md * Update version number in YAML file. * Point to production health and talent chooser API documentation in production. * Update CHANGELOG. * Update version number in OpenAPI spec files. * Update Building Block URL in Api Doc Dockerfile. * Minor update to CHANGELOG. * Fix Auth library dependencies versions to avoid breaking changes. * Update Events Building Block Dockerfile. * Update App Config Dockerfile. * Update Authentication Building Block Dockerfile. * Update Profile Building Block Dockerfile. * Update Contributions Building Block Dockerfile and requirements. * Update Contributions Catalog Dockerfile and requirements. * Update Logging Building Block Dockerfile. * Update version numbers in API specs. * Update CHANGELOG. * Update CHANGELOG.md * Update version number. * Update CHANGELOG.md * Update CHANGELOG.md * Update version numbers in OpenAPI specification. * turn off group authentication on image get endpoint * turn off group authentication on image get endpoint * Update Events Building Block logs and related configuration. * Update CHANGELOG. * Added more information to logs * changed the log's building block name * updated to use longDescription * updated changelog * Update CHANGELOG and verson numbers. * Update API Doc Dockerfile. * Fix CHANGELOG. * Fix CHANGELOG. * Update version numbers in SECURITY.md * Fix merge conflicts. * Update CHANGELOG.md * Update CHANGELOG. * Update Dockerfile. * Update version number in API spec files. * Updater version in SECURITY.md * Update CHANGELOG. * Update Events BB version number. * Update SECURITY.md * updated for release * resolved merge conflicts * updated version in yaml files * updated version in yaml * workaround for Oauth transport lib error * updated changelog * updated docker build with nocache option * moved ProxyFix to catalog * removed no-cache from docker build * updated version in yaml * updated security * Update contributions/api/contributions_rest_service.py remove blank line Co-authored-by: Sandeep Puthanveetil Satheesan * added version comparison * Update catalog_rest_service.py Comment on the proxyFix Co-authored-by: Sandeep Puthanveetil Satheesan * updated release version * release 1.16.0 * Update SECURITY.md Co-authored-by: Sandeep Puthanveetil Satheesan * release 1.16.0 * Update CHANGELOG.md Co-authored-by: Sandeep Puthanveetil Satheesan * release 1.16.0 * Update CHANGELOG.md Co-authored-by: Sandeep Puthanveetil Satheesan * release 1.16.0 * Update appconfig.yaml Updating version number in AppConfig YAML file. * added release to changelog * updated version in yaml * updated security * reverting version for unchanged blocks * reverting version for auth * update version for events * revert version logging and profile * 1048 bug edit contribution database detail (#1049) * added index to database detail field * updated changelog * updated changelog for release * Set ApibaseUrl in catalog (#1052) * set and get apibaseurl * updated changelog * 1050 multiple contribution admins field (#1051) * fixes for multiple contribution admins * updated changelog to release * added space for display in create page * comma separated display in details page * changed contributionAdmin to list * updated versionurl field * updated changelog * 1053 bug open source url field (#1055) * onclick function isopensourceurl * updated changelog * changed chmod permissions * reverting version changes to match appconfig * change to dev urls Co-authored-by: Sandeep Puthanveetil Satheesan Co-authored-by: Bing Zhang Co-authored-by: YONG WOOK KIM --- CHANGELOG.md | 10 +++++- Dockerfile | 3 +- SECURITY.md | 1 + .../api/models/capabilities/capability.py | 6 ++++ contributions/api/models/contribution.py | 2 +- contributions/catalog/utils/jsonutil.py | 2 +- .../templates/contribute/contribute.html | 36 ++++++++++++------- .../contribute/contribution_details.html | 1 + contributions/contribution.yaml | 2 +- eventservice/events.yaml | 2 +- 10 files changed, 46 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 19b909d2..4eeb3023 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [1.17.0] - 2022-12-06 ### Added - Cancel button in contribution edit page. [#986](https://github.com/rokwire/rokwire-building-blocks-api/issues/986) - Add group ids and user ids fields in events yaml file. [#1017](https://github.com/rokwire/rokwire-building-blocks-api/issues/1017) @@ -14,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - User confirmation on cancel contribution. [#1022](https://github.com/rokwire/rokwire-building-blocks-api/issues/1022) - Close button to remove environment key value pairs. [#980](https://github.com/rokwire/rokwire-building-blocks-api/issues/980) - Make environmentVariable key required if present in Catalog. [#1028](https://github.com/rokwire/rokwire-building-blocks-api/issues/1028) +- Added set and get functions for ApiBaseUrl in catalog. [#1047](https://github.com/rokwire/rokwire-building-blocks-api/issues/1047) ### Changed - Show appropriate error message when catalog cannot display a contribution. [#961](https://github.com/rokwire/rokwire-building-blocks-api/issues/961) @@ -33,6 +36,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated gevent in contributions. [#1003](https://github.com/rokwire/rokwire-building-blocks-api/issues/1003) - Updated gevent in catalog. [#1007](https://github.com/rokwire/rokwire-building-blocks-api/issues/1007) - Delete capability and talent functionality in catalog. [#1009](https://github.com/rokwire/rokwire-building-blocks-api/issues/1009) +- Edit database detail field in catalog. [#1048](https://github.com/rokwire/rokwire-building-blocks-api/issues/1048) +- Display multiple contribution admins in catalog. [#1050](https://github.com/rokwire/rokwire-building-blocks-api/issues/1050) +- VersionUrl field name in contribution edit page. [#1056](https://github.com/rokwire/rokwire-building-blocks-api/issues/1056) +- SourceUrl field display on IsOpenSourceUrl radio button in catalog. [#1053](https://github.com/rokwire/rokwire-building-blocks-api/issues/1053) ## [1.16.0] - 2022-08-29 ### Added @@ -541,7 +548,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - References to AWS keys and variables in the Events Building Block. -[Unreleased]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.16.0...HEAD +[Unreleased]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.17.0...HEAD +[1.17.0]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.16.0...1.17.0 [1.16.0]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.15.0...1.16.0 [1.15.0]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.14.1...1.15.0 [1.14.1]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.14.0...1.14.1 diff --git a/Dockerfile b/Dockerfile index 9be86f7b..3f663912 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,6 @@ FROM swaggerapi/swagger-ui:v4.13.2 COPY appconfigservice/appconfig.yaml eventservice/events.yaml profileservice/profile.yaml loggingservice/logging.yaml /usr/share/nginx/html/app/ -ENV BASE_URL="/docs" \ - URLS="[{url: 'app/appconfig.yaml', name: 'App Config Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/content/doc/ui/', name: 'Content Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/core/doc/ui/', name: 'Core Building Block'}, {url: 'app/events.yaml', name: 'Events Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/gr/doc/ui/', name: 'Groups Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/lms/doc/ui/', name: 'Learning Management System (LMS) Building Block'}, {url: 'app/logging.yaml', name: 'Logging Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/notifications/api/doc/ui/', name: 'Notifications Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/polls/doc/ui/', name: 'Polls Building Block'}, {url: 'app/profile.yaml', name: 'Profile Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/rewards/doc/ui/', name: 'Rewards Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/wellness/doc/ui/', name: 'Wellness Building Block'}]" +ENV URLS "[{url: 'app/appconfig.yaml', name: 'App Config Building Block'}, {url: 'app/auth.yaml', name: 'Authentication Building Block'}, {url: 'app/events.yaml', name: 'Events Building Block'}, {url: 'app/profile.yaml', name: 'Profile Building Block'}, {url: 'app/logging.yaml', name: 'Logging Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/health/doc', name: 'Health Building Block'}, {url: 'https://api-dev.rokwire.illinois.edu/talent-chooser/doc', name: 'Talent Chooser Building Block'} ]" VOLUME /usr/share/nginx/html/app/ diff --git a/SECURITY.md b/SECURITY.md index eb30f09e..73292cab 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,6 +6,7 @@ Patches for **Rokwire Building Blocks** in this repository will only be applied | Version | Supported | |----------| ------------------ | +| 1.17.0 | :white_check_mark: | | 1.16.0 | :white_check_mark: | | 1.15.0 | :white_check_mark: | | 1.14.1 | :white_check_mark: | diff --git a/contributions/api/models/capabilities/capability.py b/contributions/api/models/capabilities/capability.py index 8f484571..ab285a4b 100644 --- a/contributions/api/models/capabilities/capability.py +++ b/contributions/api/models/capabilities/capability.py @@ -76,6 +76,12 @@ def set_api_doc_url(self, apiDocUrl): def get_api_doc_url(self): return self.apiDocUrl + def set_api_base_url(self, apiBaseUrl): + self.apiBaseUrl = apiBaseUrl + + def get_api_base_url(self): + return self.apiBaseUrl + def set_deployment_details(self, deploymentDetails): self.deploymentDetails = deploymentDetails diff --git a/contributions/api/models/contribution.py b/contributions/api/models/contribution.py index 4c4f2b97..810026f6 100644 --- a/contributions/api/models/contribution.py +++ b/contributions/api/models/contribution.py @@ -17,7 +17,7 @@ class Contribution(): def __init__(self, injson): self.name = None - self.contributionAdmins = None + self.contributionAdmins = [] self.shortDescription = None self.longDescription = None self.contributors = None diff --git a/contributions/catalog/utils/jsonutil.py b/contributions/catalog/utils/jsonutil.py index 7ad4af84..5983f73d 100644 --- a/contributions/catalog/utils/jsonutil.py +++ b/contributions/catalog/utils/jsonutil.py @@ -26,7 +26,7 @@ def add_contribution_admins(in_json, is_edit=False): contribution_admins = [] # if the form input is not empty, then we want to filter out those names from there if admin_input: - contribution_admins = [admin_name for admin_name in admin_input.split(',') if admin_name] + contribution_admins = [admin_name.strip() for admin_name in admin_input.split(',') if len(admin_name)>1] if is_edit: updated_json = {"contributionAdmins": contribution_admins} diff --git a/contributions/catalog/webapps/templates/contribute/contribute.html b/contributions/catalog/webapps/templates/contribute/contribute.html index 41264ddb..71a1681c 100644 --- a/contributions/catalog/webapps/templates/contribute/contribute.html +++ b/contributions/catalog/webapps/templates/contribute/contribute.html @@ -145,7 +145,7 @@

Contribution Details

+ type="text" value="{{ post.contributionAdmins|join(', ') }}"> {% else %} Add a Capability to this Contribution
- {# TODO what is version url #}
Capability - {{ capability | filter_nested_d
{% if is_editable %} - {% else %} - {% endif %} @@ -1007,7 +1006,6 @@

Capability - {{ capability | filter_nested_d

- {# TODO what is version url #}
{% if is_editable %} @@ -1015,7 +1013,7 @@

Capability - {{ capability | filter_nested_d id="version_url_{{loop.index0}}" name="capability_versionUrl_{{loop.index0}}" placeholder="" - type="text" value="{{ capability | filter_nested_dict(["version","url"]) }}"> + type="text" value="{{ capability | filter_nested_dict(["versionUrl"]) }}"> {% else %} MoveSelector(event); }); + // IsOpenSourceUrl radio button + $(function(event) { + $('input[name^="capability_isOpenSource"]').on('click', function() { + // get the capability number and show/hide sourceurl + var isopensource_id = $(this).attr("id"); + let cap_num = isopensource_id.split("_").pop(); + if ($(this).val() == 'y') { + $('#sourceurl_' + cap_num).show(); + // adjust selector button position + MoveSelector(event); + } + else { + $('#sourceurl_' + cap_num).hide(); + } + }); + + }); + $(function () { function split(val) { return val.split(/,\s*/); @@ -2121,12 +2137,8 @@

Contribution admins

{% for x in post.contributionAdmins %} {{x}} + {% if not loop.last %},{% endif %} {% endfor %}

diff --git a/contributions/contribution.yaml b/contributions/contribution.yaml index 711d203e..e21c6117 100644 --- a/contributions/contribution.yaml +++ b/contributions/contribution.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: title: Rokwire Contributions Building Block API description: Contributions Building Block API Documentation - version: 1.16.0 + version: 1.17.0 servers: - url: https://api.rokwire.illinois.edu description: Production server diff --git a/eventservice/events.yaml b/eventservice/events.yaml index de0ab97c..ac236a6d 100755 --- a/eventservice/events.yaml +++ b/eventservice/events.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: title: Rokwire Events Building Block API description: Events Building Block API Documentation - version: 1.16.0 + version: 1.17.0 servers: - url: https://api.rokwire.illinois.edu description: Production server From 0c47ff607ecba78faed489da230dc41563d27ca4 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Wed, 4 Jan 2023 16:42:58 -0600 Subject: [PATCH 02/30] 1034 UI change capability details page (#1035) * added css style classes * updated changelog * updated footer css * updated changelog * remove footer * unchanged footer in home * unchanging footer in home * removed footer from changelog * changed css names * added height to font css * styles for capability details and moved button outside div * added html font style * update colsm9 style * added same classes to all smallbodytext * remove unwanted classes * moved view contribution button to container div * updated small body text style * changed grid container and col classes * updated top margin * moved to unreleased * moved to unreleased section --- CHANGELOG.md | 2 + .../catalog/webapps/static/css/style.css | 52 +++- .../contribute/capability_details.html | 288 +++++++++--------- .../webapps/templates/contribute/home.html | 2 +- 4 files changed, 202 insertions(+), 142 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4eeb3023..4a569b06 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Changed +- UI for capability view page. [#1034](https://github.com/rokwire/rokwire-building-blocks-api/issues/1034) ## [1.17.0] - 2022-12-06 ### Added diff --git a/contributions/catalog/webapps/static/css/style.css b/contributions/catalog/webapps/static/css/style.css index abff5451..28aea5eb 100644 --- a/contributions/catalog/webapps/static/css/style.css +++ b/contributions/catalog/webapps/static/css/style.css @@ -1,3 +1,6 @@ +html * { + font-family: proxima-nova,sans-serif; +} /* Add a black background color to the top navigation */ .topnav { overflow: hidden; @@ -180,16 +183,19 @@ input[type=reset]:hover { } .button3 { - background-color: white; color: black; - border: 1px solid #f44336; display: inline-block; + border-radius: 24px; + border: solid 2px #e84a27; + background-color: #fff; } .button3:hover { - background-color: #f44336; color: white; display: inline-block; + border-radius: 24px; + border: solid 2px #e84a27; + background-color: #e84a27; } .button4 { @@ -420,4 +426,42 @@ input.datadel-api { } .hidetext { -webkit-text-security: disc; } -.showtext { -webkit-text-security: none; } \ No newline at end of file +.showtext { -webkit-text-security: none; } + +h1 { + font-size: 32px; + height: 36px; + font-weight: 800; + font-stretch: normal; + font-style: normal; + letter-spacing: normal; + text-align: center; + color: #13294b; +} + +h4{ + font-size: 16px; + height: 20px; + font-weight: 500; + font-stretch: normal; + font-style: normal; + letter-spacing: normal; + color: #13294b; +} + +.small-body-text { + font-size: 14px; + height: 16px; + font-weight: normal; + font-stretch: normal; + font-style: normal; + letter-spacing: normal; + margin: 7px auto; + text-align: left; + color: #404040; +} + +.row { + display: flex; + flex-wrap: wrap; +} \ No newline at end of file diff --git a/contributions/catalog/webapps/templates/contribute/capability_details.html b/contributions/catalog/webapps/templates/contribute/capability_details.html index fc8d0628..ec1b9d8c 100644 --- a/contributions/catalog/webapps/templates/contribute/capability_details.html +++ b/contributions/catalog/webapps/templates/contribute/capability_details.html @@ -4,7 +4,8 @@ - + + @@ -15,11 +16,6 @@ Capability Details - -
@@ -30,156 +26,174 @@

Capability Details


-
-
-

Capability Name

-
-

{{post.name}}

-
- -
-
-

Capability description

-
-

{{post.description}}

-
- -
-
-

Is code open source?

-
-

{{post.isOpenSource}}

-
- -
-
-

Source code repository URL

+
+
+
+

Capability Name

+
+
+
{{post.name}}
+
-

{{post.sourceRepoUrl}}

-
-
-
-

Api Documentation URL

+
+
+

Capability description

+
+
+
{{post.description}}
+
-

{{post.apiDocUrl}}

-
- {% if post.deploymentDetails%} -
-
-

Deployment status (Internal vs External)

-
-

{{post.deploymentDetails.location}}

-
- {% endif %} - - {% if reviewer %} - {% if post.version %}
-
-

Version

+
+

Is code open source?

+
+
+
{{post.isOpenSource}}
-

{{post.version}}

- {% endif %} - {% if post.healthCheckUrl %} +
-
-

Health Check URL

+
+

Source code repository URL

+
+
+
{{post.sourceRepoUrl}}
-

{{post.healthCheckUrl}}

- {% endif %} - {% if post.dataDeletionEndpointDetails %} +
-
-

Data Deletion Endpoint Details

+
+

API Documentation URL

+
+
+
{{post.apiDocUrl}}
-

- - {% if post.dataDeletionEndpointDetails.apiKey %} - - - - - - {% endif %} - {% if post.dataDeletionEndpointDetails.deletionEndpoint %} - - - - - {% endif %} - {% if post.dataDeletionEndpointDetails.description %} - - - - - {% endif %} -
Api Key  {{post.dataDeletionEndpointDetails.apiKey}}    
Deletion Endpoint  {{post.dataDeletionEndpointDetails.deletionEndpoint}}
Description  {{post.dataDeletionEndpointDetails.description}}
-

+ + {% if post.deploymentDetails%} +
+
+

Deployment location

+
+
+
{{post.deploymentDetails.location}}
+
+
{% endif %} - {% if post.deploymentDetails %} -
-
-

Deployment Details

+ + {% if reviewer %} + {% if post.version %} +
+
+

Version

+
+
+
{{post.version}}
+
-

- - {% if post.deploymentDetails.authMethod %} - - - - - {% endif %} - {% if post.deploymentDetails.databaseDetails %} - - - - - {% endif %} - {% if post.deploymentDetails.environmentVariables %} - - - - - {% endif %} - {% if post.deploymentDetails.location %} - - - - - {% endif %} -
Auth Method  {{post.deploymentDetails.authMethod}}
Database Details  {{post.deploymentDetails.databaseDetails}}
Environment Variables   - {% for envvar in post.deploymentDetails.environmentVariables %} - - {% for key_val in envvar.items() | batch(4) %} - - {% for item in key_val %} - {% if loop.index %2 == 0 %} - - - - {% else %} - - - {% endif %} - {% endfor %} - - {% endfor %} -
{{item[0]}}: {{item[1]}}     {{item[0]}}: {{item[1]}}
- {% endfor %} -
Location  {{post.deploymentDetails.location}}
-

-
+ {% endif %} + {% if post.healthCheckUrl %} +
+
+

Health Check URL

+
+
+
{{post.healthCheckUrl}}
+
+
+ {% endif %} + {% if post.dataDeletionEndpointDetails %} +
+
+

Data Deletion Endpoint Details

+
+
+ + {% if post.dataDeletionEndpointDetails.apiKey %} + + + + + + {% endif %} + {% if post.dataDeletionEndpointDetails.deletionEndpoint %} + + + + + {% endif %} + {% if post.dataDeletionEndpointDetails.description %} + + + + + {% endif %} +
API Key  {{post.dataDeletionEndpointDetails.apiKey}}    
Deletion Endpoint  {{post.dataDeletionEndpointDetails.deletionEndpoint}}
Description  {{post.dataDeletionEndpointDetails.description}}
+
+
+ {% endif %} + {% if post.deploymentDetails %} +
+
+

Deployment Details

+
+
+ + {% if post.deploymentDetails.authMethod %} + + + + + {% endif %} + {% if post.deploymentDetails.databaseDetails %} + + + + + {% endif %} + {% if post.deploymentDetails.environmentVariables %} + + + + + {% endif %} + {% if post.deploymentDetails.location %} + + + + + {% endif %} +
Auth Method  {{post.deploymentDetails.authMethod}}
Database Details  {{post.deploymentDetails.databaseDetails}}
Environment Variables   + {% for envvar in post.deploymentDetails.environmentVariables %} + + {% for key_val in envvar.items() | batch(4) %} + + {% for item in key_val %} + {% if loop.index %2 == 0 %} + + + + {% else %} + + + {% endif %} + {% endfor %} + + {% endfor %} +
{{item[0]}}: {{item[1]}}     {{item[0]}}: {{item[1]}}
+ {% endfor %} +
Location  {{post.deploymentDetails.location}}
+

+
+ {% endif %} {% endif %} - {% endif %} +
-
+
diff --git a/contributions/catalog/webapps/templates/contribute/home.html b/contributions/catalog/webapps/templates/contribute/home.html index 3505b190..cf6add0f 100644 --- a/contributions/catalog/webapps/templates/contribute/home.html +++ b/contributions/catalog/webapps/templates/contribute/home.html @@ -176,8 +176,8 @@ text-align: center; background-color: #2a4b45; color: #ffffff; + } -} From 7fb46751e552e00474400d42e487ec6204197c95 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Wed, 4 Jan 2023 16:47:07 -0600 Subject: [PATCH 03/30] 1036 UI changes footer in catalog (#1039) * updated footer ui * updated changelog * added image * updated padding for footer * added class link * moved to unreleased section --- CHANGELOG.md | 1 + .../catalog/webapps/static/css/style.css | 18 ++++++++++++++++++ .../static/powered-by-rokwire-no-i-block.png | Bin 0 -> 1383 bytes .../webapps/templates/contribute/home.html | 4 +++- 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 contributions/catalog/webapps/static/powered-by-rokwire-no-i-block.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 4a569b06..6f19cc85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Changed - UI for capability view page. [#1034](https://github.com/rokwire/rokwire-building-blocks-api/issues/1034) +- Updated footer UI. [#1036](https://github.com/rokwire/rokwire-building-blocks-api/issues/1036) ## [1.17.0] - 2022-12-06 ### Added diff --git a/contributions/catalog/webapps/static/css/style.css b/contributions/catalog/webapps/static/css/style.css index 28aea5eb..e8acbb0b 100644 --- a/contributions/catalog/webapps/static/css/style.css +++ b/contributions/catalog/webapps/static/css/style.css @@ -47,6 +47,20 @@ html * { box-sizing: border-box; } +.footer { + position: fixed; + left: 0; + bottom: 0; + width: 100%; + color: #ffffff; + text-align: center; + margin: 473px 0 0; + padding: 30px 412px 0px 412px; + transform: rotate(-360deg); + background-color: #13294b; + clip-path: polygon(0 50%, 100% 0, 100% 100%, 0% 100%); +} + input[type=text], select, textarea { color: #090000; width: 100%; @@ -390,6 +404,10 @@ hr.dotted { display: block; } +.link { + color: #e84a27; +} + #togglePassword { cursor: pointer; position: relative; diff --git a/contributions/catalog/webapps/static/powered-by-rokwire-no-i-block.png b/contributions/catalog/webapps/static/powered-by-rokwire-no-i-block.png new file mode 100644 index 0000000000000000000000000000000000000000..15ed3deeefd54226bd93a8f549dcae25b1271b14 GIT binary patch literal 1383 zcmb_c`#Tc~0G%t3Z06O&t8nGgh|qR7H_BtpqHW*I`%Q(oYs>NoB@yx}c~quoc7>Y9 zmSIHAm3cMOhas;e7P%T-GUe`%xaa%MIp6u^eCMZ=jl-Z+RdiJV0Dvmm)der}d>M}^ z%gYp7N4qAoJrR!Q907pF0^m-lf-K9$;!#cj#*n^P7Tj>|1SE>&zWYBxaHWSNtJS99 zF&=;$XD04SEQtIa@qw_ac)XHYN24L)QO~{W?O55Y610mW!H4_hfv`{n0iAxW4NBm0 ze(t)Vfa92pwWhq3R_K0v3P<5~INJ4T@phm0&rq>yAAUGokO}>92g`IsqE6{D%@?Bb zhtEcB+sDIcVa38CJ6F&80^ni0n&AO-4Nq@VaR_AXmzo!pK5OigJXPs+snWpq#90NZ zmhn%|TXfztU8B3;o5oZjib3G?xBaK96P2YY{ChxmSC6=Bx5^mmCM1}~A zz~aJLJ{x2@G|qrl6lf%WJzl#>DrsZ4460cBhZz1zcUBN}^(z_RW zRAa%1eKZwlnIlQFXxhke_N;}J*zE&$ zl3HRG0}2f*)}ctrWBG!toW@YRS|jaH!KuH&!b;BDA;=7D0h??a=VRAUUe~^&B{!#- z>T8Y3m_HI{cjtWfL-d$npz-s`Ey_G)(ko|i7nm>5H;y&8bmqX-%iLBr5Jf_DMBG-z zx_{lZtV4-kQ>d6=odGC^A)yhKaf(o24~Bj(g=S=Gr%zn-UR(t}1xfPIYBNsj#r4Vb z-tm1pfo<=JOQk{HzRbCXD!Pm9(T5*(Sy32wY9uM$lx4Hr{8uzl5`M6`%cOG1o>$@l z(T)NtqT3Vgpz&?5f)4Wcw-n_PrYEBZ$H}1`=uHTi_|D)%x*N0lkD+|Ew=OE&%h<~I za?_gepP!IgUM9$AvcYC_!%*`1V)mO@?(o(m)`nYS^Uds#N}R?x>;Sdt$SM}z?7A7d z5pucv0-HVEj`_7YkXhdCt&{0s(V9Un8xh_pP2=9~X`7D7 zSuvV!l?K;R|}Vd$`~GkZ~{dBTiawhjDAHFD(Gy=G;TZU6p$TTBLMxTY-P!D|&? zt49&~t2Wi|NWBLbX;U#ZnjBS8@VtQgS`qP6n{m2P3k`&pY$fFCt&fAFYH6xt*ePYXh`ZQ%9~An;KZJN6Vbz zI6s?6FtL`55{3Esf<&F~s*66%{u$*9{+{6$^;=Zw9gUbU>QwdQq_B_2U!zS`S?afk zsv~1&-ex1n4W3(9aIxa(=N~zR#bWA0SxyzvL*EZ067eRONv9A?Ziw<^Bj^ttQ!h%I zc7GsoWddOG>BEbC_Vez-4$A~LFYlrn%o!M|ub@=i_!`c=86jQX8vKlf2ax%J;sl-Q&Fc^op8T`+MF>x1aM{^M?c39S$-1t)5Dd{W;MjX4TDcyY% QCVMde8i{dXIEAGB2Qx#!SpWb4 literal 0 HcmV?d00001 diff --git a/contributions/catalog/webapps/templates/contribute/home.html b/contributions/catalog/webapps/templates/contribute/home.html index cf6add0f..7d511c9d 100644 --- a/contributions/catalog/webapps/templates/contribute/home.html +++ b/contributions/catalog/webapps/templates/contribute/home.html @@ -2,6 +2,7 @@ + @@ -209,7 +210,8 @@

Contributions Catalog/Packager

{% endif %}
From 99f657ecf1a89ae4ea76b28a07710f66a28401aa Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Fri, 20 Jan 2023 10:39:57 -0600 Subject: [PATCH 04/30] 1040 header UI changes (#1042) * changes to topnav * added cursor pointer to plus icon * removed inactive styles classes from style html * added contribute button * removed unwanted style classes * remove unwanted styling * added plus icon * removed extra space * changed topnav styles * updated styling for login and logout button * add navlogout display script * topnav classes and scripts * styles for topnav buttons * updated changelog * changed style of buttons * added icons stylesheet * added icons stylesheet * changed button class name * updated width of topright nav * updated margins * added blockI * style topnav right divs * moved to unreleased * removed unwanted comment * changed footer class name * updated flex div * updated header styling * removed exclamation mark * removed h1 class redundant * added typekit css * added typekit css to head * added typekit css to talent details --- CHANGELOG.md | 1 + .../webapps/static/block-i-white-orange.png | Bin 0 -> 292 bytes .../catalog/webapps/static/css/style.css | 162 +++++++++++------- .../catalog/webapps/templates/base.html | 1 + .../contribute/contribution_details.html | 22 +-- .../webapps/templates/contribute/home.html | 29 +--- .../templates/contribute/talent_details.html | 2 + .../catalog/webapps/templates/head.html | 2 + .../catalog/webapps/templates/style.html | 30 ---- .../catalog/webapps/templates/topnav.html | 38 ++-- .../webapps/templates/topnav_javascript.html | 12 +- 11 files changed, 142 insertions(+), 157 deletions(-) create mode 100644 contributions/catalog/webapps/static/block-i-white-orange.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f19cc85..a3bf276f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - UI for capability view page. [#1034](https://github.com/rokwire/rokwire-building-blocks-api/issues/1034) - Updated footer UI. [#1036](https://github.com/rokwire/rokwire-building-blocks-api/issues/1036) +- UI changes to top navigation bar. [#1040](https://github.com/rokwire/rokwire-building-blocks-api/issues/1040) ## [1.17.0] - 2022-12-06 ### Added diff --git a/contributions/catalog/webapps/static/block-i-white-orange.png b/contributions/catalog/webapps/static/block-i-white-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..cf7693863e32db99d2ed515e257adabf88830f20 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^ia@N-!VDzmAK0e@q*&4&eH|GXHuiJ>Nn{1`8H|C#Rpqf9_zp?Wnr z)wh6p`AUNPf*CHq`g-et{QWA06UR#jbfEW&(1_jd_OnSxQK^GVft}rmVHh&7lB|6zu?awOeYc<7|T|i5NBr7kPuzC z>%^Iv#>)@8=rqcBygA|QQs=mrK)S3j3^P6Contribution Catalog / Packager + diff --git a/contributions/catalog/webapps/templates/contribute/contribution_details.html b/contributions/catalog/webapps/templates/contribute/contribution_details.html index f566b174..56c48395 100644 --- a/contributions/catalog/webapps/templates/contribute/contribution_details.html +++ b/contributions/catalog/webapps/templates/contribute/contribution_details.html @@ -3,6 +3,8 @@ + + @@ -14,26 +16,6 @@ Contribution Details
@@ -27,374 +22,425 @@
-

Contribution Details

+

Contribution Details


-
-
-

Contribution Name

+
+ +
+
+

Contribution Name

+
+
+
{{post.name}}
+
-

{{post.name}}

-
-
-
-

Contribution short description

-
-

{{post.shortDescription}}

-
- - {% if post.longDescription %}
-
-

Contribution long description

+
+

Contribution short description

+
+
+
{{post.shortDescription}}
-

{{post.longDescription}}

- {% endif %} + {% if post.longDescription %} +
+
+

Contribution long description

+
+
+
{{post.longDescription}}
+
+
+ {% endif %} + + {% if post.contributors %} +
+
+

Contributor details

+
+
- {% if post.contributors %} -

Contributor details

- {% for c in post.contributors %} - {% set contributor_ns = namespace(firstName='', lastName='', middleName='', address='', phone='', email='', - name='', contributorType='', affil_name='', affil_address='', affil_phone='', affil_email='') %} - {% for key,val in c.items() %} - {% if key == "affiliation" %} - {% for k,vk in val.items() %} - {% if vk %} - {% if k == 'name' %} - {% set contributor_ns.affil_name = vk %} - {% elif k == 'address' %} - {% set contributor_ns.affil_address = vk %} - {% elif k == 'phone' %} - {% set contributor_ns.affil_phone = vk %} - {% elif k == 'email' %} - {% set contributor_ns.affil_email = vk %} + {% for c in post.contributors %} + {% set contributor_ns = namespace(firstName='', lastName='', middleName='', address='', phone='', email='', + name='', contributorType='', affil_name='', affil_address='', affil_phone='', affil_email='') %} + {% for key,val in c.items() %} + {% if key == "affiliation" %} + {% for k,vk in val.items() %} + {% if vk %} + {% if k == 'name' %} + {% set contributor_ns.affil_name = vk %} + {% elif k == 'address' %} + {% set contributor_ns.affil_address = vk %} + {% elif k == 'phone' %} + {% set contributor_ns.affil_phone = vk %} + {% elif k == 'email' %} + {% set contributor_ns.affil_email = vk %} + {% endif %} {% endif %} + {% endfor %} + {% else %} + {% if key == 'contributorType' %} + {% set contributor_ns.contributorType = val %} + {% elif key == 'firstName' %} + {% set contributor_ns.firstName = val %} + {% elif key == 'lastName' %} + {% set contributor_ns.lastName = val %} + {% elif key == 'middleName' %} + {% set contributor_ns.middleName = val %} + {% elif key == 'phone' %} + {% set contributor_ns.phone = val %} + {% elif key == 'email' %} + {% set contributor_ns.email = val %} + {% elif key == 'address' %} + {% set contributor_ns.address = val %} + {% elif key == 'name' %} + {% set contributor_ns.name = val %} {% endif %} - {% endfor %} - {% else %} - {% if key == 'contributorType' %} - {% set contributor_ns.contributorType = val %} - {% elif key == 'firstName' %} - {% set contributor_ns.firstName = val %} - {% elif key == 'lastName' %} - {% set contributor_ns.lastName = val %} - {% elif key == 'middleName' %} - {% set contributor_ns.middleName = val %} - {% elif key == 'phone' %} - {% set contributor_ns.phone = val %} - {% elif key == 'email' %} - {% set contributor_ns.email = val %} - {% elif key == 'address' %} - {% set contributor_ns.address = val %} - {% elif key == 'name' %} - {% set contributor_ns.name = val %} {% endif %} - {% endif %} - {% endfor %} - {% if contributor_ns.contributorType == "person" %} -
Person
-
-
- First Name -
-

{{contributor_ns.firstName}}

-
-
-
- Middle Name -
-

{{contributor_ns.middleName}}

-
-
-
- Last Name -
-

{{contributor_ns.lastName}}

-
-
-
- Phone -
-

{{contributor_ns.phone}}

-
-
-
- Email -
-

{{contributor_ns.email}}

-
-
-
- Affiliation Name -
-

{{contributor_ns.affil_name}}

-
-
-
- Affiliation Address -
-

{{contributor_ns.affil_address}}

-
-
-
- Affiliation Phone + {% endfor %} + + {% if contributor_ns.contributorType == "person" %} +
+
+
Person
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
First Name   {{contributor_ns.firstName}}
Middle Name   {{contributor_ns.middleName}}
Last Name   {{contributor_ns.lastName}}
Phone   {{contributor_ns.phone}}
Email   {{contributor_ns.email}}
Affiliation Name   {{contributor_ns.affil_name}}
Affiliation Address   {{contributor_ns.affil_address}}
Affiliation Phone   {{contributor_ns.affil_phone}}
Affiliation Email   {{contributor_ns.affil_email}}
+
-

{{contributor_ns.affil_phone}}

-
-
-
- Affiliation Email + {% endif %} + {% if contributor_ns.contributorType == "organization" %} +
+
+
Organization
+
+
+ + + + + + + + + + + + + + + + + + + + +
Name   {{contributor_ns.name}}
Address   {{contributor_ns.address}}
Email   {{contributor_ns.email}}
Phone   {{contributor_ns.phone}}
+
-

{{contributor_ns.affil_email}}

+ {% endif %} + + {% endfor %} + + {% endif %} + + {% if post.contacts %} +
+
+

Contact details

- {% endif %} - {% if contributor_ns.contributorType == "organization" %} -
Organization
-
-
- Name + + {% for contact in post["contacts"] %} + {% set contact_ns = namespace(name='', officialAddress='', phone='', email='', organization='') %} + {% for key,val in contact.items() %} + {% if key == 'name' %} + {% set contact_ns.name = val %} + {% elif key == 'phone' %} + {% set contact_ns.phone = val %} + {% elif key == 'email' %} + {% set contact_ns.email = val %} + {% elif key == 'officialAddress' %} + {% set contact_ns.officialAddress = val %} + {% elif key == 'organization' %} + {% set contact_ns.organization = val %} + {% endif %} + {% endfor %} + +
+ + + + + + + + + + + + + + + + + + + + + + +
Name   {{contact_ns.name}}
Official Address   {{contact_ns.officialAddress}}
Email   {{contact_ns.email}}
Phone   {{contact_ns.phone}}
Organization   {{contact_ns.organization}}
-

{{contributor_ns.name}}

+ {% endfor %} +
+ {% endif %} + + {% if post.capabilities %} +
+
+

Capabilities in this contribution

-
-
- Address -
-

{{contributor_ns.address}}

+
+ + {% for c in post.capabilities %} + + + + + {% endfor %} +
+

{{c.name}}

+
+ {% if is_review %} + + {% else %} + + {% endif %} +
-
-
- Email -
-

{{contributor_ns.email}}

+
+ {% endif %} + + {% if post.talents %} +
+
+

Talents in this contribution

-
-
- Phone -
-

{{contributor_ns.phone}}

+
+ + {% for t in post.talents %} + + + + + {% endfor %} +
+

{{t.name}}

+
+ {% if is_review %} + + {% else %} + + {% endif %} +
- {% endif %} - {% endfor %} - {% endif %} +
+ {% endif %} - {% if post.contacts %} -

Contact details

- {% for contact in post["contacts"] %} - {% set contact_ns = namespace(name='', officialAddress='', phone='', email='', organization='') %} - {% for key,val in contact.items() %} - {% if key == 'name' %} - {% set contact_ns.name = val %} - {% elif key == 'phone' %} - {% set contact_ns.phone = val %} - {% elif key == 'email' %} - {% set contact_ns.email = val %} - {% elif key == 'officialAddress' %} - {% set contact_ns.officialAddress = val %} - {% elif key == 'organization' %} - {% set contact_ns.organization = val %} - {% endif %} - {% endfor %} + {% if (is_reviewer or is_editable or is_review) %}
-
- Name +
+

Contribution admins

-

{{contact_ns.name}}

-
-
-
- Official Address +
+
+ {% for x in post.contributionAdmins %} + {{x}} {% if not loop.last %},{% endif %} + {% endfor %} +
-

{{contact_ns.officialAddress}}

-
- Email +
+

Status

-

{{contact_ns.email}}

-
-
-
- Phone +
+
{{post.status}}
-

{{contact_ns.phone}}

-
- Organization +
+

Date created

+
+
+
{{post.dateCreated}}
-

{{contact_ns.organization}}

- {% endfor %} - {% endif %} - - {% if post.capabilities %} -

Capabilities in this contribution

- {% for c in post.capabilities %}
-
-

    {{c.name}}

+
+

Date modified

+
+
+
{{post.dateModified}}
- {% if is_review %} - - {% else %} - - {% endif %} -
- {% endfor %} - {% endif %} - - {% if post.talents %} -

Talents in this contribution

- {% for t in post.talents %} -
-
-

    {{t.name}}

-
- {% if is_review %} - - {% else %} - - {% endif %} -
- {% endfor %} - {% endif %} - - {% if (is_reviewer or is_editable or is_review) %} -
-
-

Contribution admins

-
-

- {% for x in post.contributionAdmins %} - {{x}} - {% if not loop.last %},{% endif %} - {% endfor %} -

-
-
-
-

Status

-
-

{{post.status}}

-
-
-
-

Date created

-
-

{{post.dateCreated}}

-
-
-
-

Date modified

-

{{post.dateModified}}

-
- {% endif %} + {% endif %} +
- {% if is_editable %} - Edit Contribution - - - {% endif %} +
+ + {% if is_editable %} + Edit Contribution + + + {% endif %} - {% if is_reviewer %} - Review Contribution - {% endif %} -
+ {% if is_reviewer %} + Review Contribution + {% endif %} +
-{% if is_review %} -
-

Review

-
-
-
-
-
-

Status

+ {% if is_review %} +
+ +

Review

+
+ +
+
+
+

Status

+
+
+ +
-
- {% else %} - + {% endif %} - +
-
-
-
-

Comment

-
-
- {% if 'review' in post %} - - {% else %} - - {% endif %} -
-
-
-
-

Last Updated

-
-
- {% if 'review' in post %} - {{ post | filter_nested_dict(["review", "lastUpdated"]) }} - {% endif %} +
+
+

Last Updated

+
+
+ {% if 'review' in post %} + {{ post | filter_nested_dict(["review", "lastUpdated"]) }} + {% endif %} +
+
- -
-
-
- - - - - -
- - - -
+
+
+ + + + + +
+ + + +
+
-
- -
-{% endif %} + +
+ {% endif %} + +
+ {% include 'topnav_javascript.html' %} diff --git a/contributions/catalog/webapps/templates/contribute/talent_details.html b/contributions/catalog/webapps/templates/contribute/talent_details.html index 198f4c0f..6a0f951c 100644 --- a/contributions/catalog/webapps/templates/contribute/talent_details.html +++ b/contributions/catalog/webapps/templates/contribute/talent_details.html @@ -238,7 +238,7 @@

Self Certification

{% endif %}
- +
From 809b177233ea18ee9b9db6da34e614fb73329ac4 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Thu, 2 Feb 2023 13:07:30 -0600 Subject: [PATCH 07/30] 1063 catalog home page UI (#1064) * add bookshelf image asset * removed styling and added div * updated class css styling * added button styles * updated changelog * removed unwanted styling * sorted stylecss * changed class name and style * updated styling * updated contribution link class * changed view contribution div * updated card and contribution link positions * removed additional style sheet * changed styling * removed container style * updated h4 font weight --- CHANGELOG.md | 1 + .../catalog/webapps/static/bookshelf.jpg | Bin 0 -> 8132 bytes .../catalog/webapps/static/css/style.css | 198 ++++++++++++------ .../webapps/templates/contribute/home.html | 115 ++-------- 4 files changed, 155 insertions(+), 159 deletions(-) create mode 100644 contributions/catalog/webapps/static/bookshelf.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e56989d..dddacf20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - UI changes to top navigation bar. [#1040](https://github.com/rokwire/rokwire-building-blocks-api/issues/1040) - UI for talent view page. [#1060](https://github.com/rokwire/rokwire-building-blocks-api/issues/1060) - UI changes for contribution details page. [#1041](https://github.com/rokwire/rokwire-building-blocks-api/issues/1041) +- Catalog home page UI. [#1063](https://github.com/rokwire/rokwire-building-blocks-api/issues/1063) ## [1.17.0] - 2022-12-06 ### Added diff --git a/contributions/catalog/webapps/static/bookshelf.jpg b/contributions/catalog/webapps/static/bookshelf.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a52defd673b0b438d4410f1d280c7b3ee793f18d GIT binary patch literal 8132 zcmbtZg26SvZjqEO>5^JXL1|<`6c7YN`BvZe z{R_S`cg{Wco|!xId(Js`?mctAcE1G>YpQCf0w53ofKUf;zYS=s1i3i_fQ}Bp4FCW( z0E%-1&`}af3s9p@005VO05GclcSi}@|Fqz_67c_IAp7ry_g?{VeOK=QZ+};BA4U;= zK|owlLkIouXejz8v;7l^5p>DxX+R755gaG~PG>NhK2_I zuMR|lMk>T43|1gx7Ev^?zyAQ>qf}@lU=lzM_~SE0rB`*1Uz!bXGUum@9)!@rpU}a1 zO$|++aXK;AGs4hXV&!=lVR+T)p)FYH?)XV{n>jsprYEoGhmC7x_v=_q9^)BP2?dr7 zi`5j9|HQqy3l!6Q(lzw7_H$as;r>^OkTem*lB9@?;x~QrPt`Wm>y0xPw;k7i7Cz#9 z&?$n}nP057gsD~P?HG8jvpU=kiLPNMWXy5xA50m4+v+YH>t!%pOO1!#(6HKDvIL}4 zkFn&iiMP4Y8y~^4bm(ItRZdxo3Y$AxIxn2~1#*&KhLYA78zZ_#_G)9Fb>$A|y4f2_ zRI0d-C0n!AW>sa>BwOKc5V#vl!o;a_3N5Ip2;3cZ@kADee~3&W&%)Vf>UD`nxg4@- z9X=+tm-U|Pe$>52dWe42q-PsY&pKU+zBcHZou86-jYYXNsHD@JADwD4L5O@dB`GLa zQw~b~GUCj+IWyalZL(ti(T`U*rinagJDs?D53z<7aT~c?+gIG=o;+>fWmrsIx!xax znyUvJl)ZbyCEAbzArICxHz|c04)b9Rt4%>^p#h59x$)i4ht(8(7UtbzzAwyMK?A5A zY#@?&v8m4t4q*7P>r}WCXcJV}^zxh8GHWo<9zNXkM3}_=oWO{=SmAU~%!w1-Fvls2U|vd9wWa;b)15QjFo`|9o& zCTA&YVAyl6z0>@SZ{l#9-^o!zyA%^Bv5(F;G#CeVWB%mYMKX$f;_lGx8Uk^5lOrSs2Z3gvjC}plGD@QlDUva8H@;NRli|}x93i7$ z8&@8vc)JCs6NT%|B$*rqXXF%A_g5b%>-Lh~Bs3Oz>|Ry;%;_cKpZPjAlS+HNIe<1p zpe0K=jlIYhi1pQX+FwmNuQ`d1ZMd3uQKty;wJ%}r#Q;(Lhq!2!mvzMPc$oTpDz2_& z3Uvu(DHE?vWDn}F*}N#9Jk%E>dGz+CI6O>N!&U&^lr*fzGBu~7l9%?Jkd$pqiG)x< ziA$ly#D5Ah5H%-GWhT8nH#oGEc&jhOU)aIIq1PPX!b#cr!1*Y1%UZs~TN5qg@&(7c zXSOSIU=O*Q*WTxmEs~K94&n7>c~dF;{sD%LoewHZ2A|@=o&S|ag6FDsGwKk>Q~`GG zwh&!zkENlUpqodvK|w+gUF?uei$JaB%GfFei6BNW=!v zN6g7saahqOv2Uz*33jC%b5oA#uapRAR`_-)-M+zS*72d<|KXK2-jy}Odf_rk;e4vp zVoQieM@Yei{^Ih_a|W@+f2vAHj1l(b3AG0dWJWWRh2n+%c02A!$;MRnH~FZBeM0r9 z=>-P$&0MB?;B%Vu(fE-eS{K6w7--L@ZreYoz7^nkFKvqX>2 zo06C=>f(?Mo)XVl!_Fm8t%&*zi)*WE3y*7INlqJ8ix^26&XDdy*Z%UEY+7u#STWan0x>S`H@u@1i1VS(&iijrixk`1W3 zk?-z_#=`#S%a%J$c2jt~d=+)kWA&@^HxVP z1<^*2v?Q=8599;;^I-FC18{AJqQcK;^cSS1c#8L!&8g~ma+9#pf7Fg#KcK2f(g)jbyXBv0-qdO~I))HDd5}}mRqP8Dk$CIJT(tO?@oW1el zf9FarSxED94eW)k>0w#UI;nTXADYt|MJj0F7!r-CujE(j%5}yE1$Er5-!f}4@786d z;F>T|`vosovY&ile{+Zktk&c&KOH^DiZ%Wd$p-6T;WDTdDAc*lvK+B5IYQJFe9Z6P zWv`GPgFxy3uzIofn!f(DRH;shWUUnVFp5YWt`=MrelSq&PF;{)XjoR8*1_! zY6=N;8>2jH*L`oyWWtg%MaNepf-Y+9>y{(&bt_xW^o~R$S(E3+Upuy(xm~m94L2tp zi3Cq=>^h6Z5>afm$T=>TMvZ(p*B)(daO0(e-DEelb|fb|6b`q)SLiw=uW%i2NHXTS zi4JQwx0Hc-(ehI?q-c=z`dlk}md03T~bhsAI0(WP*UB6p^t#xfu0 zK)Y$D8C{t{;nIC;VvGXP{>-apHQqls!v1tF8B@3Jj_-}BhX3aR9L$f<9*;+i>hSbo z6vQ}xB;Pa8nBbql{8asruRX4QcfNJamPcCTt~+vDtybICG?=D@MY9tf4Nbn3#D^8g z9rcm?Df7(l!B3?P_)qJ&t`k9-`JXJ{jVt;ucA>??oA^WlGV?@%YoR6d$4x)2qpG{< zzhL!PVtz$m+AKYthyHX8CWgY4rr^Q)PN04K8mw&L61RQ2sIuWE=m`Y;id<%ss(<{D z+!?v@@|CGaT6?i=_58`2C56lyy^Yx~vogJ78r2Upm2^1VYag=hBUH^#j0L}+-q3NR zK3$D%&f%6JcyM?CX=F%38YT(Vr?BX>I_ZusG;n>cZF4Ofu{mJRC?_+2Uu&2$wW&fu zrso&eo#3;yIj*pm`iww2Bb-RM3dfsum0b&BMi9nZ+moRt%2nH_aa~St+Lu;R&1S;I zqTM0sJT94s$FIB>f`JhKlJT-+X6IN;r$F^v3Y}Qz@-ZUIZgXArzDm(ZIm}$l|uKKU-c7a^@vuuUaf42 z(%UMpHzGo&!Vy(|Z<9y8VlvMQpx@5R`9$23co6xulM$uappn>gdN1QjQ_~*mY5|@r z7q>m1edIFL4MTHTsT_-FLj8vEIgzgn%b!xj;^xPfwQnvk)&E?wN-nk79QltdUBM*t zo#r0&k%Uw`dy_<4ouw_Xh$XKdUmpBU36v5J`d!>#mxhRIYm)2WK#m)qpd^nRykF^8 zmGt?dCpNV;p?cFXX}9_VWUrS9`{In3?zE^DGbtF-!b$n@KZ#M_yyrp8?wnbBj8Jzv zba``I7p0GFuS(?ihCjB-c(WsJa{Fq%2#S2y@L-##%K7ZEX&(6mUY6ewU*Z-|;+D<` zTIUO1wZ*l14Ad5o7Xn&)LW#%N1OWH|3;^x`zz#46x|B%3Ab9|Qf*CO}@QJ|QJ@&9L zX`Qq4=J2$Nq1mzQFg@qz+J|Y`HzA#$K7FW-uy3#^%jld!BpHhG@N}6$qj!6-?Vo^l6?EOQ7@WNR2!7+acG`rM0~Ro*%vo-p1gFN5V6-m*uG~VR=!e^ zZ%b4WHwAI0SEZS<<|4|uruounobLTuT_uF**`7CYI`c}U*5MWB^djrEaIv=IEyq{; z$3ouamu`d`W^dSd*}3k4Tb0*EiIKly-zcito7c_rmVSw-G@lXKIz%$x1Jo;Hua^f- zY_~2+AOHDE^+)B)VeV}GQ}^`dqwQK=8P0bk#Z z5W56VGtS#B0ssWZmltFM2=H-1<&2bn695pbt-lq>2M><%ZV%s17=AOiLxK8Igc<9c z{YKd*5)Y&6%%wgmg7@729&o8nJ36KyBdJ@w(mt&!oN=1tB8_+d1EC^$s@XJ$9eu@(|)KlggdEkv&Fw%8`pTY>|y<{h6 z=XNUTZmNN19_<$)RJ~(9N``Dd?bOz(=0x;%G_Yk|T*LS*&3aslb2R*tB4Ht&;f`}t zk?za-qgpxC#WU^EV{!`-U;3^qwkNe*92t)8fdKcnx_lQCeHLAo?wQX-6ykyB#^TUAh;g_FN#^FzMih^5MfF7l;qU-q{}7 zI9MaEABzTi2>(S)0D_~!2Y}Lb*C!bkzhA2_ZX2VFRA6Cc z(Q8qYQwP=FaA@PBPOfn-(+A<(ft;-{@`KWOo|5;#3oWz0BOeqi(!|EPw|WI@e_Uj( zr+WKCBsh7cVCsN0+wd$y$l@@`O#m|Ej>utuL$MArIrXchV?9d@j`OSOv%Zj>#Ko8*+i{BQtB7i0u5QC>~~f@2H<@`3hB>C)MmgHqJ$BOQu`<-2azZ_4Di0iQH7LH-*xP+4q1% z&kr%G{-L62vL8iD`#qMR&LtSYk zld9p!cKQ2WnT6!$Ys!m};f*8~j`oKkwwKuN9=QPhZ~siDj|qS56rCb-;nNu)DknG{ zYZq^-?hp$6I2l(-UZ3+`^P@i%{$ve%+&3Iq(ZQ=vvXM1;>uBRU2X`J59Z4ctRpfOV zK?qM|)ucnu_kK~?$u!rVv6P#Q(bSh#&8mqU;+uvEzG-%;6Kc)fiSr-1r`qTe;qv-G z2mrq%GK8D{f;*i+aExHxC70-s{!;HFJDx~QB0I-}tB)y?2O#Kc`{zrd$*0L{T>(uUL2>UZ6FvyoXl(Sit2WJ^C$F6ZdedUK`IU;4(QuFm zENVQZcC3=3uQq$&`c}ybN#g6_q~KpO3wdAC4*mi_|IR{DYcOm(CX~Sj|5^*p(+sqM z@_k0oH5{uZ1U?3)q_k~^{LT^Y&OJUkfZ;L7RqiB8&Yu&1MjX(rGTHs?1`>+?NG}?gx#{PEX?K>52-Sh z6Q;veu7KYD+CLEpf0t1Ks>tUt`vKNg+! zu2Zc!?*X6u(R+Y+hk;Xpa@yOGfdd_)YWUH7_4d=m&{t`zfp11Xo`A(tUh@Yf3|xqC zSoHgOCcgaryfDJBP(Y5$tT+Z57GWTL6#>S*V3ANXOKRn=v{=q{lOyY}E%N#5Pe2zi zX_<<2Db>nI{J1pqW;W8^OJLzwD{b%Vvn!$KZczh?hdqRx<#m`}5KamXB~8E}fD2p# zmkvKcAy{R=6K9nimrySC$f}WyvdpeO}4na6amn$iuqG ziUSj5jl~KYmj4?|0E$nbO!qgy0Qf%vHDf^q(Z_uxe0}Fs-8YG5k)va;)xWIw)2~QG z6sOJ|gqW{8l?C720~tr#f5f6f3svY|vberC-b56v(t35}_XhTHq=hrX&Xz4gsvUOg z!DB0kKC%|4=8S;jnDzuhPm77goQg{Y^50M@+YddC5lCLi&6=4Q!hd zo!;OhPz7(DQrPG}f6>Arb%M_!@s#~MBx=vg-95myOCYx{a{Yx}?U2#4sm6syE|=*= zrH50N>?5R;c3MnPyt(MagFjHg07rw{0rL2$Un75s5>=s7008lzJQ$!H1aLA9lhh7> z8KxeS%TP7SHct=1b1Fj2e}-`G&)sEwjJrO5m*{y?tub*t)#dB{h4_et`V$8;dG2$? z@AK5Ctb7Zn>r+Nt5EFa}uQa+b&KKTk72Rlvne==NB-lwHm1xV_KSO)ZRDCfRlY?B_HAbMs>5u03vKV6|DwLqp#wO`YC>8MRFGipa3z4!EK53ZWP)k`?VT#232@{D)u#~?bZ`ewiEzNk@sNq0HJsY zG}N^61Lyf}8O3OgVe4|{?ivw`yCQdHu1V-c*Xr}{)kH0#qlKr|z?UK738ofG(g`~y zR%}?4%mcyszmULDCtA@U+7~l+#!f4Hj8VUAXUO9%-eUt7WjslUZg!y%7>2&IFnsjAoPjMqbe!rN&^y*~L%N(wJGu{$Z8Wh`&cq->1 z`=~qx$QsiQ|J}^sQ^%P>5y9SQ*X!s-+$ZVh6S&h%dm&lc&lnMA1|@TpKjMp-x%s#? znxDO&=DBO&U4;g$N_*&PUdd=$^;tn9Sh76F5O()KO$V|!Vqq@M zEJnAIEar)!Qgek+4EQe?oj_1rY6%207Ld^deqhTJ_bSiRvoA;HG32iI>2AnPGBo#d zS=XnF_+~nLMpNPAutnjgv!xIIkmrZvqHR&&#ZZtBJrhK&k3`UUCoJG1N#fSLJ98V% zPm^Z&kO-Vlu z;uv~;x5M1Zn|Wwi`UH6x71ZKShEORJd3w~UwR4IXz{aGH$|TZnd&U!vCLR7pXDo)z z>24%7k!U+@ZA0^`HRi1Fl%a?xwnHcBI$sn%9FG*s6$2nzW8b<5s(6~fpE^NNrYq9skc9Xh#Hr8QA0l~z2ZJ%eKc&ikiSxjt%}^wDK=UK=xA#I&L4u! zx*|e1(gAmo&h(C9!q*wEmW)>C7ZTm*a7n~h79@S<53*TG)u3g`g_aN&_KX+M?1C4b z%~V|zafX(KuPSQ%vyf7K^7VuhiNU5(Fp4YXuJ#gQq$ael@`H;G zH*w)p&-Tm!yH`f8233WRp2Jz*kFw!;andHFgb5b - + @@ -46,40 +46,6 @@ clear: both; } - h1 { - font-size: 50px; - word-break: break-all; - } - - #header { - margin: auto; - position: relative; - max-width: 1000px; - - left: auto; - right: auto; - border: none; - /*padding: 30px;*/ - background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("https://images.unsplash.com/photo-1521587760476-6c12a4b040da?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80"); - background-repeat: no-repeat; - /*height: 30%;*/ - /*width: 52%;*/ - height: 250px; - width: 1000px; - background-position: center; - background-size: auto; - } - - #title { - margin: auto; - text-align: center; - position: relative; - top: 50%; - left: 15%; - transform: translate(-25%, -25%); - color: white; - } - @import url(https://fonts.googleapis.com/css?family=Open+Sans); .search { width: 100%; @@ -119,42 +85,6 @@ border-radius: 5%; } - .show { - display: block; - } - - /* the card feature */ - .content { - background-color: #f7f3f3; - /*background: url("https://images.unsplash.com/photo-1463947628408-f8581a2f4aca?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1350&q=80");*/ - height: 160px; - box-shadow: 0 4px 8px 0 rgba(98, 66, 66, 0.2); - padding: 10px; - transition-duration: 0.2s; - border: none; - border-radius: 4px; - overflow-wrap: break-word; - word-wrap: break-word; - - } - - .content:hover { - box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); - cursor: pointer; - text-decoration: #8fd19e; - } - - .footer { - position: fixed; - left: 0; - bottom: 0; - width: 100%; - text-align: center; - background-color: #2a4b45; - color: #ffffff; - } - - {##} @@ -168,20 +98,19 @@

Contributions Catalog/Packager

-
{% if show_sel == "capability" %} - - - + + + {% elif show_sel == "talent" %} - - - + + + {% else %} - - - + + + {% endif %}
@@ -155,15 +153,10 @@

Contribution Details

- -
- +
- - -
@@ -173,14 +166,14 @@

Contribution Details


Add an Organization to this Contribution

- -
- +
+
-
- + +
+
@@ -471,7 +464,7 @@

Add a Person to this Contribution

{% endif %} - {% endfor %} + {% endfor %}f {% endif %}
@@ -492,7 +485,7 @@

Add a Person to this Contribution

OR - +
@@ -522,13 +515,12 @@

Add a Capability to this Contribution

- +
- +
@@ -1687,21 +1688,19 @@

Contact Details

- - + +
@@ -1710,19 +1709,21 @@

Contact Details

From 3724bd4af794aca6bebbe51fdf2ef92c9bcacd80 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Fri, 24 Feb 2023 14:45:39 -0600 Subject: [PATCH 11/30] 1066 review page UI changes (#1082) * updated styles for create page * changed button styling * added padding style * removed duplicate class style * removed unwanted comments * changed divs * removed class text input field * changed wordings * updated input box styling * added checkbox svg asset * added checkbox styling * added checkbox styling * rearranging input div table cell * updated cancel modal * changed close button * changed close button * changed col spaces * checkbox stlye * updated focus styling * updated changelog * close and other buttons * button active and hover styles * added form-control class and changed textarea * updated styles for form control and check classes * added font size * changed button and font style * change padding so that text is visible * added form group divs * added tertiary button styles * removed input reset styles * changed button classes to update styles * updated changelog * updated button focus styles * added custom dropdown div * added custom dropdown menu styles * javascript for custom dropdown menu * added border line style and removed unwanted styles * added hover style * updated font weight on hover * added border on hover * removed customized dropdown --- CHANGELOG.md | 1 + .../catalog/webapps/static/css/style.css | 42 ++++++++--------- .../contribute/contribution_details.html | 46 +++++++++++-------- 3 files changed, 48 insertions(+), 41 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1c4f4535..a4d09065 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Catalog home page UI. [#1063](https://github.com/rokwire/rokwire-building-blocks-api/issues/1063) - CODEOWNERS file to include CHANGELOG. [#1059](https://github.com/rokwire/rokwire-building-blocks-api/issues/1059) - Create contribution page UI. [#1065](https://github.com/rokwire/rokwire-building-blocks-api/issues/1065) +- Review block in contribution details page. [#1066](https://github.com/rokwire/rokwire-building-blocks-api/issues/1066) ## [1.17.0] - 2022-12-06 ### Added diff --git a/contributions/catalog/webapps/static/css/style.css b/contributions/catalog/webapps/static/css/style.css index 0e34da08..43075b44 100644 --- a/contributions/catalog/webapps/static/css/style.css +++ b/contributions/catalog/webapps/static/css/style.css @@ -92,7 +92,7 @@ label { .form-control { height: 48px; font-size: 16px; - padding: 12px 8px 16px; + padding: 10px 8px 10px; border: 1px solid #002855; border-radius: 0; background-color: #fff; @@ -178,23 +178,6 @@ input[type=checkbox]:checked:focus, input[type=checkbox]:not(:checked):focus{ box-shadow: none; } -input[type=reset] { - background-color: #6b9ec0; - color: #090000; - padding: 15px 25px; - text-align: center; - margin: 5px 5px; - transition-duration: 0.2s; - border: none; - border-radius: 4px; - cursor: pointer; - float: right; -} - -input[type=reset]:hover { - background-color: #378bc4; -} - .container { border-radius: 5px; background-color: #ffffff; @@ -284,7 +267,7 @@ input[type=reset]:hover { background-color: #e84a27; text-decoration: none; } -.button2:active{ +.button2:active, .button2:focus{ color: #002855; display: inline-block; border-radius: 24px; @@ -310,7 +293,7 @@ input[type=reset]:hover { background-color: #f5821e; text-decoration: none; } -.button3:active { +.button3:active, .button3:focus { color: white; display: inline-block; border-radius: 24px; @@ -319,7 +302,7 @@ input[type=reset]:hover { text-decoration: none; } -.button4, .button4:hover { +.button4 { background-color: white; color: #002855; display: inline-block; @@ -327,6 +310,22 @@ input[type=reset]:hover { border: solid 2px #002855; text-decoration: none; } +.button4:hover { + background-color: #002855; + color: white; + display: inline-block; + border-radius: 24px; + border: solid 2px #002855; + text-decoration: none; +} +.button4:active, .button4:focus { + background-color: white; + color: #002855; + display: inline-block; + border-radius: 24px; + border: solid 2px #009fd4; + text-decoration: none; +} .button5 { background-color: white; @@ -347,6 +346,7 @@ input[type=reset]:hover { background-color: #e84a27; } + /* Style the buttons */ .cardfilter { margin-top: 12px; diff --git a/contributions/catalog/webapps/templates/contribute/contribution_details.html b/contributions/catalog/webapps/templates/contribute/contribution_details.html index 3a130d21..aa3b43ed 100644 --- a/contributions/catalog/webapps/templates/contribute/contribution_details.html +++ b/contributions/catalog/webapps/templates/contribute/contribution_details.html @@ -361,7 +361,8 @@

Review

Status

- {% if post["status"].lower() == "submitted" %} {% else %} @@ -388,13 +389,17 @@

Status

{% endif %} +
+
+
+

Comment

-
+
{% if 'review' in post %}
@@ -1551,7 +1630,7 @@

Self-certification

{# end of talent-parent container div #}
-
+
{# end of place holder for dynamic add capability / talent buttons container div #}
@@ -1561,10 +1640,10 @@

Self-certification

@@ -1700,11 +1779,12 @@

Contact Details

-
+
- - + + +
From cc364485596fd92312a9eff7e6fc6ca951bbb754 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Mar 2023 11:09:22 -0600 Subject: [PATCH 15/30] Bump cryptography from 3.3.2 to 39.0.1 in /contributions (#1073) * Bump cryptography from 3.3.2 to 39.0.1 in /contributions Bumps [cryptography](https://github.com/pyca/cryptography) from 3.3.2 to 39.0.1. - [Release notes](https://github.com/pyca/cryptography/releases) - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/3.3.2...39.0.1) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] * updated cryptography in auth middleware * updated cryptography verison changelog --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Minu Mathew Co-authored-by: Sandeep Puthanveetil Satheesan --- CHANGELOG.md | 1 + contributions/requirements.txt | 2 +- lib/auth-middleware/setup.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 766bce56..64514f41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Review block in contribution details page. [#1066](https://github.com/rokwire/rokwire-building-blocks-api/issues/1066) - Rearranged divs in contribute page. [#1079](https://github.com/rokwire/rokwire-building-blocks-api/issues/1079) - Element stylings in contribute page. [#1087](https://github.com/rokwire/rokwire-building-blocks-api/issues/1087) +- Cryptography version bump for contributions. [#1089](https://github.com/rokwire/rokwire-building-blocks-api/issues/1089) ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) diff --git a/contributions/requirements.txt b/contributions/requirements.txt index 48952f25..8f6f6506 100644 --- a/contributions/requirements.txt +++ b/contributions/requirements.txt @@ -5,7 +5,7 @@ Flask-Cors==3.0.10 pymongo[tls,srv]==3.7.2 requests==2.22.0 pyjwt==2.4.0 -cryptography==3.3.2 +cryptography==39.0.1 python-dotenv==0.10.3 gunicorn==19.9.0 gevent==21.12.0 diff --git a/lib/auth-middleware/setup.py b/lib/auth-middleware/setup.py index 5793aab0..80bafd03 100644 --- a/lib/auth-middleware/setup.py +++ b/lib/auth-middleware/setup.py @@ -29,7 +29,7 @@ install_requires=[ 'PyJWT>=2.4.0,<3', 'requests>=2.22.0,<3', - 'cryptography>=3,<4', + 'cryptography>=39', # I would require flask here, but I want to use the version that the # "calling" app uses, and I don't see a way to guarantee that pip # installs the dependency in the correct order (eg. "calling app" first From ea10834233e3dc4b15eaeac7647a0729ad6e07fd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Mar 2023 11:40:09 -0600 Subject: [PATCH 16/30] Bump cryptography from 3.3.2 to 39.0.1 in /appconfigservice (#1074) * Bump cryptography from 3.3.2 to 39.0.1 in /appconfigservice Bumps [cryptography](https://github.com/pyca/cryptography) from 3.3.2 to 39.0.1. - [Release notes](https://github.com/pyca/cryptography/releases) - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/3.3.2...39.0.1) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] * update gevent * update cryptography * updated changelog --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Minu Mathew --- CHANGELOG.md | 1 + appconfigservice/requirements.txt | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 64514f41..020544b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Rearranged divs in contribute page. [#1079](https://github.com/rokwire/rokwire-building-blocks-api/issues/1079) - Element stylings in contribute page. [#1087](https://github.com/rokwire/rokwire-building-blocks-api/issues/1087) - Cryptography version bump for contributions. [#1089](https://github.com/rokwire/rokwire-building-blocks-api/issues/1089) +- Cryptography version bump for appconfigservice. [#1089](https://github.com/rokwire/rokwire-building-blocks-api/issues/1100) ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) diff --git a/appconfigservice/requirements.txt b/appconfigservice/requirements.txt index e016d14c..406eb0c6 100644 --- a/appconfigservice/requirements.txt +++ b/appconfigservice/requirements.txt @@ -5,10 +5,10 @@ pymongo[tls,srv]==3.7.2 pytest==5.0.1 requests==2.22.0 pyjwt==2.4.0 -cryptography==3.3.2 +cryptography==39.0.1 gunicorn==20.0.4 python-dotenv==0.10.3 -gevent==20.9.0 +gevent==21.12.0 diskcache==4.0.0 connexion[swagger-ui]==2.9.0 From 073c0e1b906a00eebd0cdb6b5795afe0a8c32c16 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 9 Mar 2023 12:19:15 -0600 Subject: [PATCH 17/30] Bump cryptography from 3.3.2 to 39.0.1 in /eventservice (#1076) Bumps [cryptography](https://github.com/pyca/cryptography) from 3.3.2 to 39.0.1. - [Release notes](https://github.com/pyca/cryptography/releases) - [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst) - [Commits](https://github.com/pyca/cryptography/compare/3.3.2...39.0.1) --- updated-dependencies: - dependency-name: cryptography dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- eventservice/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eventservice/requirements.txt b/eventservice/requirements.txt index 167cbb26..3d8bd999 100644 --- a/eventservice/requirements.txt +++ b/eventservice/requirements.txt @@ -4,7 +4,7 @@ Jinja2==3.0.3 pymongo[tls,srv]==3.7.2 requests==2.22.0 pyjwt==2.4.0 -cryptography==3.3.2 +cryptography==39.0.1 gunicorn==20.0.4 boto3==1.9.188 python-dotenv==0.10.3 From 69dd005cfd73c62b580556eb73f0458e4c840598 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Thu, 9 Mar 2023 12:56:53 -0600 Subject: [PATCH 18/30] 1084 card alignment in catalog home page (#1096) * added bookshelf images * removed styles and changed class names * updated styles for cards * updated changelog * updated max width for main container * removed search bar styling * added space before grid cards start --- CHANGELOG.md | 1 + .../catalog/webapps/static/bookshelf@1x.jpg | Bin 0 -> 8132 bytes .../catalog/webapps/static/bookshelf@2x.jpg | Bin 0 -> 21304 bytes .../catalog/webapps/static/bookshelf@3x.jpg | Bin 0 -> 36070 bytes .../catalog/webapps/static/css/style.css | 53 ++++++++++++----- .../webapps/templates/contribute/home.html | 54 +++--------------- 6 files changed, 47 insertions(+), 61 deletions(-) create mode 100644 contributions/catalog/webapps/static/bookshelf@1x.jpg create mode 100644 contributions/catalog/webapps/static/bookshelf@2x.jpg create mode 100644 contributions/catalog/webapps/static/bookshelf@3x.jpg diff --git a/CHANGELOG.md b/CHANGELOG.md index 020544b3..e5c371f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Element stylings in contribute page. [#1087](https://github.com/rokwire/rokwire-building-blocks-api/issues/1087) - Cryptography version bump for contributions. [#1089](https://github.com/rokwire/rokwire-building-blocks-api/issues/1089) - Cryptography version bump for appconfigservice. [#1089](https://github.com/rokwire/rokwire-building-blocks-api/issues/1100) +- Catalog home page card alignment. [#1084](https://github.com/rokwire/rokwire-building-blocks-api/issues/1084) ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) diff --git a/contributions/catalog/webapps/static/bookshelf@1x.jpg b/contributions/catalog/webapps/static/bookshelf@1x.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a52defd673b0b438d4410f1d280c7b3ee793f18d GIT binary patch literal 8132 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 literal 0 HcmV?d00001 diff --git a/contributions/catalog/webapps/static/css/style.css b/contributions/catalog/webapps/static/css/style.css index 6fcd3ac8..35b18cee 100644 --- a/contributions/catalog/webapps/static/css/style.css +++ b/contributions/catalog/webapps/static/css/style.css @@ -79,6 +79,42 @@ html * { clip-path: polygon(0 50%, 100% 0, 100% 100%, 0% 100%); } +/* home page main container */ +.main { + margin: auto; + position: relative; + max-width: 1010px; + min-height: 70%; + min-height: -webkit-calc(100vh - 176px); + min-height: -moz-calc(100vh - 176px); + min-height: calc(100vh - 176px); +} + +.row { + display: flex; + flex-wrap: wrap; + margin: 10px -16px; +} + +/* Add padding between each column in catalog home page*/ +.row, +.row > .column { + padding: 10px; +} + +/* Create three equal columns that floats next to each other */ +.column { + float: left; + width: 33.33%; /* if 5 cards in a row, put 20%. to change the width, adjust max-width in main class */ +} + +/* Clear floats after rows */ +.row:after { + content: ""; + display: table; + clear: both; +} + label { font-size: 16px; font-weight: 500; @@ -209,18 +245,6 @@ input[type=checkbox]:checked:focus, input[type=checkbox]:not(:checked):focus{ margin-top: 6px; } -.row { - display: flex; - flex-wrap: wrap; -} - -/* Clear floats after the columns */ -.row:after { - content: ""; - display: table; - clear: both; -} - .key-val { -ms-flex: 0 0 83.333333%; flex: 0 0 83.333333%; @@ -380,11 +404,12 @@ input[type=checkbox]:checked:focus, input[type=checkbox]:not(:checked):focus{ border: none; margin: auto; padding: 30px; - max-width: 1000px; + max-width: 1500px; background-image: url("../bookshelf.jpg"); + background-image: -webkit-image-set(url("../bookshelf@1x.jpg") 1x, url("../bookshelf@2x.jpg") 2x, url("../bookshelf@3x.jpg") 3x); + background-image: image-set(url("../bookshelf@1x.jpg") 1x, url("../bookshelf@2x.jpg") 2x, url("../bookshelf@3x.jpg") 3x); background-repeat: no-repeat; height: 200px; - width: 1000px; background-position: center; background-size: auto; position: relative; diff --git a/contributions/catalog/webapps/templates/contribute/home.html b/contributions/catalog/webapps/templates/contribute/home.html index 47ed07d1..579b0908 100644 --- a/contributions/catalog/webapps/templates/contribute/home.html +++ b/contributions/catalog/webapps/templates/contribute/home.html @@ -16,50 +16,7 @@ - - - - - - - - -
- - -
- - - - -
- - - - -
- -
- - - - - -
- - -
- - - - - diff --git a/contributions/catalog/webapps/templates/topnav.html b/contributions/catalog/webapps/templates/topnav.html index d561f757..5aa594a9 100644 --- a/contributions/catalog/webapps/templates/topnav.html +++ b/contributions/catalog/webapps/templates/topnav.html @@ -1,17 +1,17 @@
- @@ -21,10 +21,10 @@

Contributions Catalog

Hello, {{ user }}
From 213a249bddac7b5a228987ac7ee6adc66b2498e3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Mar 2023 10:43:03 -0500 Subject: [PATCH 20/30] Bump werkzeug from 2.0.2 to 2.2.3 in /contributions/catalog (#1083) * Bump werkzeug from 2.0.2 to 2.2.3 in /contributions/catalog Bumps [werkzeug](https://github.com/pallets/werkzeug) from 2.0.2 to 2.2.3. - [Release notes](https://github.com/pallets/werkzeug/releases) - [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst) - [Commits](https://github.com/pallets/werkzeug/compare/2.0.2...2.2.3) --- updated-dependencies: - dependency-name: werkzeug dependency-type: direct:production ... Signed-off-by: dependabot[bot] * fixed typo in prev changelog and updated changelog * upgrade flask version to match with werkzeug * upgrade flask version to match catalog * upgrade connexion version to match flask version --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Minu Mathew --- CHANGELOG.md | 1 + contributions/catalog/requirements.txt | 4 ++-- contributions/requirements.txt | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e7bf0d5..1e73a316 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Cryptography version bump for appconfigservice. [#1089](https://github.com/rokwire/rokwire-building-blocks-api/issues/1100) - Catalog home page card alignment. [#1084](https://github.com/rokwire/rokwire-building-blocks-api/issues/1084) - Updated button styles to match design. [#1085](https://github.com/rokwire/rokwire-building-blocks-api/issues/1085) +- Update werkzeug version in catalog. [#1099](https://github.com/rokwire/rokwire-building-blocks-api/issues/1099) ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) diff --git a/contributions/catalog/requirements.txt b/contributions/catalog/requirements.txt index ffd96d4c..366e4339 100644 --- a/contributions/catalog/requirements.txt +++ b/contributions/catalog/requirements.txt @@ -1,5 +1,5 @@ -Flask==1.1.1 -werkzeug==2.0.2 +Flask==2.2.3 +werkzeug==2.2.3 itsdangerous==2.0.1 Jinja2==3.0.3 pymongo==3.7.2 diff --git a/contributions/requirements.txt b/contributions/requirements.txt index 8f6f6506..6f63dea9 100644 --- a/contributions/requirements.txt +++ b/contributions/requirements.txt @@ -1,4 +1,4 @@ -Flask==1.1.1 +Flask==2.2.3 itsdangerous==2.0.1 Jinja2==3.0.3 Flask-Cors==3.0.10 @@ -9,6 +9,6 @@ cryptography==39.0.1 python-dotenv==0.10.3 gunicorn==19.9.0 gevent==21.12.0 -connexion[swagger-ui]==2.9.0 +connexion[swagger-ui]==2.10.0 ../lib/auth-middleware From e930c2cd3c73d966cedfc063041cf7ee026cf5f5 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Wed, 15 Mar 2023 15:17:08 -0500 Subject: [PATCH 21/30] 1090 customize dropdown menu (#1101) * updated indexing of env vars * reverted to original develop * updated styles for create page * changed button styling * added padding style * removed duplicate class style * removed unwanted comments * changed divs * removed class text input field * changed wordings * updated input box styling * added checkbox svg asset * added checkbox styling * added checkbox styling * rearranging input div table cell * updated cancel modal * changed close button * changed close button * changed col spaces * checkbox stlye * updated focus styling * updated changelog * close and other buttons * button active and hover styles * added form-control class and changed textarea * updated styles for form control and check classes * added font size * changed button and font style * change padding so that text is visible * added form group divs * added tertiary button styles * removed input reset styles * changed button classes to update styles * updated changelog * updated button focus styles * added custom dropdown div * added custom dropdown menu styles * javascript for custom dropdown menu * added border line style and removed unwanted styles * added hover style * updated font weight on hover * added border on hover * added down arrow caret * commented all javascirpt for custom dropdown * added arrow style for dropdown * undo unneccessary change * undo unwanted change * updated cahngelog * removed javascript for full customized dropdown * removed the extra styling classes for customized dropdown * remove orange underline border --- CHANGELOG.md | 1 + .../catalog/webapps/static/css/style.css | 27 +++++++++++++++++- .../static/icon-arrows-caret-down-orange.png | Bin 0 -> 153 bytes 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 contributions/catalog/webapps/static/icon-arrows-caret-down-orange.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e73a316..c94f8895 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Catalog home page card alignment. [#1084](https://github.com/rokwire/rokwire-building-blocks-api/issues/1084) - Updated button styles to match design. [#1085](https://github.com/rokwire/rokwire-building-blocks-api/issues/1085) - Update werkzeug version in catalog. [#1099](https://github.com/rokwire/rokwire-building-blocks-api/issues/1099) +- Custom dropdown menu style. [#1090](https://github.com/rokwire/rokwire-building-blocks-api/issues/1090) ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) diff --git a/contributions/catalog/webapps/static/css/style.css b/contributions/catalog/webapps/static/css/style.css index a769cfce..da8a6fff 100644 --- a/contributions/catalog/webapps/static/css/style.css +++ b/contributions/catalog/webapps/static/css/style.css @@ -209,7 +209,7 @@ select, textarea { height: 48px; width: 100%; font-size: 16px; - padding: 12px 8px 16px; + padding: 12px 8px; border: 1px solid #002855; border-radius: 0; background-color: #fff; @@ -434,6 +434,31 @@ input[type=checkbox]:checked:focus, input[type=checkbox]:not(:checked):focus{ background-color: #e84a27; } +/* Dropdown menu style */ +.catalog-dropdown-menu { + position: relative; + border: 1px solid #002855; + border-radius: 0; +} +.catalog-dropdown-menu:hover { + border: 1px solid #dadde1; + border-radius: 0; +} +.catalog-dropdown-menu select { + /*display: none; !* hide original select element *!*/ + background-image: url("../icon-arrows-caret-down-orange.png"); + background-repeat: no-repeat; + background-position: right .7em top 50%, 0 0; + background-size: auto; + position: relative; + object-fit: contain; + -moz-appearance: none; + -webkit-appearance: none; + -webkit-border-radius: 0px; + appearance: none; + outline-width: 0; + border: none; +} /* Style the buttons */ .cardfilter { diff --git a/contributions/catalog/webapps/static/icon-arrows-caret-down-orange.png b/contributions/catalog/webapps/static/icon-arrows-caret-down-orange.png new file mode 100644 index 0000000000000000000000000000000000000000..012cb2d24ff29b7e1d9d28a61b45c4b78ad055e1 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CG#0(_68m0>YDVB6cUq=Rpjs4tz5?O(K#^NA% zCx&(BWL^R}oB=)|t}lHw+zWhOc&RVlcEKAc$W#*K7u>+$D-c=?bP0l+XkKs{<&j literal 0 HcmV?d00001 From 67e6f14dd8bc072f0963712a19e9e33efcc60e5d Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Fri, 24 Mar 2023 13:38:36 -0500 Subject: [PATCH 22/30] 1092 fill footer at bottom of pages (#1104) * changed content page size for small contents * updated changelog --- CHANGELOG.md | 1 + contributions/catalog/webapps/static/css/style.css | 6 ++++++ .../webapps/templates/contribute/capability_details.html | 2 +- .../webapps/templates/contribute/contribution_details.html | 2 +- .../webapps/templates/contribute/talent_details.html | 2 +- 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c94f8895..78beda09 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated button styles to match design. [#1085](https://github.com/rokwire/rokwire-building-blocks-api/issues/1085) - Update werkzeug version in catalog. [#1099](https://github.com/rokwire/rokwire-building-blocks-api/issues/1099) - Custom dropdown menu style. [#1090](https://github.com/rokwire/rokwire-building-blocks-api/issues/1090) +- Fill footer at the bottom of pages. [#1092](https://github.com/rokwire/rokwire-building-blocks-api/issues/1092) ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) diff --git a/contributions/catalog/webapps/static/css/style.css b/contributions/catalog/webapps/static/css/style.css index da8a6fff..11700664 100644 --- a/contributions/catalog/webapps/static/css/style.css +++ b/contributions/catalog/webapps/static/css/style.css @@ -283,6 +283,12 @@ input[type=checkbox]:checked:focus, input[type=checkbox]:not(:checked):focus{ background-color: #ffffff; padding: 5px; } +.details-container{ + min-height: 70%; + min-height: -webkit-calc(100vh - 300px); + min-height: -moz-calc(100vh - 300px); + min-height: calc(100vh - 300px); +} .col-sm-2 { padding-left: 1px; diff --git a/contributions/catalog/webapps/templates/contribute/capability_details.html b/contributions/catalog/webapps/templates/contribute/capability_details.html index 5659b12b..9bba5aa1 100644 --- a/contributions/catalog/webapps/templates/contribute/capability_details.html +++ b/contributions/catalog/webapps/templates/contribute/capability_details.html @@ -27,7 +27,7 @@

Capability Details


-
+
diff --git a/contributions/catalog/webapps/templates/contribute/contribution_details.html b/contributions/catalog/webapps/templates/contribute/contribution_details.html index f4c7b030..f19fcae4 100644 --- a/contributions/catalog/webapps/templates/contribute/contribution_details.html +++ b/contributions/catalog/webapps/templates/contribute/contribution_details.html @@ -21,7 +21,7 @@ {% include 'topnav.html' %}
-
+

Contribution Details


diff --git a/contributions/catalog/webapps/templates/contribute/talent_details.html b/contributions/catalog/webapps/templates/contribute/talent_details.html index e9f990f3..a45daf2a 100644 --- a/contributions/catalog/webapps/templates/contribute/talent_details.html +++ b/contributions/catalog/webapps/templates/contribute/talent_details.html @@ -28,7 +28,7 @@

Talent Details


-
+

Talent Name

From 8d704f70de3bbd04f5092f4f48e3aa63347ce5c0 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Fri, 24 Mar 2023 13:41:29 -0500 Subject: [PATCH 23/30] 1054 bug select contribution type buttons display (#1107) * added a right tab for div * put breadcrumbs in container class * updated moveselector placeholder function * updated changelog --- CHANGELOG.md | 1 + .../templates/contribute/contribute.html | 562 +++++++++--------- 2 files changed, 281 insertions(+), 282 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78beda09..f8c5488b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,6 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) +- Overlapping divs in catalog contribute create page. [#1054](https://github.com/rokwire/rokwire-building-blocks-api/issues/1054) ## [1.17.0] - 2022-12-06 ### Added diff --git a/contributions/catalog/webapps/templates/contribute/contribute.html b/contributions/catalog/webapps/templates/contribute/contribute.html index 807b1f09..5a36cd0b 100644 --- a/contributions/catalog/webapps/templates/contribute/contribute.html +++ b/contributions/catalog/webapps/templates/contribute/contribute.html @@ -165,320 +165,319 @@

Contribution Details

- - @@ -1613,7 +1610,7 @@

Self-certification

@@ -1635,7 +1632,7 @@

Self-certification

-
+
@@ -1698,7 +1695,7 @@

Contact Details

+ placeholder="Phone number (9 to 14 digits)" type="tel" minlength="9" maxlength="14"/>
{% endif %} From 95e617f01d9856564f441129f81686c4901fb2a5 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Wed, 29 Mar 2023 15:14:33 -0500 Subject: [PATCH 26/30] 1069 change wordings details page (#1109) * updated wordings for contribution view page * updated wordings for capability view page * updated wording for talent view page * capability details small case * updated changelog * siwtched to capitalize * capitalize in capability details * updated text in contribution details * Update text fields on talent_details.html Co-authored-by: Sandeep Puthanveetil Satheesan --------- Co-authored-by: Sandeep Puthanveetil Satheesan --- CHANGELOG.md | 1 + .../contribute/capability_details.html | 8 +++--- .../contribute/contribution_details.html | 26 +++++++++---------- .../templates/contribute/talent_details.html | 26 +++++++++---------- 4 files changed, 31 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b1cf7832..f7187818 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Custom dropdown menu style. [#1090](https://github.com/rokwire/rokwire-building-blocks-api/issues/1090) - Fill footer at the bottom of pages. [#1092](https://github.com/rokwire/rokwire-building-blocks-api/issues/1092) - Contribute form field labels and placeholders. [#1102](https://github.com/rokwire/rokwire-building-blocks-api/issues/1102) +- Wordings of view pages. [#1069](https://github.com/rokwire/rokwire-building-blocks-api/issues/1069) ### Fixed - Detect secrets GitHub action build error and updated baseline. [#1077](https://github.com/rokwire/rokwire-building-blocks-api/issues/1077) diff --git a/contributions/catalog/webapps/templates/contribute/capability_details.html b/contributions/catalog/webapps/templates/contribute/capability_details.html index 9bba5aa1..fc6dd6f5 100644 --- a/contributions/catalog/webapps/templates/contribute/capability_details.html +++ b/contributions/catalog/webapps/templates/contribute/capability_details.html @@ -40,7 +40,7 @@

Capability Name

-

Capability description

+

Capability Description

{{post.description}}
@@ -49,7 +49,7 @@

Capability description

-

Is code open source?

+

Is Code Open Source?

{{post.isOpenSource}}
@@ -58,7 +58,7 @@

Is code open source?

-

Source code repository URL

+

Source Code Repository URL

{{post.sourceRepoUrl}}
@@ -77,7 +77,7 @@

API Documentation URL

{% if post.deploymentDetails%}
-

Deployment location

+

Deployment Location

{{post.deploymentDetails.location}}
diff --git a/contributions/catalog/webapps/templates/contribute/contribution_details.html b/contributions/catalog/webapps/templates/contribute/contribution_details.html index f19fcae4..0231f678 100644 --- a/contributions/catalog/webapps/templates/contribute/contribution_details.html +++ b/contributions/catalog/webapps/templates/contribute/contribution_details.html @@ -39,7 +39,7 @@

Contribution Name

-

Contribution short description

+

Short Description

{{post.shortDescription}}
@@ -49,7 +49,7 @@

Contribution short description

{% if post.longDescription %}
-

Contribution long description

+

Long Description

{{post.longDescription}}
@@ -60,7 +60,7 @@

Contribution long description

{% if post.contributors %}
-

Contributor details

+

Contributor Details

@@ -196,7 +196,7 @@
Organization
{% if post.contacts %}
-

Contact details

+

Contact Details

{% for contact in post["contacts"] %} @@ -247,7 +247,7 @@

Contact details

{% if post.capabilities %}
-

Capabilities in this contribution

+

Capabilities

@@ -273,7 +273,7 @@

{{c.name}}

{% if post.talents %}
-

Talents in this contribution

+

Talents

@@ -299,7 +299,7 @@

{{t.name}}

{% if (is_reviewer or is_editable or is_review) %}
-

Contribution admins

+

Admins

@@ -319,7 +319,7 @@

Status

-

Date created

+

Date Created

{{post.dateCreated}}
@@ -327,7 +327,7 @@

Date created

-

Date modified

+

Date Modified

{{post.dateModified}}
@@ -339,13 +339,13 @@

Date modified

{% if is_editable %} - + - + {% endif %} {% if is_reviewer %} - + {% endif %}
@@ -462,7 +462,7 @@

Last Updated

{% if post.selfCertification.dataDeletionUponRequest %} - + {% else %} - + {% endif %} {% if post.selfCertification.discloseAds %} - + {% else %} - + {% endif %} {% if post.selfCertification.discloseImageRights %} - + {% else %} - + {% endif %} {% if post.selfCertification.discloseSponsors %} - + {% else %} - + {% endif %} {% if post.selfCertification.respectingUserPrivacySetting %} - + {% else %} - + {% endif %} From 8f869cb2e9bf43c16f0a2aaf94183dfa6ebc4527 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Thu, 30 Mar 2023 12:11:05 -0500 Subject: [PATCH 27/30] updated changelog for release --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7187818..ad830b60 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] + +## [1.18.0] - 2023-03-30 ### Added - Footer to all pages. [#1044](https://github.com/rokwire/rokwire-building-blocks-api/issues/1044) - Input validation for contribute create page. [#1103](https://github.com/rokwire/rokwire-building-blocks-api/issues/1103) @@ -577,7 +579,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - References to AWS keys and variables in the Events Building Block. -[Unreleased]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.17.0...HEAD +[Unreleased]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.18.0...HEAD +[1.18.0]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.17.0...1.18.0 [1.17.0]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.16.0...1.17.0 [1.16.0]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.15.0...1.16.0 [1.15.0]: https://github.com/rokwire/rokwire-building-blocks-api/compare/1.14.1...1.15.0 From 62e474a7f8abdd90b7515bd64f9dda25a6379247 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Thu, 30 Mar 2023 12:11:19 -0500 Subject: [PATCH 28/30] updated yaml version for release --- appconfigservice/appconfig.yaml | 2 +- contributions/contribution.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/appconfigservice/appconfig.yaml b/appconfigservice/appconfig.yaml index cd3a356d..0aec144b 100755 --- a/appconfigservice/appconfig.yaml +++ b/appconfigservice/appconfig.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: title: Rokwire App Config Building Block API description: App Config Building Block API Documentation - version: 1.16.0 + version: 1.18.0 servers: - url: https://api.rokwire.illinois.edu description: Production server diff --git a/contributions/contribution.yaml b/contributions/contribution.yaml index e21c6117..a78267f9 100644 --- a/contributions/contribution.yaml +++ b/contributions/contribution.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: title: Rokwire Contributions Building Block API description: Contributions Building Block API Documentation - version: 1.17.0 + version: 1.18.0 servers: - url: https://api.rokwire.illinois.edu description: Production server From 3893bf1d87d3f66c09f661fd403678514637c879 Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Thu, 30 Mar 2023 12:12:11 -0500 Subject: [PATCH 29/30] updated security file --- SECURITY.md | 1 + 1 file changed, 1 insertion(+) diff --git a/SECURITY.md b/SECURITY.md index 73292cab..a294f728 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,6 +6,7 @@ Patches for **Rokwire Building Blocks** in this repository will only be applied | Version | Supported | |----------| ------------------ | +| 1.18.0 | :white_check_mark: | | 1.17.0 | :white_check_mark: | | 1.16.0 | :white_check_mark: | | 1.15.0 | :white_check_mark: | From 79471cc96d207b175624b31b68da699793dd4f9d Mon Sep 17 00:00:00 2001 From: Minu Mathew Date: Fri, 31 Mar 2023 09:50:27 -0500 Subject: [PATCH 30/30] update version in events yaml --- eventservice/events.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eventservice/events.yaml b/eventservice/events.yaml index ac236a6d..a7bb2865 100755 --- a/eventservice/events.yaml +++ b/eventservice/events.yaml @@ -2,7 +2,7 @@ openapi: 3.0.0 info: title: Rokwire Events Building Block API description: Events Building Block API Documentation - version: 1.17.0 + version: 1.18.0 servers: - url: https://api.rokwire.illinois.edu description: Production server
Deleting data upon request  Deleting Data Upon Request   {{post.selfCertification.dataDeletionUponRequest}}
Deleting data upon request  Deleting Data Upon Request   None
Disclose ads  Disclose Ads   {{post.selfCertification.discloseAds}}
Disclose ads  Disclose Ads   None
Disclose right to use images  Disclose Right to Use Images   {{post.selfCertification.discloseImageRights}}
Disclose right to use images  Disclose Right to Use Images   None
Disclose sponsors  Disclose Sponsors   {{post.selfCertification.discloseSponsors}}
Disclose sponsors  Disclose Sponsors   None
Respecting privacy setting  Respecting Privacy Setting   {{post.selfCertification.respectingUserPrivacySetting}}
Respecting privacy setting  Respecting Privacy Setting   None