From: Moritz Bunkus Date: Wed, 17 Jul 2013 09:35:55 +0000 (+0200) Subject: CRM-Menü in der ERP speichern inklusive der Übersetzungen X-Git-Tag: release-3.1.0beta1~161^2~2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=c8aac2e0d2e58584767fd2b83466680f122504c5;p=kivitendo-erp.git CRM-Menü in der ERP speichern inklusive der Übersetzungen Fixt #2328. --- diff --git a/SL/InstanceConfiguration.pm b/SL/InstanceConfiguration.pm index 13c4d1c5e..699568993 100644 --- a/SL/InstanceConfiguration.pm +++ b/SL/InstanceConfiguration.pm @@ -4,10 +4,11 @@ use strict; use Carp; use SL::DBUtils (); +use SL::System::Process; use parent qw(Rose::Object); use Rose::Object::MakeMethods::Generic ( - 'scalar --get_set_init' => [ qw(data currencies default_currency _table_currencies_exists) ], + 'scalar --get_set_init' => [ qw(data currencies default_currency _table_currencies_exists crm_installed) ], ); sub init_data { @@ -34,6 +35,10 @@ sub init_default_currency { return (SL::DBUtils::selectfirst_array_query($::form, $::form->get_standard_dbh, qq|SELECT name FROM currencies WHERE id = ?|, $self->data->{currency_id}))[0]; } +sub crm_installed { + return -f (SL::System::Process->exe_dir . '/crm/Changelog'); +} + sub reload { my ($self) = @_; @@ -93,9 +98,9 @@ C<$::instance_conf>. Creates a new instance. Does not read the configuration. -=item C +=item C -Reads the configuration from the database. Returns C<$self>. +Returns trueish if the CRM component is installed. =item C diff --git a/SL/Layout/Base.pm b/SL/Layout/Base.pm index 2312ecfd2..7932aff5b 100644 --- a/SL/Layout/Base.pm +++ b/SL/Layout/Base.pm @@ -29,7 +29,9 @@ sub new { } sub init_menu { - Menu->new('crm/update/menu.ini', 'menus/erp.ini'); + my @menu_files = qw(menus/erp.ini); + unshift @menu_files, 'menus/crm.ini' if $::instance_conf->crm_installed; + Menu->new(@menu_files); } sub init_auto_reload_resources_param { diff --git a/image/icons/16x16/CRM--E-mail.png b/image/icons/16x16/CRM--E-mail.png new file mode 100644 index 000000000..8bbabc03e Binary files /dev/null and b/image/icons/16x16/CRM--E-mail.png differ diff --git a/image/icons/16x16/CRM--eMail.png b/image/icons/16x16/CRM--eMail.png deleted file mode 100644 index 8bbabc03e..000000000 Binary files a/image/icons/16x16/CRM--eMail.png and /dev/null differ diff --git a/locale/de/all b/locale/de/all index 9c999c2ab..e922e14d3 100755 --- a/locale/de/all +++ b/locale/de/all @@ -170,6 +170,7 @@ $self->{texts} = { 'Add note' => 'Notiz erfassen', 'Add unit' => 'Einheit hinzufügen', 'Address' => 'Adresse', + 'Admin' => 'Administration', 'Administration' => 'Administration', 'Administration area' => 'Administration', 'Advance turnover tax return' => 'Umsatzsteuervoranmeldung', @@ -338,6 +339,7 @@ $self->{texts} = { 'CB Transaction' => 'SB-Buchung', 'CB Transactions' => 'SB-Buchungen', 'CR' => 'H', + 'CRM' => 'CRM', 'CRM admin' => 'Administration', 'CRM create customers, vendors and contacts' => 'Erfassen (Kunden, Lieferanten, Personen)', 'CRM follow up' => 'Wiedervorlage', @@ -347,7 +349,7 @@ $self->{texts} = { 'CRM optional software' => 'CRM optionale Software', 'CRM other' => 'alles Andere', 'CRM search' => 'Adresssuche', - 'CRM send email' => 'eMail', + 'CRM send email' => 'E-Mail', 'CRM services' => 'Dienstleistung', 'CRM status' => 'Admin Status', 'CRM termin' => 'Termine', @@ -588,6 +590,7 @@ $self->{texts} = { 'DATEX - Export Assistent' => 'DATEV-Exportassistent', 'DELETED' => 'Gelöscht', 'DFV-Kennzeichen' => 'DFV-Kennzeichen', + 'DHL' => 'DHL', 'DR' => 'S', 'DUNNING STARTED' => 'Mahnprozess gestartet', 'DUNS number' => 'DUNS-Nummer', @@ -711,11 +714,11 @@ $self->{texts} = { 'Do you want to carry this shipping address over to the new purchase order so that the vendor can deliver the goods directly to your customer?' => 'Wollen Sie diese Lieferadresse in den neuen Lieferantenauftrag übernehmen, damit der Händler die Waren direkt an Ihren Kunden liefern kann?', 'Do you want to store the existing onhand values into a new warehouse?' => 'Möchten Sie die vorhandenen Mengendaten in ein Lager übertragen?', 'Document' => 'Dokument', - 'Document Template' => 'Dokumentvorlage', - 'Documents' => 'Dokumente', 'Document Project Number' => 'Projektnummer des Belegs', + 'Document Template' => 'Dokumentvorlage', 'Documentation' => 'Dokumentation', 'Documentation (in German)' => 'Dokumentation', + 'Documents' => 'Dokumente', 'Documents in the WebDAV repository' => 'Dokumente im WebDAV-Repository', 'Done' => 'Fertig', 'Double partnumbers' => 'Doppelte Artikelnummern', @@ -746,8 +749,8 @@ $self->{texts} = { 'Duplicate in CSV file' => 'Duplikat in CSV-Datei', 'Duplicate in database' => 'Duplikat in Datenbank', 'During the next update a taxkey 0 with tax rate of 0 will automatically created.' => 'Beim nächsten Ausführen des Updates wird ein Steuerschlüssel 0 mit einem Steuersatz von 0% automatisch erzeugt.', - 'E-mail' => 'eMail', - 'E-mail Statement to' => 'Fälligkeitsabrechnung als eMail an', + 'E-mail' => 'E-Mail', + 'E-mail Statement to' => 'Fälligkeitsabrechnung als E-Mail an', 'E-mail address missing!' => 'E-Mail-Adresse fehlt!', 'EAN' => 'EAN', 'EAN-Code' => 'EAN-Code', @@ -1140,12 +1143,13 @@ $self->{texts} = { 'KNE-Export erfolgreich!' => 'KNE-Export erfolgreich!', 'KNr. beim Kunden' => 'KNr. beim Kunden', 'Keine Suchergebnisse gefunden!' => 'Keine Suchergebnisse gefunden!', + 'Knowledge' => 'Wissen', 'Konten' => 'Konten', 'L' => 'L', 'LIABILITIES' => 'PASSIVA', 'LP' => 'LP', - 'Label' => 'Etikett', 'LaTeX Templates' => 'LaTeX-Vorlagen', + 'Label' => 'Etikett', 'Landscape' => 'Querformat', 'Language' => 'Sprache', 'Language (database ID)' => 'Sprache (Datenbank-ID)', @@ -1215,9 +1219,9 @@ $self->{texts} = { 'Logout now' => 'kivitendo jetzt verlassen', 'Long Dates' => 'Lange Monatsnamen', 'Long Description' => 'Langtext', - 'Machine' => 'Maschine', 'MAILED' => 'Gesendet', 'MD' => 'PT', + 'Machine' => 'Maschine', 'Main Preferences' => 'Grundeinstellungen', 'Main sorting' => 'Hauptsortierung', 'Make' => 'Lieferant', @@ -1245,7 +1249,7 @@ $self->{texts} = { 'Maximum future booking interval' => 'Maximale Anzahl von Tagen an denen Buchungen in der Zukunft erlaubt sind.', 'May' => 'Mai', 'May ' => 'Mai', - 'May set the BCC field when sending emails' => 'Beim Verschicken von Emails das Feld \'BCC\' setzen', + 'May set the BCC field when sending emails' => 'Beim Verschicken von E-Mails das Feld \'BCC\' setzen', 'Meaning' => 'Bedeutung', 'Medium Number' => 'Datenträgernummer', 'Memo' => 'Memo', @@ -1486,6 +1490,7 @@ $self->{texts} = { 'Periodic invoices inactive' => 'Wiederkehrende Rechnungen inaktiv', 'Periodicity' => 'Periodizität', 'Perpetual inventory' => 'Bestandsmethode', + 'Person' => 'Person', 'Personal settings' => 'Persönliche Einstellungen', 'Phone' => 'Telefon', 'Phone1' => 'Telefon 1 ', @@ -1576,7 +1581,7 @@ $self->{texts} = { 'Printer Management' => 'Druckeradministration', 'Printer management' => 'Druckerverwaltung', 'Printing ... ' => 'Es wird gedruckt.', - 'Private E-mail' => 'Private eMail', + 'Private E-mail' => 'Private E-Mail', 'Private Phone' => 'Privates Tel.', 'Problem' => 'Problem', 'Produce Assembly' => 'Erzeugnis fertigen', @@ -1799,7 +1804,7 @@ $self->{texts} = { 'Service, assembly or part' => 'Dienstleistung, Erzeugnis oder Ware', 'Services' => 'Dienstleistungen', 'Set Language Values' => 'Spracheinstellungen', - 'Set eMail text' => 'eMail Text eingeben', + 'Set eMail text' => 'E-Mail Text eingeben', 'Settings' => 'Einstellungen', 'Setup Menu' => 'Menü-Variante', 'Ship to' => 'Lieferadresse', @@ -2227,8 +2232,8 @@ $self->{texts} = { 'This user will have access to the following clients' => 'Dieser Benutzer wird Zugriff auf die folgenden Mandanten haben', 'This vendor number is already in use.' => 'Diese Lieferantennummer wird bereits verwendet.', 'Three Options:' => 'Drei Optionen:', + 'Time Tracking' => 'Zeiterfassung', 'Time period for the analysis:' => 'Analysezeitraum:', - 'Time Track' => 'Zeiterfassung', 'Timestamp' => 'Uhrzeit', 'Title' => 'Titel', 'To' => 'An', @@ -2331,9 +2336,9 @@ $self->{texts} = { 'Use master default bin for Default Transfer, if no default bin for the part is configured' => 'Standardlagerplatz für Ein- / Auslagern über Standard-Lagerplatz, falls für die Ware kein expliziter Lagerplatz konfiguriert ist', 'User' => 'Benutzer', 'User Config' => 'Einstellungen', + 'User Groups' => 'Gruppen', 'User Preferences' => 'Benutzereinstellungen', 'User access' => 'Benutzerzugriff', - 'User Groups' => 'Gruppen', 'User list' => 'Benutzerliste', 'User login' => 'Benutzeranmeldung', 'User name' => 'Benutzername', @@ -2518,8 +2523,9 @@ $self->{texts} = { 'done' => 'erledigt', 'down' => 'runter', 'dunning_list' => 'mahnungsliste', - 'eMail Send?' => 'eMail-Versand?', - 'eMail?' => 'eMail?', + 'eBayImporter' => 'eBay-Importierer', + 'eMail Send?' => 'E-Mail-Versand?', + 'eMail?' => 'E-Mail?', 'ea' => 'St.', 'emailed to' => 'gemailt an', 'empty' => 'leer', @@ -2555,7 +2561,6 @@ $self->{texts} = { 'kivitendo v#1 administration' => 'kivitendo v#1 Administration', 'kivitendo website (external)' => 'kivitendo-Webseite (extern)', 'kivitendo will then update the database automatically.' => 'kivitendo wird die Datenbank daraufhin automatisch aktualisieren.', - 'Knowledge' => 'Wissen', 'lead deleted!' => 'Kundenquelle gelöscht', 'lead saved!' => 'Kundenquelle geichert', 'list' => 'auflisten', diff --git a/menus/crm.ini b/menus/crm.ini new file mode 100644 index 000000000..fcb0acfec --- /dev/null +++ b/menus/crm.ini @@ -0,0 +1,120 @@ +[CRM] + +[CRM--Search] +ACCESS=crm_search +module=crm/getData.php + +[CRM--Add] +submenu=1 + +[CRM--Add--Customer] +ACCESS=crm_new +module=crm/firmen3.php +Q=C + +[CRM--Add--Vendor] +ACCESS=crm_new +module=crm/firmen3.php +Q=V + +[CRM--Add--Person] +ACCESS=crm_new +module=crm/personen3.php + +[CRM--Appointments] +ACCESS=crm_termin +module=crm/termin.php + +[CRM--Opportunity] +ACCESS=crm_opportunity +module=crm/opportunity.php + +[CRM--Follow-Up] +ACCESS=crm_follow +module=crm/wvl1.php + +[CRM--E-mail] +ACCESS=crm_email +module=crm/mail.php + +[CRM--Knowledge] +ACCESS=crm_knowhow +module=crm/wissen.php + +[CRM--Memo] +ACCESS=crm_notices +module=crm/postit.php + +[CRM--Documents] +ACCESS=crm_other +module=crm/dokument.php + +[CRM--Time Tracking] +ACCESS=crm_service +module=crm/timetrack.php + +[CRM--DHL] +ACCESS=crm_otje +module=crm/dhl.php + +[CRM--eBayImporter] +ACCESS=crm_other +module=crm/ebayImporter.php + +[CRM--Service] +submenu=1 + +[CRM--Service--Service Contract] +ACCESS=crm_service +module=crm/vertrag1.php + +[CRM--Service--Add Service Contract] +ACCESS=crm_service +module=crm/vertrag3.php + +[CRM--Service--Machine] +ACCESS=crm_service +module=crm/maschine1.php + +[CRM--Service--Add Machine] +ACCESS=crm_service +module=crm/maschine3.php + +[CRM--Admin] +submenu=1 + +[CRM--Admin--Document Template] +ACCESS=crm_admin +module=crm/dokument1.php + +[CRM--Admin--Label] +ACCESS=crm_admin +module=crm/aufkleber_def.php + +[CRM--Admin--Appointment Category] +ACCESS=crm_admin +module=crm/tcatedit.php + +[CRM--Admin--Message] +ACCESS=crm_admin +module=crm/user3.php + +[CRM--Admin--Client] +ACCESS=crm_adminstatus +module=crm/mandant.php + +[CRM--Admin--User Groups] +ACCESS=crm_admin +module=crm/user2.php + +[CRM--Admin--User] +ACCESS=crm_adminuser +module=crm/user1.php + +[CRM--Admin--DHL] +ACCESS=crm_admin +module=crm/dhladm.php + +[CRM--Admin--Status] +ACCESS=crm_adminstatus +module=crm/status.php