Skip to content

Commit

Permalink
App: ClickToCall nicht anzeigen wenn keine Nummer vorhanden
Browse files Browse the repository at this point in the history
ToDo:
+ Instructions einfärben
+ Telefonnummer löschen klappt nicht (es muss derzeit min 1Zeichen erhalten bleiben)
+ padding-left im Button anwenden
  • Loading branch information
Ronny Zimmermann committed Jun 5, 2023
1 parent cfabd11 commit d829501
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 188 deletions.
4 changes: 2 additions & 2 deletions app.php
Original file line number Diff line number Diff line change
Expand Up @@ -478,10 +478,10 @@
<div class="crm-pt05"><span id="crm-contact-contact"></span></div>
<table>
<tr>
<td>Telefon:</td><td><button id="crm-contact-phone1"></button></td><td><button id="crm-contact-phone1_dialog_button" class='clickToCall1'>T</button><div id="crm-contact-phone1_dialog"></div></td><td><button id="crm-copy-contact-phone1" class="copy cklickToCall1" title="Copy">C</button></td><td ><button id="crm-whatsapp1" class="whatsapp clickToCall1" title="Whatsapp" ><img src="crm/image/whatsapp.png" alt="Whatsapp" ></button></td>
<td>Telefon:</td><td><button id="crm-contact-phone1"></button></td><td><button id="crm-contact-phone1_dialog_button" class='clickToCall1'>T</button><div id="crm-contact-phone1_dialog"></div></td><td><button id="crm-copy-contact-phone1" class="copy clickToCall1" title="Copy">C</button></td><td ><button id="crm-whatsapp1" class="whatsapp clickToCall1" title="Whatsapp" ><img src="crm/image/whatsapp.png" alt="Whatsapp" ></button></td>
</tr>
<tr>
<td>Telefon:</td><td><button id="crm-contact-phone2"></button></td><td><button id="crm-contact-phone2_dialog_button" class='clickToCall2'>T</button><div id="crm-contact-phone2_dialog"></div></td><td><button id="crm-copy-contact-phone2" class="copy cklickToCall2" title="Copy">C</button></td><td ><button id="crm-whatsapp2" class="whatsapp clickToCall2" title="Whatsapp" ><img src="crm/image/whatsapp.png" alt="Whatsapp" ></button></td>
<td>Telefon:</td><td><button id="crm-contact-phone2"></button></td><td><button id="crm-contact-phone2_dialog_button" class='clickToCall2'>T</button><div id="crm-contact-phone2_dialog"></div></td><td><button id="crm-copy-contact-phone2" class="copy clickToCall2" title="Copy">C</button></td><td ><button id="crm-whatsapp2" class="whatsapp clickToCall2" title="Whatsapp" ><img src="crm/image/whatsapp.png" alt="Whatsapp" ></button></td>
</tr>
</table>
<div id="crm-wx-contact-email" class="row crm-pt025">
Expand Down
188 changes: 9 additions & 179 deletions doc/install.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Kivitendo CRM 2.1.1
Kivitendo CRM 2.3.2

Installation Kivitendo CRM
-------------------------
Expand All @@ -13,45 +13,21 @@ Die neuste Entwicklerversion kann mit "git clone https://github.com/kivitendo/ki
direkt aus dem Repository kopiert werden. Voraussetzung hierfür ist das Programmpaket Git
(apt-get install git)

Kivitendo hieß früher Lx-Office. Dadurch heißen einige Pfade noch lx-office.
Die Konfigurationsdatei der ERP wurde von lx_office.conf in kivitendo.conf umbenannt.
Aus Gründen der Kompatibilität zu älteren Installationen wird die lx_office.conf in der ERP weiterhin ausgewertet.
Welche ERP-Konfigurationsdatei in der CRM ausgewertet wird, kann in der CRM-Konfigurationsdatei inc/conf.php
der Variblen $erpConfigFile zugewiesen werden. Achtung, die Dateiendung (.conf) darf nicht mit angeben werden.
Voreingestellt ist kivitendo.

Vorrausetzungen:
PostgreSQL >= 9.3
Kivitendo ERP >= 3.3.0
PHP >= 5.4
PEAR::Contact_Vcard_Build
PEAR::Contact_Vcard_Parse
PEAR::Mail_Mime oder php-mail-mime

jpgraph3
fpdf,fpdi
ttf-freefont
php-gd,php-imap
php5-curl

Fast alle Pakete können unter debianoiden Systemen in der Konsole mit folgendem Befehl installiert werden.
apt-get install libapache2-mod-php5 php5-gd php5-imap php-mail php-mail-mime php-pear php-mdb2 php-mdb2-driver-pgsql php-fpdf libfpdi-php imagemagick ttf-freefont php5-curl libphp-jpgraph php5-enchant aspell-de
apt-get install make gcc apache2 libapache2-mod-fcgid git libapache2-mod-php php-ssh2 php-gd php-imap php-mail php-mail-mime php-pgsql php-fpdf imagemagick fonts-freefont-ttf php-curl dialog php-enchant aspell-de python3 python3-serial


Entwickler benötigen zusätzlich einige Pakete:
apt-get install nodejs nodejs-legacy npm


Die restlichen Pearpaket installieren:
pear install Contact_Vcard_Build Contact_Vcard_Parse

Installierte Pearpakete anzeigen:
pear list

Telefonintegration siehe crmti/

Crm in die ERP verlinken
cd /var/www/kivitendo-erp && ln -s ../kivitendo-crm crm

App verlinken
cd /var/www/kivitendo-erp && ln -s ../kivitendo-crm/app.php app.php

Eigentümer der Datei auf Webserver setzen
z.B. Debian / Ubuntu:
chown -R www-data: crm/
Expand Down Expand Up @@ -88,17 +64,7 @@ in /etc/apache2/sites-available/kivitendo.apache2.conf

hinzufügen

Webserver neu starten
z.B. Debian / Ubuntu:
/etc/init.d/apache2 restart oder service apache2 restart

Administration der ERP aufrufen und die Gruppe Admin hinzufügen.
Nur ihr zugewiesene Benutzer können die Mandanten-Konfiguration der CRM anpassen.
Kivitendo im Browser aufrufen und anmelden.
Nach dem Klick auf einen der neu entstandenen CRM-Menü-Punkte werden einige Tabellen angelegt.
Mandanten und Benutzereinstellungen sichern und die CRM kann verwendet werden.
CRM -> Administration -> Mandant
CRM -> Administration -> Benutzer

Weite Informationen und Lösungsansätze bei Problemen:

Expand All @@ -113,140 +79,18 @@ Apacheconfig auf dem Proxy für den Virtualhost:
ProxyPass /lxodemo/ http://192.168.1.100/demo2/
ProxyPassReverse /lxodemo http://192.168.1.100/demo2/

LxO-Config auf dem Zielserver:
Kivitendo auf dem Zielserver:
AliasMatch ^/demo2/[^/]+\.pl /var/www/30/demoerp/dispatcher.fcgi
Alias /demo2/ /var/www/30/demoerp/
Inhalt von ERP_BASE_URL:
"http://192.168.1.85/lxodemo/"

Anpassungen in der /etc/php5/apache2/php.ini:
Das Fehlerreporting evtl. etwas runterschrauben.
PHP5:
error_reporting = E_ALL & ~E_NOTICE
PHP5.3:
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

PHP-Code wird angezeigt (sollte nicht mehr vorkommen):
short_open_tag = On

sonstiges:
include_path = ".:/usr/share/php:/usr/share/fpdf:/usr/share/jpgraph"
default_charset = "utf-8"
log_errors = On

hier sind evtl. eigene Anpassungen nötig:
post_max_size = 8M
upload_max_filesize = 8M
memory_limit = 128M
max_execution_time = 60


Font für fpdf installieren (Debian):
cd /usr/share/php/Image/Canvas/Fonts
cp /usr/share/fonts/truetype/freefont/FreeSans.ttf .
echo FreeSans,FreeSans.ttf >> fontmap.txt


Das TAR-File entpacken, dabei an HFS halten.
z.B. RPM-Systeme
cd /srv/; tar xzf kivitendo-crm-{version}.tgz
z.B. Debian
cd /var/www; tar xzf kivitendo-crm-{version}.tgz


http://localhost/kivitendo/login.pl


Update auf Version 1.9.0
------------------------
Die Einstellungen in der inc/conf.php sind auf ein Minimum reduziert worden.
Diese Einstellungen können nun für jeden Mandanten über die Oberfläche eingestellt werden.
Dazu muss mindestens ein Benutzer besondere Rechte bekommen. Bitte dazu admin.pl aufrufen.
Legen Sie eine neuen Gruppe Admin an. Das einzige Recht das hier unter CRM gesetzt sein muss ist
'Admin Status'.
Ordnen Sie einen Benutzer dieser Gruppe zu.
Dieser Benutzer wir in kommenden Versionen mehr Aufgaben bekommen, daher "sparsam" vergeben.
Wenn noch nicht geschehen, die menu.ini nach CRM--Admin--Status ergänzen:

[CRM--Admin--Mandant]
ACCESS=crm_adminstatus
module=crm/mandant.php

Sollte die Migration der inc/conf.php fehlschlagen, prüfen Sie ob die Tabelle 'crmdefaults'
angelegt wurde. Wenn ja, können die Einstellungen über die Oberfläche nachgeholt werden.
Wenn Nein, dann bitte die Tabelle manuell anlegen. Dazu einfach den oberen Teil aus
der Datei update/crm_defaults.sql "CREATE .... );" auf der Datenbankkonsole ausführen.


Geo-Datenbank:
--------------
In der Adressdatenmaske können einige Daten aus einer Geodatenbank gefüllt werden.
Dazu muss zuvor die Datenbank angelegt werden.

Dazu ein Terminalfenster öffnen oder per Fernzugriff auf dem Server auf der Konsole
anmelden. In das Unterverzeichnis 'update' der CRM wechseln.

Die GeoDaten entpacken:

gunzip geodaten.sql.gz

Die Postgresql-Konsole mit der entsprechenden Datenbankinstanz aufrufen:
psql -U <dbuser> -W <meinedb>
In der PostgreSQL-Konsole folgendes eingeben:
\i geostruck.sql
\i geodaten.sql
Es rasseln eine Menge Meldungen durch, es sollten keine Fehler auftreten.
Die Konsole mit '\q' verlassen.

Jetzt noch die Mandanten-Konfiguration öffnen und die Checkbox hinter 'GEODB' setzen.

Jetzt erscheint in den Eingabemasken ein Knopf 'suche Ort'. Geben Sie in Plz, Ort oder
Vorwahl einen (Teil-)Begriff ein und klicken Sie auf den Knopf. In einem Pop-Up werden
die Treffer angezeigt. Wird ein Wert ausgewählt, wird in Plz,Ort,Vorwahl der dazugehörige
Wert eingetragen.

Die Ortsuche nutzt nur einen kleinen Teile der Geodaten die gespeichert sind (25-70MB).
Klicken Sie in der Stammdatenmaske auf den Ortsnamen, öffnet siche ein neues Fenster.
Es werden zunächst alle Orte mit gleichem Namen und gleicher PLZ angezeigt. Klicken Sie
darauf, werden erweiterte Daten angezeigt. So können Sie durch Gemeinden, Kreise,
Bundesländer usw. surfen.

Weitere Informationen zu den Daten sind hier zu finden:
http://opengeodb.giswiki.org/wiki/OpenGeoDB

BLZ-Datenbank:
--------------
In der Adressdatenmaske können einige Daten aus einer BLZ-Datenbank gefüllt werden.
Dazu muß zuvor die Datenbank angelegt werden.

Dazu ein Terminalfenster öffnen oder per Fernzugriff auf dem Server auf der Konsole
anmelden. In das Unterverzeichnis 'update' der CRM wechseln. Die Postgresql-Konsole
mit der entsprechenden Datenbankinstanz aufrufen:
psql -U <dbuser> -W <meinedb>
In der PostgreSQL-Konsole folgendes eingeben:
\i BLZ.sql
Es rasseln eine Menge Meldungen durch, es sollten keine Fehler auftreten.
Die Konsole mit '\q' verlassen.

Kopieren Sie die Datei update/blz.php nach <lx-office-erp>/lxo-import/ wenn diese noch
nicht vorhanden ist.
Erweitern Sie das LxO-Menü in der Sektion CSV-Import:

[System--Import CSV--BLZ]
module=lxo-import/blz.php

Die max_execution_time sollte groß genu gewählt werden. Es sind über 20000 Datensätze.

Jetzt noch die Mandantenkonfiguration öffnen und die Checkbox hinter 'BLZDB' setzen.

Melden Sie sich neu an. Holen Sie von :
http://www.bundesbank.de/zahlungsverkehr/zahlungsverkehr_bankleitzahlen_download.php
die aktuellen Bankleitzahlen. Rufen Sie das Programm "System->CSV-Import->BLZ" auf
und importieren Sie damit die Daten.

Die Daten dürfen auf keinen Fall in UTF-8 gewandelt werden !!!

In der Bearbeitungsmaske der Firmen bekommen Sie nun unter "Sonstiges" einen neuen Knopf.

Benutzerfreundliche Links:
--------------------------
Expand All @@ -273,31 +117,17 @@ ERP-Plugins:
cd kivitendo-erp/js/
kivi.js
Am Ende folgendes einfügen:
var getUrl = window.location;
if (!getUrl.toString().match('crm')) window.document.write("<script type='text/javascript' src='crm/js/ERPplugins.js'></script>");

Zusatzprogramme:
----------------
Einige Zusatzprogramme (EuR, ZM, Inventur, Katalog, DHL-Adress CSV, Artikelmassenänderung, eBay-Importer),
die ich für mich geschrieben habe, sind unter dem Menü-Punkt 'Sonstiges' zu finden.
window.document.write("<script type='text/javascript' src='crm/js/ERPplugins.js'></script>");

Wenn Barcode im Tex erzeugt werden soll, muss der Webserver in seinem Homeverzeichnis, idR. /var/www,
Schreibrechte besitzen. Oder aber es muss das Fontverzeichnis dort abgelegt werden.
Im Homeverzeichnis des Users wird mit dem folgenden Befehl ein Verzeichnis .texmf-var angelegt
mktexpk --mfmode / --bdpi 600 --mag 1+120/600 --dpi 720 wlc39

Zusatzprogramme 2:
------------------
Barcodes für Artikel drucken:
Den Patch ic_form_header.patch in das File templates/webpages/ic/form_header.html einspielen.
Das Tex-File vorlage/barcode.tex anpassen.

Etiketten aus Rechnungsmaske drucken und E-Mais verschicken:
Den Patch ir_form_footer.patch in templates/webpages/ir/form_footer.html und
Patch is_form_footer.patch in templates/webpages/is/form_footer.html einspielen.

patch -p1 -b templates/webpages/is/form_footer.html < crm/update/is_form_footer.patch

Weitere Informationen, professioneller Support:
http://www.lx-system.de
http://lxcars.de
https://inter-data.de
9 changes: 8 additions & 1 deletion js/crm.app/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -164,13 +164,20 @@ function showCVPA( data ){
$( '#crm-contact-' + key ).hide();
}
});

if( !data.cv.phone1 ) $( '.clickToCall1' ).hide();
else $( '.clickToCall1' ).show();
if( !data.cv.phone2 ) $( '.clickToCall2' ).hide();
else $( '.clickToCall2' ).show();
/* ToDo: #crm-wx-contact-* existiert gar nicht!
if( data.cv.phone1 ) $( '#crm-wx-contact-phone1' ).show();
else $( '#crm-wx-contact-phone1' ).hide();
if( data.cv.phone2 ) $( '#crm-wx-contact-phone2' ).show();
else $( '#crm-wx-contact-phone2' ).hide();
if( data.cv.phone1 ) $('#crm-wx-contact-email').show();
else $( '#crm-wx-contact-email' ).hide();
*/


}
else{
$( '#crm-wx-contact' ).hide();
Expand Down
2 changes: 1 addition & 1 deletion js/crm.app/cvp.js
Original file line number Diff line number Diff line change
Expand Up @@ -267,4 +267,4 @@ function crmNewVendor(){

function crmNewPerson(){
alert( "Person erfassen in crmNewPerson()!" );
}
}
5 changes: 0 additions & 5 deletions js/crm.app/phonecall.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,8 +111,3 @@ $( '#crm-contact-phone1_dialog_button, #crm-contact-phone2_dialog_button' ).clic

})
}).button().removeClass( "ui-widget ui-state-default ui-corner-all ui-button-text-only");//ui-widget ui-state-default ui-corner-all ui-button-text-only
if( !$( '#crm-contact-phone1' ).val() ) $( '.clickToCall1' ).hide();
if( !$( '#crm-contact-phone2' ).val() ) $( '.clickToCall2' ).hide();

//alert( $( '#crm-contact-phone1' ).html() );
console.info( $( '#crm-contact-phone1' ) );

0 comments on commit d829501

Please sign in to comment.