summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--service/pixelated/maintenance.py3
-rw-r--r--service/pixelated/resources/login_resource.py2
-rw-r--r--service/requirements.txt10
-rw-r--r--service/test/functional/features/steps/login.py10
-rw-r--r--service/test/support/test_helper.py4
-rw-r--r--service/test/unit/config/test_sessions.py2
-rw-r--r--web-ui/app/scss/_others.scss2
-rw-r--r--web-ui/app/scss/base/_colors.scss1
-rw-r--r--web-ui/app/scss/views/_action-bar.scss5
-rw-r--r--web-ui/app/scss/views/_compose-view.scss19
-rw-r--r--web-ui/app/scss/views/_mail-list.scss32
-rw-r--r--web-ui/app/templates/compose/compose_box.hbs2
-rw-r--r--web-ui/app/templates/compose/inline_box.hbs2
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>