diff options
-rw-r--r-- | service/pixelated/maintenance.py | 3 | ||||
-rw-r--r-- | service/pixelated/resources/login_resource.py | 2 | ||||
-rw-r--r-- | service/requirements.txt | 10 | ||||
-rw-r--r-- | service/test/functional/features/steps/login.py | 10 | ||||
-rw-r--r-- | service/test/support/test_helper.py | 4 | ||||
-rw-r--r-- | service/test/unit/config/test_sessions.py | 2 | ||||
-rw-r--r-- | web-ui/app/scss/_others.scss | 2 | ||||
-rw-r--r-- | web-ui/app/scss/base/_colors.scss | 1 | ||||
-rw-r--r-- | web-ui/app/scss/views/_action-bar.scss | 5 | ||||
-rw-r--r-- | web-ui/app/scss/views/_compose-view.scss | 19 | ||||
-rw-r--r-- | web-ui/app/scss/views/_mail-list.scss | 32 | ||||
-rw-r--r-- | web-ui/app/templates/compose/compose_box.hbs | 2 | ||||
-rw-r--r-- | web-ui/app/templates/compose/inline_box.hbs | 2 |
13 files changed, 70 insertions, 24 deletions
diff --git a/service/pixelated/maintenance.py b/service/pixelated/maintenance.py index 74b5a369..a2286034 100644 --- a/service/pixelated/maintenance.py +++ b/service/pixelated/maintenance.py @@ -105,7 +105,8 @@ def add_command_callback(args, prepareDeferred, finalizeDeferred): prepareDeferred.addCallback(load_mails, args.file) prepareDeferred.addCallback(flush_to_soledad, finalizeDeferred) elif args.command == 'markov-generate': - prepareDeferred.addCallback(markov_generate, args.file, int(args.limit), args.seed) + prepareDeferred.addCallback( + markov_generate, args.file, int(args.limit), args.seed) prepareDeferred.addCallback(flush_to_soledad, finalizeDeferred) elif args.command == 'dump-soledad': prepareDeferred.addCallback(dump_soledad) diff --git a/service/pixelated/resources/login_resource.py b/service/pixelated/resources/login_resource.py index 905b872c..fec4307e 100644 --- a/service/pixelated/resources/login_resource.py +++ b/service/pixelated/resources/login_resource.py @@ -178,7 +178,7 @@ class LoginResource(BaseResource): def _complete_bootstrap(self, user_auth, request): def log_error(error): - log.error('Login error during %s services setup: %s' % (user_auth.username, error.getErrorMessage())) + log.error('Login error during %s services setup: %s \n %s' % (user_auth.username, error.getErrorMessage(), error.getTraceback())) def set_session_cookies(_): session = IPixelatedSession(request.getSession()) diff --git a/service/requirements.txt b/service/requirements.txt index c6eea0d3..56ac19d8 100644 --- a/service/requirements.txt +++ b/service/requirements.txt @@ -6,9 +6,9 @@ requests==2.11.1 srp==1.0.6 whoosh==2.6.0 Twisted==16.1.1 --e 'git+https://github.com/pixelated/leap_pycommon.git@develop#egg=leap.common' --e 'git+https://github.com/leapcode/bitmask-dev.git@master#egg=leap.bitmask' --e 'git+https://github.com/pixelated/soledad.git@develop#egg=leap.soledad.common&subdirectory=common/' --e 'git+https://github.com/pixelated/soledad.git@develop#egg=leap.soledad.client&subdirectory=client/' --e 'git+https://github.com/pixelated/soledad.git@develop#egg=leap.soledad.server&subdirectory=server/' +-e 'git+https://0xacab.org/pixelated/leap_pycommon.git@develop#egg=leap.common' +-e 'git+https://0xacab.org/pixelated/bitmask-dev.git@master#egg=leap.bitmask' +-e 'git+https://0xacab.org/pixelated/soledad.git@develop#egg=leap.soledad.common&subdirectory=common/' +-e 'git+https://0xacab.org/pixelated/soledad.git@develop#egg=leap.soledad.client&subdirectory=client/' +-e 'git+https://0xacab.org/pixelated/soledad.git@develop#egg=leap.soledad.server&subdirectory=server/' -e . diff --git a/service/test/functional/features/steps/login.py b/service/test/functional/features/steps/login.py index e2dc1381..2a653030 100644 --- a/service/test/functional/features/steps/login.py +++ b/service/test/functional/features/steps/login.py @@ -13,8 +13,16 @@ # # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. +import time + from behave import when, then -from common import * +from selenium.webdriver.common.by import By + +from common import ( + fill_by_css_selector, + find_element_by_css_selector, + MULTI_USER_URL, + wait_until_element_is_visible_by_locator) @when(u'I open the login page') diff --git a/service/test/support/test_helper.py b/service/test/support/test_helper.py index 3323a14e..fbff5819 100644 --- a/service/test/support/test_helper.py +++ b/service/test/support/test_helper.py @@ -100,7 +100,7 @@ class TestRequest: class PixRequestMock(DummyRequest): def __init__(self, path): DummyRequest.__init__(self, path) - self.path = "/".join(path) + self.path = '/' + "/".join(path) self.content = None self.code = None self.cookies = {} @@ -121,7 +121,7 @@ class PixRequestMock(DummyRequest): def request_mock(path='', method='GET', body='', headers={}, ajax=True, csrf='token'): - dummy = PixRequestMock(path.split('/')) + dummy = PixRequestMock(path[1:].split('/')) for name, val in headers.iteritems(): dummy.requestHeaders.setRawHeaders(name.lower(), [val]) dummy.method = method diff --git a/service/test/unit/config/test_sessions.py b/service/test/unit/config/test_sessions.py index 98e5c69e..a7e62c7a 100644 --- a/service/test/unit/config/test_sessions.py +++ b/service/test/unit/config/test_sessions.py @@ -14,9 +14,11 @@ # You should have received a copy of the GNU Affero General Public License # along with Pixelated. If not, see <http://www.gnu.org/licenses/>. +import os from mock import patch from mock import MagicMock from twisted.internet import defer +from twisted.trial import unittest from pixelated.config.sessions import LeapSession, SessionCache from test.unit.bitmask_libraries.test_abstract_leap import AbstractLeapTest diff --git a/web-ui/app/scss/_others.scss b/web-ui/app/scss/_others.scss index a5796ebe..039d94bd 100644 --- a/web-ui/app/scss/_others.scss +++ b/web-ui/app/scss/_others.scss @@ -59,7 +59,7 @@ section { } &#middle-pane { - background: $contrast; + background: $white; } &#right-pane { diff --git a/web-ui/app/scss/base/_colors.scss b/web-ui/app/scss/base/_colors.scss index b95a02f6..17333ff9 100644 --- a/web-ui/app/scss/base/_colors.scss +++ b/web-ui/app/scss/base/_colors.scss @@ -4,6 +4,7 @@ $light_gray: #C2C2C2; $lighter_blue: #91C2D1; $light_blue: #3DABC4; $dark_blue: #178CA6; +$bullet-blue: #5cacde; $light_orange: #FF9C00; $dark_orange: #FF7902; diff --git a/web-ui/app/scss/views/_action-bar.scss b/web-ui/app/scss/views/_action-bar.scss index 8de07876..40e677b0 100644 --- a/web-ui/app/scss/views/_action-bar.scss +++ b/web-ui/app/scss/views/_action-bar.scss @@ -10,9 +10,10 @@ margin: 0; border-top: 1px solid $white; border-bottom: 2px solid lighten($top_pane, 30%); - background: $top_pane; + background: $white; clear: both; overflow: hidden; + padding-left: 10px; li { display: inline-block; @@ -33,7 +34,7 @@ input[type=button] { margin: 2px; padding: 4px 10px; - background: lighten($contrast, 70%); + background: $background_light_grey; color: $dark_grey; text-transform: uppercase; font-weight: 400; diff --git a/web-ui/app/scss/views/_compose-view.scss b/web-ui/app/scss/views/_compose-view.scss index 0308608c..9e120357 100644 --- a/web-ui/app/scss/views/_compose-view.scss +++ b/web-ui/app/scss/views/_compose-view.scss @@ -4,12 +4,20 @@ &__buttons { &-attachment { cursor: pointer; - outline: 0; margin-left: 18px; padding-top: 0px; - -ms-transform: rotate(224deg); - -webkit-transform: rotate(224deg); - transform: rotate(224deg); + display: inline; + border: 1px $contrast solid; + background: $background_light_grey; + padding: 7px 4px; + font-size: 0.8em; + + span { + -ms-transform: rotate(224deg); + -webkit-transform: rotate(224deg); + transform: rotate(224deg); + outline: 0; + } i.fa-paperclip { font-size: 1.7em; @@ -36,7 +44,7 @@ padding: 5px; border: 1px solid $border_light_grey; border-radius: 2px; - background-color: $background_light_grey; + background-color: $contrast; &-label { color: $attachment_text; @@ -120,7 +128,6 @@ label, span { color: $recipients_font_color; padding: 0.5rem; - cursor: text; display: inline-block; } diff --git a/web-ui/app/scss/views/_mail-list.scss b/web-ui/app/scss/views/_mail-list.scss index 66bcabbe..f5c4c60f 100644 --- a/web-ui/app/scss/views/_mail-list.scss +++ b/web-ui/app/scss/views/_mail-list.scss @@ -15,11 +15,24 @@ &.status-read { font-weight: normal; color: $attachment_text; + + .mail-list-entry__checkbox::after { + display: none; + } } + &.selected { - background: $white; + background: $light_blue; z-index: 10; // overlay the box-shadow of the right page (z-index: 2) + + &:hover { + background: $light_blue; + } + + a { + color: $white; + } } &:hover { @@ -35,6 +48,20 @@ left: 20px; } + &::after { + content: ''; + display: inline-block; + width: 8px; + height: 8px; + -moz-border-radius: 15px; + -webkit-border-radius: 15px; + border-radius: 15px; + background-color: $bullet-blue; + position: absolute; + left: 48px; + top: 13px; + } + & > input[type=checkbox] { @include check-box; } @@ -43,7 +70,7 @@ &__item { display: block; color: $dark_grey; - padding: 8px 10px 10px 34px; + padding: 8px 10px 10px 67px; height: 100%; &-from { @@ -95,4 +122,3 @@ } } } - diff --git a/web-ui/app/templates/compose/compose_box.hbs b/web-ui/app/templates/compose/compose_box.hbs index 83d5ca27..fcfbeaaf 100644 --- a/web-ui/app/templates/compose/compose_box.hbs +++ b/web-ui/app/templates/compose/compose_box.hbs @@ -24,7 +24,7 @@ <div class="buttons-group columns compose-view__buttons"> <button id="send-button" tabindex="6"><i class="fa fa-send"></i></button> - <span id="attachment-button" class="compose-view__buttons-attachment" tabindex="6"></span> + <div class="compose-view__buttons-attachment"><span id="attachment-button" tabindex="6"></span></div> <button id="trash-button" tabindex="7">{{t 'trash-button'}}<i class="fa fa-trash-o"></i></button> <div id="draft-save-status"></div> </div> diff --git a/web-ui/app/templates/compose/inline_box.hbs b/web-ui/app/templates/compose/inline_box.hbs index fbb62b0f..c9c114ec 100644 --- a/web-ui/app/templates/compose/inline_box.hbs +++ b/web-ui/app/templates/compose/inline_box.hbs @@ -14,7 +14,7 @@ <div class="buttons-group columns compose-view__buttons"> <button id="send-button" tabindex=6><i class="fa fa-send"></i></button> - <span id="attachment-button" class="compose-view__buttons-attachment" tabindex="6"></span> + <div class="compose-view__buttons-attachment"><span id="attachment-button" tabindex="6"></span></div> <button id="trash-button" tabindex=7>{{t 'trash-button'}}<i class="fa fa-trash-o"></i></button> <div id="draft-save-status"></div> </div> |