Merge branch 'develop' of github.com:martini/zammad into develop
This commit is contained in:
commit
7560efbe4c
10 changed files with 99 additions and 50 deletions
|
@ -225,7 +225,8 @@ class App.ChannelEmailAccountOverview extends App.Controller
|
|||
|
||||
constructor: ->
|
||||
super
|
||||
@interval(@load, 20000)
|
||||
# @interval(@load, 20000)
|
||||
@load()
|
||||
|
||||
load: =>
|
||||
@ajax(
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<% end %>
|
||||
|
||||
<% if !_.isEmpty(@not_used_email_addresses): %>
|
||||
<h3><%- @T('Not linked email addresses') %></h3>
|
||||
<h3><%- @T('Unlinked Email Addresses') %></h3>
|
||||
<ul>
|
||||
<% for email_address in @not_used_email_addresses: %>
|
||||
<li data-id="<%= email_address.id %>"><a href="" data-type="email-address-edit"><%= email_address.email %></a>
|
||||
|
@ -18,6 +18,7 @@
|
|||
</ul>
|
||||
<% end %>
|
||||
|
||||
<h3><%- @T('Linked Email Addresses') %></h3>
|
||||
<% if _.isEmpty(@account_channels): %>
|
||||
<p><%- @T('You have no configured account right now.') %></p>
|
||||
<% else: %>
|
||||
|
@ -27,41 +28,52 @@
|
|||
<th><%- @T('Inbound') %></th>
|
||||
<th><%- @T('Outbound') %></th>
|
||||
<th><%- @T('Email Adresses') %></th>
|
||||
<th><%- @T('Action') %></th>
|
||||
<th style="width: 20%"><%- @T('Action') %></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<% for channel in @account_channels: %>
|
||||
<tr data-id="<%- channel.id %>">
|
||||
<td class="<% if channel.status_in is 'ok': %>success<% else if channel.status_in is 'error': %>danger<% else: %>warning<% end %>">
|
||||
<%- @T('State') %>: <%- @T(channel.status_in || 'unknown') %><br>
|
||||
<a href="#" data-type="edit-inbound">
|
||||
<td class="noTruncate">
|
||||
<div class="horizontal">
|
||||
<%- @Icon('status', channel.status_in + " inline") %>
|
||||
<a class="flex" href="#" data-type="edit-inbound">
|
||||
<%= channel.options.inbound.options.user %><br>
|
||||
<%= channel.options.inbound.options.host %> (<%= channel.options.inbound.adapter %>)
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<td class="<% if channel.status_out is 'ok': %>success<% else if channel.status_out is 'error': %>danger<% else: %>warning<% end %>">
|
||||
<%- @T('State') %>: <%- @T(channel.status_out || 'unknown') %><br>
|
||||
<a href="#" data-type="edit-outbound">
|
||||
<td class="noTruncate">
|
||||
<div class="horizontal">
|
||||
<%- @Icon('status', channel.status_out + " inline") %>
|
||||
<a class="flex" href="#" data-type="edit-outbound">
|
||||
<% if channel.options.outbound && channel.options.outbound.options: %>
|
||||
<%= channel.options.outbound.options.user %><br>
|
||||
<%= channel.options.outbound.options.host %>
|
||||
<% end %>
|
||||
(<%= channel.options.outbound.adapter %>)</a>
|
||||
(<%= channel.options.outbound.adapter %>)
|
||||
</a>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
<td class="noTruncate">
|
||||
<ul class="list">
|
||||
<% if !_.isEmpty(channel.email_addresses): %>
|
||||
<% for email_address in channel.email_addresses: %>
|
||||
<li data-id="<%= email_address.id %>"><a href="" data-type="email-address-edit"><%= email_address.email %></a>
|
||||
<li class="list-item" data-id="<%= email_address.id %>">
|
||||
<div class="list-item-name">
|
||||
<a href="" data-type="email-address-edit"><%= email_address.email %></a>
|
||||
</div>
|
||||
<div class="list-item-delete js-delete">
|
||||
<%- @Icon('diagonal-cross') %>
|
||||
</div>
|
||||
<% end %>
|
||||
<% else: %>
|
||||
<li><%- @T('none') %></li>
|
||||
<li class="list-item"><%- @T('none') %>
|
||||
<% end %>
|
||||
</ul>
|
||||
<a href="#" data-type="email-address-new" title="<%- @Ti('New Email Address') %>"><%- @Icon('plus', 'icon-trash') %></a>
|
||||
<a class="text-muted" href="#" data-type="email-address-new" title="<%- @Ti('New Email Address') %>">+ <%- @Ti('Add Email') %></a>
|
||||
</td>
|
||||
<td>
|
||||
<td class="noTruncate">
|
||||
<a href="#" data-type="delete" title="<%- @Ti('Delete') %>"><%- @Icon('trash') %></a>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -83,7 +95,7 @@
|
|||
<a data-type="new" class="btn btn--success"><%- @T('New') %></a>
|
||||
|
||||
<% if !_.isEmpty(@notification_channels) && !App.Config.get('system_online_service'): %>
|
||||
<h2><%- @T('Notification Account') %></h2>
|
||||
<h2><%- @T('Notification Email Account') %></h2>
|
||||
|
||||
<table class="table table-hover user-list">
|
||||
<thead>
|
||||
|
@ -94,15 +106,17 @@
|
|||
<tbody>
|
||||
<% for channel in @notification_channels: %>
|
||||
<tr data-id="<%- channel.id %>">
|
||||
<td class="<% if channel.status_out is 'ok': %>success<% else if channel.status_out is 'error': %>danger<% else: %>warning<% end %>">
|
||||
<%- @T('State') %>: <%- @T(channel.status_out || 'unknown') %><br>
|
||||
<a href="#" data-type="edit-notification-outbound">
|
||||
<td class="noTruncate">
|
||||
<div class="horizontal">
|
||||
<%- @Icon('status', channel.status_out + " inline") %>
|
||||
<a class="flex" href="#" data-type="edit-notification-outbound">
|
||||
<% if channel.options.outbound && channel.options.outbound.options: %>
|
||||
<%= channel.options.outbound.options.user %><br>
|
||||
<%= channel.options.outbound.options.host %>
|
||||
<% end %>
|
||||
(<%= channel.options.outbound.adapter %>)</a>
|
||||
</td>
|
||||
(<%= channel.options.outbound.adapter %>)
|
||||
</a>
|
||||
</div>
|
||||
</tr>
|
||||
<% if channel.status_in is 'error': %>
|
||||
<tr>
|
||||
|
@ -114,6 +128,7 @@
|
|||
<td colspan="1"><%= channel.last_log_out %></td>
|
||||
</tr>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</tbody>
|
||||
</table>
|
||||
<% end %>
|
||||
|
|
|
@ -771,7 +771,7 @@
|
|||
<div class="tags">
|
||||
<label>Tags</label>
|
||||
|
||||
<ul class="sidebar-list"></ul>
|
||||
<ul class="list list--sidebar"></ul>
|
||||
|
||||
<div class="text-muted js-newTagLabel u-clickable">
|
||||
+ Add Tag
|
||||
|
@ -786,7 +786,7 @@
|
|||
<label>Links</label>
|
||||
|
||||
<div class="ticketLinks">
|
||||
<div class="sidebar-list-title">
|
||||
<div class="list-title">
|
||||
child
|
||||
</div>
|
||||
|
||||
|
@ -802,7 +802,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sidebar-list-item-delete js-delete" data-link-type="child" data-object="Ticket" data-object-id="3" data-type="remove"></div>
|
||||
<div class="list-item-delete js-delete" data-link-type="child" data-object="Ticket" data-object-id="3" data-type="remove"></div>
|
||||
</li>
|
||||
</ol>
|
||||
</div>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<label><%- @T('Links') %></label>
|
||||
<% for type of @links: %>
|
||||
<div class="ticketLinks">
|
||||
<div class="sidebar-list-title"><%- @T( type ) %></div>
|
||||
<div class="list-title"><%- @T( type ) %></div>
|
||||
<ol class="tasks tasks--standalone">
|
||||
<% for item in @links[type]: %>
|
||||
<li class="task">
|
||||
|
@ -12,7 +12,7 @@
|
|||
<a class="name ticket-popover" data-id="<%- item.id %>" href="#ticket/zoom/<%= item.id %>"><%= item.title %></a>
|
||||
<%- @humanTime(item.created_at) %>
|
||||
</div>
|
||||
<div class="sidebar-list-item-delete js-delete" data-object="Ticket" data-object-id="<%= item.id %>" data-link-type="<%= type %>" data-type="remove">
|
||||
<div class="list-item-delete js-delete" data-object="Ticket" data-object-id="<%= item.id %>" data-link-type="<%= type %>" data-type="remove">
|
||||
<%- @Icon('diagonal-cross') %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<label><%- @T( 'Tags' ) %></label>
|
||||
<ul class="sidebar-list">
|
||||
<ul class="list list--sidebar">
|
||||
<% for tag in @tags: %>
|
||||
<li class="sidebar-list-item">
|
||||
<div class="sidebar-list-item-name"><%= tag %></div>
|
||||
<div class="sidebar-list-item-delete js-delete">
|
||||
<li class="list-item">
|
||||
<div class="list-item-name"><%= tag %></div>
|
||||
<div class="list-item-delete js-delete">
|
||||
<%- @Icon('diagonal-cross') %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
.icon-reply { width: 16px; height: 16px; }
|
||||
.icon-signout { width: 15px; height: 19px; }
|
||||
.icon-split { width: 16px; height: 16px; }
|
||||
.icon-status { width: 16px; height: 16px; }
|
||||
.icon-stopwatch { width: 77px; height: 83px; }
|
||||
.icon-switchView { width: 19px; height: 18px; }
|
||||
.icon-team { width: 16px; height: 16px; }
|
||||
|
|
|
@ -768,7 +768,8 @@ h5 {
|
|||
}
|
||||
|
||||
label,
|
||||
.checkbox.form-group label {
|
||||
.checkbox.form-group label,
|
||||
.label {
|
||||
text-transform: uppercase;
|
||||
color: hsl(198,19%,72%);
|
||||
display: block;
|
||||
|
@ -1776,6 +1777,21 @@ ol.tabs li {
|
|||
height: 11px;
|
||||
}
|
||||
|
||||
.icon-status {
|
||||
fill: $ok-color;
|
||||
|
||||
&.inline {
|
||||
margin: 2px 2px 0 0;
|
||||
}
|
||||
|
||||
&.ok {
|
||||
fill: $supergood-color;
|
||||
}
|
||||
&.error {
|
||||
fill: $superbad-color;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* removed margin of forms to not break the layout with submit buttons within <form></form> area e. g. for modal dialogs
|
||||
|
@ -4074,12 +4090,12 @@ footer {
|
|||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.sidebar-list {
|
||||
.list {
|
||||
padding: 0;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.sidebar-list-title {
|
||||
.list-title {
|
||||
margin-top: 7px;
|
||||
margin-bottom: 4px;
|
||||
text-transform: uppercase;
|
||||
|
@ -4090,19 +4106,19 @@ footer {
|
|||
letter-spacing: 0.1em;
|
||||
}
|
||||
|
||||
.sidebar-list-item {
|
||||
.list-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: hsl(206,7%,28%);
|
||||
border-bottom: 1px solid hsl(240,4%,95%);
|
||||
}
|
||||
|
||||
.sidebar-list-item-name {
|
||||
.list-item-name {
|
||||
flex: 1;
|
||||
padding: 4px 1px;
|
||||
}
|
||||
|
||||
.sidebar-list-item-delete {
|
||||
.list-item-delete {
|
||||
padding: 0 10px;
|
||||
margin-right: -3px;
|
||||
display: flex;
|
||||
|
@ -4118,7 +4134,7 @@ footer {
|
|||
}
|
||||
}
|
||||
|
||||
.sidebar-list-item-delete:hover .icon {
|
||||
.list-item-delete:hover .icon {
|
||||
fill: hsl(1,77%,47%);
|
||||
}
|
||||
|
||||
|
@ -4384,6 +4400,10 @@ footer {
|
|||
visibility: visible;
|
||||
}
|
||||
|
||||
td .list {
|
||||
margin-top: -4px;
|
||||
}
|
||||
|
||||
.switchView {
|
||||
visibility: hidden;
|
||||
display: block;
|
||||
|
|
Binary file not shown.
File diff suppressed because one or more lines are too long
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
12
public/assets/images/icons/status.svg
Normal file
12
public/assets/images/icons/status.svg
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
|
||||
<!-- Generator: Sketch 3.3.3 (12072) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>status</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
|
||||
<g id="status" sketch:type="MSArtboardGroup" fill="#50E3C2">
|
||||
<circle id="Oval-2" sketch:type="MSShapeGroup" cx="8" cy="8" r="4"></circle>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 711 B |
Loading…
Reference in a new issue