Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Python3 and Django2.2 upgrade] part 4 - Use Python3 & Django 1.11 #629

Closed
wants to merge 180 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
180 commits
Select commit Hold shift + click to select a range
3948414
Added 'delete_data' permission
noliveleger Nov 26, 2019
981c8c1
Removed useless method
noliveleger Nov 28, 2019
2816633
Replaced basestring with six.string_types
noliveleger Apr 16, 2020
478350e
Replaced "assertEquals" with "assertEqual"
noliveleger Apr 16, 2020
e2b5a38
Replaced "unicode()" and "__unicode__" with six utilities
noliveleger Apr 16, 2020
12d90da
WIP - 2to3 fixes
noliveleger Apr 17, 2020
d33578f
Merge branch 'kobokitten-unicode' into kobokitten-py3
noliveleger Apr 21, 2020
e2e235b
Replaced "iteritems" with "items"
noliveleger Apr 21, 2020
865af36
Use "bytes" with hashlib
noliveleger Apr 21, 2020
26d87dd
Updated code for "filter", "itervalues()", "dict_keys()" and "dict_v…
noliveleger Apr 21, 2020
74ffb29
Replaced "urllib2" with "urllib"
noliveleger Apr 21, 2020
ee50a5e
Replaced "obj.next()" with "next(obj)"
noliveleger Apr 21, 2020
211932b
Django 1.11 support changes:
noliveleger Apr 22, 2020
6a8e0a3
Add dummy Django KEY for pytest
noliveleger Apr 22, 2020
ab28fa1
Fixed version of jsonfield
noliveleger Apr 22, 2020
b622428
Fixed compatibility issues for Python3, Django 1.11 and DRF 3.9
noliveleger Apr 22, 2020
465bf7a
Django 1.11 support: changed deprecated code for urls
noliveleger Apr 23, 2020
a38dd6e
Force AnonymousUser() FK to be settings.ANONYMOUS_USER_ID when runnin…
noliveleger Apr 23, 2020
6c48c28
Removed deprecated TEMPLATE_DIRS
noliveleger Apr 23, 2020
1fc5a2b
Make first test run: open files with "rb" mode, fixed bytes and str u…
noliveleger Apr 23, 2020
51bef8b
Removed `export` app
noliveleger Apr 24, 2020
3fd53bc
Open files in bytes mode
noliveleger Apr 24, 2020
dc05c80
Replaced reversed dotted path urls with their name - part 1
noliveleger Apr 24, 2020
6f94903
Fixed dotted path urls in templates
noliveleger Apr 27, 2020
7d78ccb
Fixed bad copy/paste from old version of openpyxl
noliveleger Apr 27, 2020
94ab153
Changed r/w mode of several "open()" calls
noliveleger Apr 27, 2020
814fd6f
Fixed pandas exports tests
noliveleger Apr 29, 2020
aab1942
Fixed exports tests
noliveleger Apr 29, 2020
d412cb4
Field API unit tests
noliveleger Apr 30, 2020
acb8791
Restore warning by default when running pytest
noliveleger May 8, 2020
b074fb2
Get rid of codec.open() in briefcase tests
noliveleger May 12, 2020
adfde79
Merge branch 'kobokitten-unicode' into kobokitten-py3
noliveleger May 12, 2020
9a543e9
Merge branch 'master' into 2488-kpi_add_delete_data_permission
noliveleger May 21, 2020
c13d72d
Merge branch 'master' into kpi-2487-form-media
noliveleger May 21, 2020
4191ff5
Merge branch 'kobokitten-unicode' into kobokitten-py3
noliveleger Jun 19, 2020
b626a4e
Changed PASSWORD_HASHERS to list
noliveleger Jun 19, 2020
e463ba2
Use type <int> instead of string 'int' in management commands in argu…
noliveleger Jun 19, 2020
eee6540
Removed last occurences of codecs.open()
noliveleger Jun 19, 2020
854cc8c
Fixed some unittests - Open files in bytes mode
noliveleger Jun 19, 2020
c7ef98b
Added required options in publish_xls management command
noliveleger Jun 19, 2020
2d802aa
Removed useless assertion with Python3, reordered fixtures for Python…
noliveleger Jun 19, 2020
8e1a530
Create zip backup in bytes mode
noliveleger Jun 19, 2020
fa39913
Yet another commit for bytes vs str (Python2 unicode)
noliveleger Jun 29, 2020
1847b5e
Removed reference to form statistics in HTML templates
noliveleger Jun 29, 2020
a337288
Use MIDDLEWARE instead of MIDDLEWARE_CLASSES
noliveleger Jun 29, 2020
72e24da
Fixed form permissions tests
noliveleger Jun 29, 2020
c8a2325
Fixed form exports tests
noliveleger Jun 29, 2020
8843c26
Fixed form api tests
noliveleger Jun 30, 2020
06700a2
Test fix: Use binary mode with open()
noliveleger Jun 30, 2020
31ae041
Removed deprecated TEMPLATES_DIR, TEMPLATE_CONTEXT_PROCESSORS
noliveleger Jun 30, 2020
025efda
PEP-8 adjustements
noliveleger Jun 30, 2020
b763ac0
Removed deprecated "context_instance" parameter
noliveleger Jul 2, 2020
f5a05a9
Removed dotted urls in reverse() calls
noliveleger Jul 14, 2020
507e3d9
Other bytes/unicode fixes
noliveleger Jul 14, 2020
770a59b
Misc fixes
noliveleger Jul 14, 2020
8c40578
Fixed GoogleDoc and remaining BriefCase tests
noliveleger Jul 14, 2020
26442ab
Fixed SMS tests
noliveleger Jul 14, 2020
f0a72a9
Fixed zip exports tests
noliveleger Jul 14, 2020
6619487
Fixed sav_zip export test
noliveleger Jul 14, 2020
423a62d
Fixed last batch of tests, BytesIO vs StringIO, open in binary mode e…
noliveleger Jul 15, 2020
55713ab
Call to deprecated function get_sheet_by_name (Use wb[sheetname]).
noliveleger Jul 15, 2020
809b7b8
PyMongo count is deprecated. Use Collection.count_documents instead
noliveleger Jul 15, 2020
213d13a
Added "on_delete=models.CASCADE" on foreign key
noliveleger Jul 15, 2020
d587095
Removed Ziggy fixtures
noliveleger Jul 15, 2020
d4e401d
Added missing "on_delete=models.CASCADE"
noliveleger Jul 16, 2020
ed8c488
Removed ziggy fixtures
noliveleger Jul 16, 2020
dc5b36a
Use set() for User permissions assignments
noliveleger Jul 16, 2020
7f0315e
Replaced deprecated PyMongo method calls
noliveleger Jul 16, 2020
a67dff6
Deprecated: openpyxl "wb.get_sheet_names()" - Replaced with "wb.sheet…
noliveleger Jul 16, 2020
8382796
Deprecated assertNotEquals
noliveleger Jul 16, 2020
3edcc3c
fixed: PyMongo delete_many does not take "j" argument
noliveleger Jul 16, 2020
f634beb
deprecated: removed GeoManager
noliveleger Jul 16, 2020
fa00c2a
fixed: admin.site.urls
noliveleger Jul 16, 2020
0b8f58e
Removed python_2_unicode_compatible decorator
noliveleger Jul 16, 2020
3b8e771
Added new migration to clean not-used models
noliveleger Jul 20, 2020
9180b66
Merge branch 'kobokitten-unicode' into kobokitten-py3
noliveleger Jul 23, 2020
c1b0cfe
Update wront port script to Python3
noliveleger Jul 24, 2020
9902992
Merge branch 'kobokitten-unicode' into kobokitten-py3
noliveleger Jul 28, 2020
4b94743
fixed: User connection with Digest
noliveleger Jul 28, 2020
da6247b
Removed path.py dependency for xlsx exports
noliveleger Jul 28, 2020
1a51872
deprecated: replaced user.anonymous() with user.anonymous
noliveleger Jul 28, 2020
8fb9226
Remove formpack exports and reports
noliveleger Jul 29, 2020
e926a07
Remove GoogleDoc exports
noliveleger Jul 29, 2020
0a6c5a8
Removed SAV and SAV zip exports
noliveleger Jul 29, 2020
725780c
Removed CSV zip exports
noliveleger Jul 29, 2020
bbeab63
Removed export menu and export data as HTML
noliveleger Jul 29, 2020
d5910e6
Clean-up project detail HTML template (export data)
noliveleger Jul 29, 2020
05f47cd
Removed background document section
noliveleger Jul 29, 2020
a1587e1
Removed Analyzer export
noliveleger Jul 30, 2020
daa525b
Removed python code related to form edit from UI (only)
noliveleger Jul 30, 2020
4dff8d5
Removed obsolete HTML code related to form edit in project detail
noliveleger Jul 30, 2020
9ae11fd
Removed obsolete tests related to forms edit from UI
noliveleger Jul 30, 2020
32e7d91
Updated CSS to avoid big gaps between buttons
noliveleger Jul 30, 2020
eba116d
Removed CRUD actions on background documents
noliveleger Jul 31, 2020
8eb8ed7
Removed user's profile settings
noliveleger Jul 31, 2020
603b180
fixed form media tests
noliveleger Jul 31, 2020
e5fe0f9
Removed user settings
noliveleger Jul 31, 2020
56768a6
Removed activity view
noliveleger Jul 31, 2020
ffe0747
WIP: Removed obsolete HTML templates
noliveleger Jul 31, 2020
f3e9a2a
Remove edit/delete options for UI, remove obsolete HTML templates
noliveleger Aug 5, 2020
d32d1a1
Removed obsolete code (django views) related to previously removed fe…
noliveleger Aug 5, 2020
637651e
Allow HTTP auth during tests
noliveleger Aug 5, 2020
4ce30ce
Removed form edit and form gallery tests
noliveleger Aug 5, 2020
d3bf370
Use API to upload XLS in tests instead of (removed) django view "prof…
noliveleger Aug 6, 2020
cf16bc8
Removed old django views "toggle_download" and "thank-you-submission"
noliveleger Aug 7, 2020
19e1537
Removed obsolete Django.forms and dropped support for CSV, Dropbox, G…
noliveleger Aug 7, 2020
9a85218
Updated API documentation for forms
noliveleger Aug 7, 2020
13e518f
Removed tests for CSV, Google Sheets, remote URLs
noliveleger Aug 7, 2020
77e2a1d
Added migrations to drop tables related to obsolete models
noliveleger Aug 7, 2020
8281dab
Removed registration feature
noliveleger Aug 10, 2020
9f617ac
Removed edit/enter data old Django views
noliveleger Aug 10, 2020
4b83a39
Refactored "test_form_permissions" to "test_premissions", removed obs…
noliveleger Aug 10, 2020
f3eeaa5
Merge branch 'kobokitten-remove-ui-CUD-actions' into kobokitten-remov…
noliveleger Aug 10, 2020
004e80a
Merge branch 'kobokitten-unicode' into kobokitten-remove-ui-CUD-actio…
noliveleger Aug 10, 2020
4817e4b
Removed obsolete utilities
noliveleger Aug 10, 2020
bf54251
Merge branch 'kobokitten-remove-ui-CUD-actions' into kobokitten-remov…
noliveleger Aug 10, 2020
ee1fc40
Removed "delete_data" old view and use API endpoint instead
noliveleger Aug 10, 2020
1b72ee4
Merge branch 'kobokitten-remove-ui-CUD-actions' into kobokitten-remov…
noliveleger Aug 10, 2020
356523e
Removed "enketo_preview" old view
noliveleger Aug 10, 2020
85d2b4a
Removed users list old view
noliveleger Aug 11, 2020
8009cdc
Merge branch 'kobokitten-remove-ui-CUD-actions' into kobokitten-remov…
noliveleger Aug 11, 2020
f46eb31
Updated API documentation for "api/v1/forms", removed obsolete code
noliveleger Aug 11, 2020
68dc905
Removed (forgotten) formpack legacy export views
noliveleger Aug 11, 2020
a075eda
Removed enketo nested endpoint from "api/v1/form"
noliveleger Aug 11, 2020
fd07aee
Remove formpack dependency
noliveleger Aug 17, 2020
d2b7261
Merge branch 'kobokitten-remove-ui-CUD-actions-unicode' into kobokitt…
noliveleger Aug 19, 2020
d553e1c
Removed zombie files forgotten after merge
noliveleger Aug 20, 2020
116a18a
Removed replace XLSForm button from UI
noliveleger Aug 20, 2020
f7e4f1e
Merge branch 'kobokitten-remove-ui-CUD-actions-unicode' into kobokitt…
noliveleger Aug 20, 2020
ced6fec
Removed old check for ziggy
duvld Sep 1, 2020
ce5005c
Merge pull request #646 from kobotoolbox/kitten-kpi-2770-uuid-query
noliveleger Sep 8, 2020
828081d
Merge pull request #607 from kobotoolbox/kobokitten
jnm Sep 24, 2020
d0350a5
Store attachment file size in the database
jnm Sep 29, 2020
6eef7d5
Merge pull request #653 from kobotoolbox/attachment-media-file-size
jnm Sep 30, 2020
8e5bea8
Force xml as unicode
noliveleger Sep 30, 2020
5c3a684
Merge pull request #655 from kobotoolbox/654-cannot-set-uuid-with-uni…
noliveleger Sep 30, 2020
cb5c143
Temporarily restore disabled HTML divs in project detail view
noliveleger Oct 1, 2020
cb3f178
Merge pull request #657 from kobotoolbox/656-modal-windows-missing
jnm Oct 1, 2020
a63fdb7
WIP: hard coding public url
duvld Oct 21, 2020
564c2c4
Removed debug exception
duvld Oct 22, 2020
6db4a65
KOBOCAT_URL already has protocal
duvld Oct 22, 2020
0ceed16
Only use public url for internal calls + comments
duvld Oct 22, 2020
44194f9
Remove unused arguments of "_get_form_url"
noliveleger Oct 23, 2020
45906e0
Merge pull request #661 from kobotoolbox/658-edit-submission-media
noliveleger Oct 26, 2020
f3140b3
Merge branch 'master' into 2488-kpi_add_delete_data_permission
noliveleger Oct 27, 2020
e453033
Fixed: bad permissions imports
noliveleger Oct 27, 2020
5c30d3a
Fixed: conflicting migration numbers
noliveleger Oct 27, 2020
1e86a2a
Fixed: Unit tests for submission deletions
noliveleger Oct 27, 2020
f634189
Put travis back on track
noliveleger Oct 27, 2020
0ef5a8e
Fixed: Users cannot delete submissions with change_xform permission
noliveleger Oct 27, 2020
02a331a
Updated: Travis yml and requirements
noliveleger Oct 28, 2020
b0103f4
Merge branch 'master' into kpi-2487-form-media
noliveleger Nov 17, 2020
1b0952d
Remove old logout message
jnm Nov 21, 2020
ec036e6
Merge pull request #663 from kobotoolbox/163-remove-old-logout-message
jnm Nov 21, 2020
a6f8a96
Add a "from_kpi" field to MetaData model to differentiate files uploa…
noliveleger Nov 24, 2020
88c196e
Fixed: Cannot load manifest when remote URL does not contain an exten…
noliveleger Nov 24, 2020
c5bc105
Remove `submission_count_for_today` from API…
jnm Dec 2, 2020
23eef7d
Merge pull request #666 from kobotoolbox/remove-submission-count-for-…
jnm Dec 2, 2020
43f2222
Merge branch 'master' into 2488-kpi_add_delete_data_permission
noliveleger Dec 2, 2020
3df7674
Use "bulk_create" to add new permission in migration
noliveleger Dec 2, 2020
3906368
typos
noliveleger Dec 2, 2020
3c1da37
Use stderr in error
noliveleger Dec 2, 2020
fa4b702
Regroup imports in main view
noliveleger Dec 2, 2020
3c12889
Merge branch '2488-kpi_add_delete_data_permission' into kobokitten-re…
noliveleger Dec 2, 2020
d02b758
Update instructions for legacy interface usage
noliveleger Dec 2, 2020
4e63901
Merge branch 'kobokitten-remove-ui-CUD-actions-unicode' of github.com…
noliveleger Dec 2, 2020
bd99a7e
Merge branch 'kpi-2487-form-media' into kobokitten-remove-ui-CUD-acti…
noliveleger Dec 2, 2020
68ecb37
Use content type to retrieve "delete_xform_data" permission
noliveleger Dec 3, 2020
ea1b2b9
Use "var" instead of "let" for javascript retrocompatibility
noliveleger Dec 3, 2020
f85b08c
Merge pull request #591 from kobotoolbox/2488-kpi_add_delete_data_per…
jnm Dec 3, 2020
d0b6fb4
Assign object-level delete_data_xform permission…
jnm Dec 4, 2020
d91834c
Merge pull request #667 from kobotoolbox/assign-object-level-delete-p…
noliveleger Dec 9, 2020
82d33be
Merge branch 'master' into kobokitten-remove-ui-CUD-actions-unicode
noliveleger Dec 17, 2020
301920c
Merge branch 'kobokitten-remove-ui-CUD-actions-unicode' into kobokitt…
noliveleger Dec 17, 2020
cc58f86
Fixed migrations conflict
noliveleger Dec 17, 2020
00deb30
Merge branch 'kobokitten-remove-ui-CUD-actions-unicode' into kobokitt…
noliveleger Dec 17, 2020
7b66047
Fixed upgrade issues
noliveleger Dec 17, 2020
32851fc
Remove QR Code generator
noliveleger Mar 4, 2021
0a4ec2b
Code reformat
noliveleger Mar 4, 2021
014c0fd
Merge branch 'kobokitten-remove-ui-CUD-actions-unicode' into kobokitt…
noliveleger Mar 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 54 additions & 17 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,60 @@
branches:
only:
- master

sudo: false
dist: xenial
sudo: required
language: python
python:
- '2.7'
- "2.7"
services:
- postgresql
- redis-server
addons:
postgresql: "9.5"
chrome: stable
apt:
packages:
- build-essential
- fontforge
- gettext
- git-core
- libpcre3
- libpcre3-dev
- libpq-dev
- libgnutls28-dev
- binutils
- default-jre-headless
- gdal-bin
- libpcre3-dev
- libpq-dev
- libproj-dev
- libxml2
- libxml2-dev
- libxslt1-dev
- libjpeg-dev
- libffi-dev
- postgresql-client
- postgresql-9.5-postgis-2.5
- libsqlite3-mod-spatialite
cache:
directories:
- $HOME/.pip-download-cache
before_script:
- psql -c 'create database travis_ci_test;' -U postgres
- psql -U postgres -c "create extension postgis"
script:
-
after_success:
- test "$TRAVIS_PULL_REQUEST" == 'false' || exit 0
- test "$TRAVIS_BRANCH" == 'master' || exit 0
- echo '*** Deploying to staging server'
- openssl aes-256-cbc -K $encrypted_cddd71e0ad67_key -iv $encrypted_cddd71e0ad67_iv
-in .travis/staging_deploy_key.pem.enc -out .travis/staging_deploy_key.pem -d
- chmod 600 .travis/staging_deploy_key.pem
- eval "$(ssh-agent)"
- ssh-add .travis/staging_deploy_key.pem
- ssh -o UserKnownHostsFile=.travis/staging_known_host [email protected] /home/ubuntu/scripts/deploy.sh kobocat "$TRAVIS_COMMIT"
notifications:
irc: irc.freenode.org#kobotest
flowdock: ad631fc562736cf87e0c4439f9518f9d
- pytest -vv
env:
# All about YAML line breaks: https://stackoverflow.com/a/21699210
- >-
PIP_DOWNLOAD_CACHE=$HOME/.pip-download-cache
DJANGO_DEBUG=False
DJANGO_SECRET_KEY=o4xbmwsyTJicFmjhQc4Xm
DJANGO_SETTINGS_MODULE=onadata.settings.test_environ
DJANGO_LANGUAGE_CODES="en ar es fr hi ku pl pt zh-hans"
DATABASE_URL="postgres://postgres@localhost:5432/travis_ci_test"
REDIS_SESSION_URL="redis://localhost:6379"
TRAVIS_NODE_VERSION="8"
install:
- pip install --upgrade 'pip>=10,<11'
- pip install -r requirements/travis.pip
Binary file removed .travis/staging_deploy_key.pem.enc
Binary file not shown.
2 changes: 0 additions & 2 deletions .travis/staging_known_host

This file was deleted.

12 changes: 3 additions & 9 deletions conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,10 @@
'peter',
]

try:
INTERRUPTED = pytest.ExitCode.INTERRUPTED # pytest 5
except AttributeError:
INTERRUPTED = 2


def stderr_prompt(message):
sys.stderr.write(message)
# FIXME: Python 3 compatibility
return raw_input().strip()
return input().strip()


def toggle_capturing(capture_manager, stop):
Expand Down Expand Up @@ -63,7 +57,7 @@ def setup(request):
if response.lower() != 'yes':
if is_global_capturing:
toggle_capturing(capture_manager, stop=False)
pytest.exit('User interrupted tests', INTERRUPTED)
pytest.exit('User interrupted tests', pytest.ExitCode.INTERRUPTED)

if 'instances' in settings.MONGO_DB.collection_names():
response = stderr_prompt(
Expand All @@ -77,7 +71,7 @@ def setup(request):
else:
if is_global_capturing:
toggle_capturing(capture_manager, stop=False)
pytest.exit('User interrupted tests', INTERRUPTED)
pytest.exit('User interrupted tests', pytest.ExitCode.INTERRUPTED)

if is_global_capturing:
toggle_capturing(capture_manager, stop=False)
Expand Down
16 changes: 9 additions & 7 deletions docker/dev_wrong_port_warning.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,22 @@
provides a helpful message to anyone still trying to use port 8000
"""

import BaseHTTPServer
import sys
from http.server import BaseHTTPRequestHandler, HTTPServer

class Handler(BaseHTTPServer.BaseHTTPRequestHandler):

class Handler(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(503)
self.end_headers()
self.wfile.write(
'Your development environment is trying to connect to the KoBoCAT '
'container on port 8000 instead of 8001. Please change this. See '
'https://github.com/kobotoolbox/kobo-docker/issues/301 '
'for more details.'
b'Your development environment is trying to connect to the KoBoCAT '
b'container on port 8000 instead of 8001. Please change this. See '
b'https://github.com/kobotoolbox/kobo-docker/issues/301 '
b'for more details.'
)


server_address = ('', int(sys.argv[1]))
httpd = BaseHTTPServer.HTTPServer(server_address, Handler)
httpd = HTTPServer(server_address, Handler)
httpd.serve_forever()
4 changes: 2 additions & 2 deletions kobocat-template/static/css/kobo-branding.css
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ section {
.single-project__header .container,
.projects-list__header .container,
.data-page__header .container {
max-width: 984px;
max-width: 960px;
}

.single-project__header .fa-caret-right,
Expand Down Expand Up @@ -681,4 +681,4 @@ i.fa-trash-o {
td.footable-first-column {
padding-right: 0px !important;
}
}
}
14 changes: 7 additions & 7 deletions kobocat-template/static/css/kobo-single-project.css
Original file line number Diff line number Diff line change
Expand Up @@ -189,14 +189,15 @@ button.single-project__button-delete {
}

.dashboard__left {
width: 72%;
width: 60%;
float: left;
margin-left: 1%;
}

.dashboard__right {
width: 25%;
float: left;
margin-left: -13%;
}

h2.dashboard__group-label {
Expand All @@ -205,9 +206,8 @@ h2.dashboard__group-label {
}

.dashboard__submissions {
width: 55%;
width: 33%;
float: left;
margin-right: 5%;
position: relative;
}

Expand Down Expand Up @@ -268,7 +268,7 @@ a.dashboard__button-download-data:hover span {
}

.dashboard__submissions a.dashboard__button {
width: 30%;
width: 60%;
}

a.dashboard__button-twoline span {
Expand Down Expand Up @@ -351,8 +351,8 @@ a.dashboard__formbutton-refresh {

.dashboard__download__drop {
position: absolute;
right: 22px;
bottom: -150px;
left: 0;
bottom: -128px;
width: 124px;
border: 1px solid #E7E8E9;
background: white;
Expand Down Expand Up @@ -629,4 +629,4 @@ span.poshytip {
.dashboard__download__drop {
bottom: -190px;
}
}
}
Loading