Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
7 changes: 4 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,21 @@ RUN apk add --ino-cache \
swig \
gcc \
alpine-sdk \
python3-dev && \
python3-dev \
mariadb-dev && \
cd / && \
git clone \
-b master \
--depth=1 \
https://github.com/roramirez/qpanel.git && \
https://github.com/d-sergienko/qpanel.git && \
cd qpanel && \
pip3 install -r requirements.txt && \
pip3 install -r requirements/dbs/mysql.txt && \
cd /qpanel && \
npm install && \
cd /qpanel && \
pybabel compile -d qpanel/translations && \
cd /qpanel && \
cp samples/config.ini-dist config.ini && \
apk del --quiet \
git \
npm \
Expand Down
20 changes: 20 additions & 0 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Comments are provided throughout this file to help you get started.
# If you need more help, visit the Docker compose reference guide at
# https://docs.docker.com/compose/compose-file/

# Here the instructions define your application as a service called "server".
# This service is built from the Dockerfile in the current directory.
# You can add other services your application may depend on here, such as a
# database or a cache. For examples, see the Awesome Compose repository:
# https://github.com/docker/awesome-compose
services:
qpanel:
build:
context: .
restart: unless-stopped
environment:
- TZ=Europe/Kiev
ports:
- 5000:5000
volumes:
- ./config.ini:/qpanel/config.ini
2 changes: 1 addition & 1 deletion qpanel/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ def setup_logging():
# babel
@babel.localeselector
def get_locale():
langs = ['en', 'es', 'de', 'pt_BR', 'ru']
langs = ['en', 'es', 'de', 'pt_BR', 'ru', 'uk_UA']
browser = request.accept_languages.best_match(langs)
try:
return session['language']
Expand Down
6 changes: 4 additions & 2 deletions qpanel/backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,10 @@ def filter_data_for_user(self, data, user):
user -- username
"""
enables = self.config.queue_enables_for_username(user)
not_enable = list(set(data.keys()) - set(enables))
map(data.pop, not_enable)
if len(enables):
for q in list(data.keys()):
if q not in enables:
data.pop(q)
return data

def parse_fs(self, data):
Expand Down
4 changes: 2 additions & 2 deletions qpanel/model.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,15 +92,15 @@ def queuelog_count_inbound(start_date, end_date, agent=None, queue=None):


def queuelog_count_abandon(start_date, end_date, agent=None, queue=None):
events = ['ABANDON']
events = ['ABANDON', 'EXITWITHTIMEOUT']
data = queuelog_event_by_range_and_types(start_date, end_date, events,
agent, queue)
return len(data)


def queuelog_seconds_wait_abandon(start_date, end_date, agent=None,
queue=None):
events = ['ABANDON']
events = ['ABANDON', 'EXITWITHTIMEOUT']
seconds = 0
data = queuelog_event_by_range_and_types(start_date, end_date, events,
agent, queue)
Expand Down
1 change: 1 addition & 0 deletions qpanel/templates/language_selector.html
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,6 @@
<option value="ru">{{ _('Russian') }}</option>
<option value="pt_BR">{{ _('Portuguese') }}</option>
<option value="fr_FR">{{ _('French') }}</option>
<option value="uk_UA">{{ _('Ukrainian') }}</option>
</select>
</li>
3 changes: 2 additions & 1 deletion qpanel/themes/qpanel/templates/header.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
</p>
</a>
</li>
{% endif %}
{% if has_users() %}
<li class="nav-item">
<a class="nav-link" href="{{url_for('.logout')}}">
Expand All @@ -48,7 +49,6 @@
</a>
</li>
{% endif %}
{% endif %}
<li class="nav-item dropdown">
<a class="nav-link" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="material-icons">language</i>
Expand All @@ -64,6 +64,7 @@
<a class="dropdown-item language" data-value="ru" href="#">{{ _('Russian')}}</a>
<a class="dropdown-item language" data-value="pt_BR" href="#">{{ _('Portuguese')}}</a>
<a class="dropdown-item language" data-value="fr_FR" href="#">{{ _('French')}}</a>
<a class="dropdown-item language" data-value="uk_UA" href="#">{{ _('Ukrainian')}}</a>
</div>
</li>
</ul>
Expand Down
2 changes: 1 addition & 1 deletion qpanel/themes/qpanel/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
<div class="content">
<div class="row">
{% include theme('row_general_data.html') %}
{% for queue_name, queue in queues.items() %}
{% for queue_name, queue in queues.items() | sort %}
<div class="col-md-4">
<div class="card card-chart">
<div class="card-header card-header-success queue-card">
Expand Down
4 changes: 2 additions & 2 deletions qpanel/themes/qpanel/templates/queue.html
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
<div class="card">
<div class="card-header card-header-primary">
<h4 class="card-title">
{{ _('Agents') }}: <span id="total_agent" class="label label-default"></span>
[{{ name }}] {{ _('Agents') }}: <span id="total_agent" class="label label-default"></span>
</h4>
</div>
<div class="card-body">
Expand Down Expand Up @@ -102,7 +102,7 @@ <h4 class="card-title">
<div class="card">
<div class="card-header card-header-primary">
<h4 class="card-title">
{{ _('Callers') }}: <span id="total_callers" class="label label-default"></span>
[{{ name }}] {{ _('Callers') }}: <span id="total_callers" class="label label-default"></span>
</h4>
</div>
<div class="card-body">
Expand Down
5 changes: 5 additions & 0 deletions qpanel/translations/messages.pot
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,11 @@ msgstr ""
msgid "French"
msgstr ""

#: qpanel/templates/language_selector.html:9
#: qpanel/themes/qpanel/templates/header.html:67
msgid "Ukrainian"
msgstr ""

#: qpanel/templates/login.html:2
msgid "Login"
msgstr ""
Expand Down
12 changes: 6 additions & 6 deletions qpanel/translations/ru/LC_MESSAGES/messages.po
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ msgstr "Действия"
#: qpanel/themes/qpanel/templates/queue.html:84
#: qpanel/themes/qpanel/templates/queue.html:270
msgid "Spy"
msgstr "Шпион"
msgstr "Шпионить"

#: qpanel/templates/queue.html:52 qpanel/templates/queue.html:199
#: qpanel/themes/qpanel/templates/queue.html:85
Expand Down Expand Up @@ -390,7 +390,7 @@ msgstr "Вы не указали номер"
#: qpanel/templates/queue.html:308
#: qpanel/themes/qpanel/templates/queue.html:384
msgid "Try..."
msgstr "Пробую..."
msgstr "Попробовать..."

#: qpanel/templates/row_general_data.html:10 qpanel/templates/stats.html:51
msgid "Attended calls."
Expand Down Expand Up @@ -434,7 +434,7 @@ msgstr "От:"

#: qpanel/templates/stats.html:20 qpanel/themes/qpanel/templates/stats.html:43
msgid "To:"
msgstr "Кому:"
msgstr "До:"

#: qpanel/templates/stats.html:38 qpanel/themes/qpanel/templates/stats.html:116
msgid "Inbound"
Expand All @@ -454,15 +454,15 @@ msgstr "Состояние"

#: qpanel/themes/qpanel/templates/footer.html:12
msgid "About Us"
msgstr ""
msgstr "О нас"

#: qpanel/themes/qpanel/templates/header.html:15
msgid "Home"
msgstr ""
msgstr "Домой"

#: qpanel/themes/qpanel/templates/header.html:57
msgid "Language"
msgstr ""
msgstr "Язык"

#: qpanel/themes/qpanel/templates/row_general_data.html:87
#: qpanel/themes/qpanel/templates/stats.html:133
Expand Down
Loading