Merge branch 'develop' of github.com:martini/zammad into develop
This commit is contained in:
commit
718b5ce736
13 changed files with 390 additions and 9 deletions
|
@ -419,8 +419,14 @@ class App.ControllerNavSidbar extends App.ControllerContent
|
|||
|
||||
group.items = _.sortBy( itemsUnsorted, (item) -> return item.prio )
|
||||
|
||||
# set active item
|
||||
# check last selected item
|
||||
selectedItem = undefined
|
||||
selectedItemMeta = App.Config.get("Runtime::#{@configKey}")
|
||||
keepLastMenuFor = 1000 * 60 * 10
|
||||
if selectedItemMeta && selectedItemMeta.date && new Date < new Date( selectedItemMeta.date.getTime() + keepLastMenuFor )
|
||||
selectedItem = selectedItemMeta.selectedItem
|
||||
|
||||
# set active item
|
||||
for group in @groupsSorted
|
||||
if group.items
|
||||
for item in group.items
|
||||
|
@ -441,15 +447,22 @@ class App.ControllerNavSidbar extends App.ControllerContent
|
|||
@render(selectedItem, true)
|
||||
)
|
||||
|
||||
render: (selectedItem, force) ->
|
||||
if !$( '.' + @configKey )[0] || force
|
||||
render: (selectedItem, force) =>
|
||||
|
||||
# remember latest selected item
|
||||
selectedItemMeta =
|
||||
selectedItem: selectedItem
|
||||
date: new Date
|
||||
App.Config.set("Runtime::#{@configKey}", selectedItemMeta)
|
||||
|
||||
if !$( ".#{@configKey}" )[0] || force
|
||||
@html App.view('generic/navbar_l2')(
|
||||
groups: @groupsSorted
|
||||
className: @configKey
|
||||
)
|
||||
if selectedItem
|
||||
@el.find('li').removeClass('active')
|
||||
@el.find('a[href="' + selectedItem.target + '"]').parent().addClass('active')
|
||||
@el.find("a[href=\"#{selectedItem.target}\"]").parent().addClass('active')
|
||||
|
||||
new selectedItem.controller(
|
||||
el: @el.find('.main')
|
||||
|
|
|
@ -13,7 +13,7 @@ class App.UiElement.richtext
|
|||
renderAttachment = (file) =>
|
||||
item.find('.attachments').append( App.view('generic/attachment_item')(
|
||||
fileName: file.filename
|
||||
fileSize: @humanFileSize( file.size )
|
||||
fileSize: App.Utils.humanFileSize( file.size )
|
||||
store_id: file.store_id
|
||||
))
|
||||
item.on(
|
||||
|
@ -82,7 +82,12 @@ class App.UiElement.richtext
|
|||
@attachmentPlaceholder.removeClass('hide')
|
||||
@attachmentUpload.addClass('hide')
|
||||
|
||||
# reset progress bar
|
||||
@progressBar.width(parseInt(0) + '%')
|
||||
@progressText.text('')
|
||||
|
||||
renderAttachment(response.data)
|
||||
|
||||
console.log('upload complete', response.data )
|
||||
|
||||
# Called during upload progress, first parameter
|
||||
|
|
|
@ -1500,10 +1500,27 @@ class InputsRef extends App.ControllerContent
|
|||
@$('.searchableAjaxSelectPlaceholder').replaceWith( searchableAjaxSelectObject.element() )
|
||||
|
||||
# time and timeframe
|
||||
@$('.time').timepicker()
|
||||
@$('.js-timepicker1, .js-timepicker2').timepicker()
|
||||
|
||||
@$('.timeframe').timepicker
|
||||
@$('.timeframe').timepicker(
|
||||
maxHours: 99
|
||||
)
|
||||
|
||||
# date picker
|
||||
@$('.js-datepicker3').datepicker(
|
||||
todayHighlight: true
|
||||
startDate: new Date().toLocaleDateString('de-DE') # returns 25.09.2015
|
||||
format: 'dd.mm.yyyy',
|
||||
container: @$('.js-datepicker3').parent()
|
||||
)
|
||||
|
||||
# date time picker
|
||||
@$('.js-datepicker4').datepicker(
|
||||
todayHighlight: true
|
||||
startDate: new Date().toLocaleDateString('en-US') # returns 9/25/2015
|
||||
container: @$('.js-datepicker4').parent()
|
||||
)
|
||||
@$('.js-timepicker4').timepicker()
|
||||
|
||||
App.Config.set( 'layout_ref/inputs', InputsRef, 'Routes' )
|
||||
|
||||
|
|
|
@ -593,6 +593,8 @@ class App.TicketZoom extends App.Controller
|
|||
# reset form after save
|
||||
@reset()
|
||||
|
||||
@autosaveStart()
|
||||
|
||||
App.TaskManager.mute(@task_key)
|
||||
|
||||
@fetch(ticket.id, true)
|
||||
|
|
|
@ -196,6 +196,10 @@ class App.TicketZoomArticleNew extends App.Controller
|
|||
@attachmentPlaceholder.removeClass('hide')
|
||||
@attachmentUpload.addClass('hide')
|
||||
|
||||
# reset progress bar
|
||||
@progressBar.width(parseInt(0) + '%')
|
||||
@progressText.text('')
|
||||
|
||||
@renderAttachment(response.data)
|
||||
console.log('upload complete', response.data )
|
||||
|
||||
|
|
|
@ -4,9 +4,26 @@
|
|||
<div style="max-width: 500px">
|
||||
<h2>Time</h2>
|
||||
<p>A time of the day</p>
|
||||
<input type="text" value="14:40" class="time">
|
||||
<input type="text" value="14:40" class="time js-timepicker1">
|
||||
|
||||
<p>Add class <code>time--12</code> to activate AM/PM support</p>
|
||||
<input type="text" value="2:40 PM" class="time time--12">
|
||||
<input type="text" value="2:40 PM" class="time time--12 js-timepicker2">
|
||||
|
||||
<p>A date</p>
|
||||
<div class="date form-group">
|
||||
<div class="controls">
|
||||
<input type="text" value="10/28/2015" class="form-control js-datepicker3">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p>A date time</p>
|
||||
<div class="date form-group formGroup--bundle">
|
||||
<div class="controls">
|
||||
<input type="text" value="10/28/2015" class="form-control js-datepicker4">
|
||||
<div class="controls-label">at</div>
|
||||
<input type="text" value="08:00" class="form-control time js-timepicker4">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Timeframe</h2>
|
||||
<p>A time between 00:00 and 99:99 hours</p>
|
||||
|
|
28
test/fixtures/email_signature_detection/client_a_1.txt
vendored
Normal file
28
test/fixtures/email_signature_detection/client_a_1.txt
vendored
Normal file
|
@ -0,0 +1,28 @@
|
|||
Hi,
|
||||
|
||||
uns liegt die fachliche Anforderung vor, dass eine Agent-AddNote-Benachrichtigung für die beiden o. g. TicketHistory-Typen versendet werden soll.
|
||||
|
||||
Das Modul Custom/Kernel/System/Ticket/Article.pm sieht diese Benachrichtigungen nach meinem Verständnis bisher nicht vor. Dafür wäre doch eine Codeerweiterung erforderlich, oder?
|
||||
|
||||
Bitte um Prüfung und Rückmeldung, vielen Dank!
|
||||
|
||||
Mit freundlichen Grüßen
|
||||
|
||||
Bob Smith
|
||||
Berechtigungen und dez. Department
|
||||
________________________________
|
||||
|
||||
Musik AG
|
||||
Berechtigungen und dez. Department (ITPBM)
|
||||
Kastanien 2
|
||||
12345 Hornhausen
|
||||
Tel.: +49 911 6760
|
||||
Fax: +49 911 85 6760
|
||||
Mobil: +49 173 911
|
||||
E-Mail: Bob.Smith@music.com
|
||||
http://www.music.com
|
||||
|
||||
Musik AG | Kastanien 2 | 12345 Hornhausen
|
||||
Sitz der AG: Hornhausen, HRB xxxxx | USt.-ID: DE 111222333444
|
||||
Vorstand: Marc Smith, Weber Huber
|
||||
Aufsichtsrat: Max Mix (Vors.)
|
26
test/fixtures/email_signature_detection/client_a_2.txt
vendored
Normal file
26
test/fixtures/email_signature_detection/client_a_2.txt
vendored
Normal file
|
@ -0,0 +1,26 @@
|
|||
Hi Martin,
|
||||
|
||||
ich benötige von Dir eine Aufwandschätzung für ein Upgrade von x.1 auf x.5 (wir hatten schon mal diesbezüglich informiert, jetzt wollen die Entscheider Zahlen sehen).
|
||||
|
||||
Vielen Dank!
|
||||
|
||||
Mit freundlichen Grüßen
|
||||
|
||||
Bob Smith
|
||||
Berechtigungen und dez. Department
|
||||
________________________________
|
||||
|
||||
Musik AG
|
||||
Berechtigungen und dez. Department (ITPBM)
|
||||
Kastanien 2
|
||||
12345 Hornhausen
|
||||
Tel.: +49 911 6760
|
||||
Fax: +49 911 85 6760
|
||||
Mobil: +49 173 911
|
||||
E-Mail: Bob.Smith@music.com
|
||||
http://www.music.com
|
||||
|
||||
Musik AG | Kastanien 2 | 12345 Hornhausen
|
||||
Sitz der AG: Hornhausen, HRB xxxxx | USt.-ID: DE 111222333444
|
||||
Vorstand: Marc Smith, Weber Huber
|
||||
Aufsichtsrat: Max Mix (Vors.)
|
59
test/fixtures/email_signature_detection/client_a_3.txt
vendored
Normal file
59
test/fixtures/email_signature_detection/client_a_3.txt
vendored
Normal file
|
@ -0,0 +1,59 @@
|
|||
Hi Roy,
|
||||
|
||||
Du hast mich überzeugt. Ich habe in der Apache-Config entsprechende Anpassungen vorgenommen.
|
||||
|
||||
Bitte nochmal testen und kurz zurückmelden, vielen Dank!
|
||||
|
||||
Mit freundlichen Grüßen
|
||||
|
||||
Bob Smith
|
||||
Berechtigungen und dez. Department
|
||||
________________________________
|
||||
|
||||
Musik AG
|
||||
Berechtigungen und dez. Department (ITPBM)
|
||||
Kastanien 2
|
||||
12345 Hornhausen
|
||||
Tel.: +49 911 6760
|
||||
Fax: +49 911 85 6760
|
||||
Mobil: +49 173 911
|
||||
E-Mail: Bob.Smith@music.com
|
||||
http://www.music.com
|
||||
|
||||
Musik AG | Kastanien 2 | 12345 Hornhausen
|
||||
Sitz der AG: Hornhausen, HRB xxxxx | USt.-ID: DE 111222333444
|
||||
Vorstand: Marc Smith, Weber Huber
|
||||
Aufsichtsrat: Max Mix (Vors.)
|
||||
Von: Roy Smith via Znuny Projects [mailto:projects@service.com]
|
||||
Gesendet: Montag, 28. September 2015 08:49
|
||||
An: Smith, Bob
|
||||
Betreff: VPN: hier Zugriff via Web [Ticket#1115094]
|
||||
|
||||
Hallo Bob,
|
||||
|
||||
mit der Umstellung des neuen VPNs hat ja alles soweit funktioniert.
|
||||
Allerdings hat mir ein Entwickler von uns mitgeteilt das er nicht mehr auf https://dwpwpt4unxe01.adm.music.com/otrs/index.pl kommt. Ist dort evtl. auch die IP-Adresse in der Konfiguration des Webservers hinterlegt worden? Dann müsste diese ja auch auf 217.110.104.196 geändert werden.
|
||||
Wenn ich damit richtig liege sind davon die Zugriffe auf
|
||||
- https://dwpwpt4unxe01.adm.music.com/otrs/index.pl
|
||||
- https://dwpwpt4unxt01.adm.music.com/otrs/index.pl
|
||||
- https://wpticket.music.com/wpticket/index.pl
|
||||
betroffen.
|
||||
|
||||
Bist Du bitte so nett und kannst da überprüfen und ggf. eine Korrektur veranlassen?
|
||||
|
||||
Danke und viele Grüße,
|
||||
Roy
|
||||
|
||||
Roy Smith
|
||||
|
||||
--
|
||||
Enterprise Services for OTRS
|
||||
|
||||
Znuny GmbH // Marienstraße 11 // 10117 Berlin // Germany
|
||||
|
||||
P: +49 (0) 30 60 98 54 18-0
|
||||
F: +49 (0) 30 60 98 54 18-8
|
||||
W: http://service.com
|
||||
|
||||
Location: Berlin - HRB 139852 B Amtsgericht Berlin-Charlottenburg
|
||||
Managing Director: Martin Edenhofer
|
53
test/fixtures/email_signature_detection/client_b_1.txt
vendored
Normal file
53
test/fixtures/email_signature_detection/client_b_1.txt
vendored
Normal file
|
@ -0,0 +1,53 @@
|
|||
Guten Tag Frau Huber,
|
||||
|
||||
ich habe gerade eine Mail an Herrn Bauer geschickt, die unter anderem folgendes enthält.
|
||||
|
||||
- Als Ticket-Typ steht zur Verfügung:
|
||||
|
||||
A. Anfrage (Auskunft, Info, Frage)
|
||||
|
||||
B. Auftrag
|
||||
|
||||
C. Störung (Fehler, Problem)
|
||||
|
||||
D. Default (bei E-Mail-Tickets)
|
||||
|
||||
- Wenn der Tickettyp A,B,C erstmalig gesetzt wird, oder der Tickettyp von D auf A,B,C geändert wird, so soll an den Kunden der Standardtext 1,2,3 gehen
|
||||
|
||||
- Wenn der Tickettyp von C auf B geändert wird, so soll an den Kunden der Standardtext 4 gehen
|
||||
|
||||
- Wenn der Tickettyp von A auf B geändert wird, so soll an den Kunden der Standardtext 5 gehen
|
||||
|
||||
- Wenn ein Ticket mit dem Tickettyp A,B,C geschlossen wird, so soll an den Kunden der Standardtext 6,7,8 gehen
|
||||
|
||||
- Die Texte bekommen Sie von Frau Huber (andrea.huber@example.com<mailto:andrea.huber@example.com>)
|
||||
|
||||
Bitte senden Sie noch die Texte an Herrn Bauer.
|
||||
|
||||
Freundliche Grüße
|
||||
|
||||
Günter Lässig
|
||||
Lokale Daten
|
||||
|
||||
Music GmbH
|
||||
Baustraße 123, 12345 Max City
|
||||
Telefon 0123 5432114
|
||||
Telefax 0123 5432139
|
||||
E-Mail Günter.Lässig@example.com<mailto:Günter.Lässig@example.com>
|
||||
|
||||
Example. Zusammen für eine bessere Welt.
|
||||
[cid:image001.png@01CE92A6.EC495B60]<http://www.example.com/>
|
||||
|
||||
[cid:image002.png@01CE92A6.EC495B60]<http://www.facebook.com/example.com>
|
||||
|
||||
[cid:image003.png@01CE92A6.EC495B60]<http://twitter.com/example>
|
||||
|
||||
[cid:image004.png@01CE92A6.EC495B60]<https://www.xing.com/companies/example/neu-example>
|
||||
|
||||
[cid:image005.jpg@01CE92A6.EC495B60]<http://www.youtube.com/example>
|
||||
|
||||
[cid:image006.png@01CE92A6.EC495B60]<http://www.example.com/no_cache/privatkunden/aktuelles/news-presse/newsletter.html>
|
||||
|
||||
Sitz der Gesellschaft: Max City, Amtsgericht Max City HRB Nr. 1234
|
||||
Geschäftsführer: Bob Smith
|
||||
Vorsitzender des Aufsichtsrats: Alex Marx
|
58
test/fixtures/email_signature_detection/client_b_2.txt
vendored
Normal file
58
test/fixtures/email_signature_detection/client_b_2.txt
vendored
Normal file
|
@ -0,0 +1,58 @@
|
|||
Hallo Herr Lässig,
|
||||
|
||||
ich habe das Ticket mal geteilt, damit wir die Themen von einander trennen können.
|
||||
|
||||
Freundliche Grüße
|
||||
|
||||
Günter Lässig
|
||||
Lokale Daten
|
||||
|
||||
Music GmbH
|
||||
Baustraße 123, 12345 Max City
|
||||
Telefon 0123 5432114
|
||||
Telefax 0123 5432139
|
||||
E-Mail Günter.Lässig@example.com<mailto:Günter.Lässig@example.com>
|
||||
|
||||
Example. Zusammen für eine bessere Welt.
|
||||
[cid:image001.png@01CE92A6.EC495B60]<http://www.example.com/>
|
||||
|
||||
[cid:image002.png@01CE92A6.EC495B60]<http://www.facebook.com/example.com>
|
||||
|
||||
[cid:image003.png@01CE92A6.EC495B60]<http://twitter.com/example>
|
||||
|
||||
[cid:image004.png@01CE92A6.EC495B60]<https://www.xing.com/companies/example/neu-example>
|
||||
|
||||
[cid:image005.jpg@01CE92A6.EC495B60]<http://www.youtube.com/example>
|
||||
|
||||
[cid:image006.png@01CE92A6.EC495B60]<http://www.example.com/no_cache/privatkunden/aktuelles/news-presse/newsletter.html>
|
||||
|
||||
Sitz der Gesellschaft: Max City, Amtsgericht Max City HRB Nr. 1234
|
||||
Geschäftsführer: Bob Smith
|
||||
Vorsitzender des Aufsichtsrats: Alex Marx
|
||||
Von: Werner Smith via Znuny Projects [mailto:projects@example.com]
|
||||
Gesendet: Freitag, 4. September 2015 09:33
|
||||
An: Günter Lässig
|
||||
Betreff: Texte einpflegen [Ticket#1114881]
|
||||
|
||||
Guten Morgen Herr Lässig,
|
||||
|
||||
ich würde Ihnen hier gern weiterhelfen.
|
||||
Mit den eventbasierten Benachrichtigungen können Sie Benachrichtigungen beim Öffnen und Schließen von Tickets versenden. Dabei wird die Systemadresse der Queue, in der das Ticket ist,
|
||||
als Absende-Adresse genutzt.
|
||||
|
||||
Wie genau kann ich Ihnen jetzt weiterhelfen? Wenn Sie möchten, kann ich Sie heute Nachmittag kurz anrufen und Ihnen direkt die Auskunft geben.
|
||||
|
||||
viele Grüße,
|
||||
Werner Smith
|
||||
|
||||
--
|
||||
Enterprise Services for OTRS
|
||||
|
||||
Znuny GmbH // Marienstraße 14 // 10117 Berlin // Germany
|
||||
|
||||
P: +49 (0) 30 60 98 54 18-0
|
||||
F: +49 (0) 30 60 98 54 18-8
|
||||
W: http://example.com
|
||||
|
||||
Location: Berlin - HRB 123456 B Amtsgericht Berlin-Charlottenburg
|
||||
Managing Director: Martin Edenhofer
|
33
test/fixtures/email_signature_detection/client_b_3.txt
vendored
Normal file
33
test/fixtures/email_signature_detection/client_b_3.txt
vendored
Normal file
|
@ -0,0 +1,33 @@
|
|||
Guten Tag Herr Meister,
|
||||
|
||||
unsere OTRS-DB ist nun nicht mehr korrupt. Allerdings gibt es im Systemprotokoll von OTRS immer noch die roten Fehlermeldungen "Got no Type or TypeID!". Können Sie mir bitte mitteilen, was dies genau zu bedeuten hat?
|
||||
|
||||
Herr Smith möchte vor der Implementierung der neuen Verbesserungsvorschläge noch die neue OTRS und Postgres-Version einspielen. Falls Sie Zeit hätten, könnten wir trotzdem schon mal die neuen Verbesserungsvorschläge (siehe Anhang) telefonisch besprechen, ich hätte ab Donnerstag dafür Zeit. Wenn Sie wollen, können Sie mir einen Terminvorschlag senden.
|
||||
|
||||
Freundliche Grüße
|
||||
|
||||
Günter Lässig
|
||||
Lokale Daten
|
||||
|
||||
Music GmbH
|
||||
Baustraße 123, 12345 Max City
|
||||
Telefon 0123 5432114
|
||||
Telefax 0123 5432139
|
||||
E-Mail Günter.Lässig@example.com<mailto:Günter.Lässig@example.com>
|
||||
|
||||
Example. Zusammen für eine bessere Welt.
|
||||
[cid:image001.png@01CE92A6.EC495B60]<http://www.example.com/>
|
||||
|
||||
[cid:image002.png@01CE92A6.EC495B60]<http://www.facebook.com/example.com>
|
||||
|
||||
[cid:image003.png@01CE92A6.EC495B60]<http://twitter.com/example>
|
||||
|
||||
[cid:image004.png@01CE92A6.EC495B60]<https://www.xing.com/companies/example/neu-example>
|
||||
|
||||
[cid:image005.jpg@01CE92A6.EC495B60]<http://www.youtube.com/example>
|
||||
|
||||
[cid:image006.png@01CE92A6.EC495B60]<http://www.example.com/no_cache/privatkunden/aktuelles/news-presse/newsletter.html>
|
||||
|
||||
Sitz der Gesellschaft: Max City, Amtsgericht Max City HRB Nr. 1234
|
||||
Geschäftsführer: Bob Smith
|
||||
Vorsitzender des Aufsichtsrats: Alex Marx
|
66
test/unit/email_signatur_detection_test.rb
Normal file
66
test/unit/email_signatur_detection_test.rb
Normal file
|
@ -0,0 +1,66 @@
|
|||
# encoding: utf-8
|
||||
require 'test_helper'
|
||||
|
||||
class EmailSignaturDetectionTest < ActiveSupport::TestCase
|
||||
|
||||
test 'test case I - sender a' do
|
||||
|
||||
# fixtures of sender a
|
||||
fixture_files = [
|
||||
'email_signature_detection/client_a_1.txt',
|
||||
'email_signature_detection/client_a_2.txt',
|
||||
'email_signature_detection/client_a_3.txt',
|
||||
]
|
||||
|
||||
# detect signature
|
||||
match_structure = ''
|
||||
|
||||
# tests
|
||||
# 'email_signature_detection/client_a_1.txt'
|
||||
result_should = {
|
||||
line: 9
|
||||
}
|
||||
|
||||
# 'email_signature_detection/client_a_2.txt'
|
||||
result_should = {
|
||||
line: 7
|
||||
}
|
||||
|
||||
# 'email_signature_detection/client_a_3.txt'
|
||||
result_should = {
|
||||
line: 7
|
||||
}
|
||||
assert(true)
|
||||
end
|
||||
|
||||
test 'test case II - sender b' do
|
||||
|
||||
# fixtures of sender a
|
||||
fixture_files = [
|
||||
'email_signature_detection/client_b_1.txt',
|
||||
'email_signature_detection/client_b_2.txt',
|
||||
'email_signature_detection/client_b_3.txt',
|
||||
]
|
||||
|
||||
# detect signature
|
||||
match_structure = ''
|
||||
|
||||
# tests
|
||||
# 'email_signature_detection/client_b_1.txt'
|
||||
result_should = {
|
||||
line: 27
|
||||
}
|
||||
|
||||
# 'email_signature_detection/client_b_2.txt'
|
||||
result_should = {
|
||||
line: 5
|
||||
}
|
||||
|
||||
# 'email_signature_detection/client_b_3.txt'
|
||||
result_should = {
|
||||
line: 7
|
||||
}
|
||||
assert(true)
|
||||
end
|
||||
|
||||
end
|
Loading…
Reference in a new issue