CVars in Ansprechpartnern.
authorSven Schöling <s.schoeling@linet-services.de>
Wed, 18 Apr 2012 15:11:37 +0000 (17:11 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Wed, 18 Apr 2012 15:11:37 +0000 (17:11 +0200)
SL/CT.pm
bin/mozilla/amcvar.pl
bin/mozilla/ct.pl
locale/de/all
templates/webpages/ct/_contact.html
templates/webpages/ct/form_header.html

index eece19e..6dbbec5 100644 (file)
--- a/SL/CT.pm
+++ b/SL/CT.pm
@@ -448,6 +448,12 @@ sub save_customer {
                               'trans_id'  => $form->{id},
                               'variables' => $form,
                               'always_valid' => 1);
+  CVar->save_custom_variables('dbh'       => $dbh,
+                              'module'    => 'Contacts',
+                              'trans_id'  => $form->{cp_id},
+                              'variables' => $form,
+                              'name_prefix'  => 'cp',
+                              'always_valid' => 1);
 
   my $rc = $dbh->commit();
 
@@ -657,6 +663,12 @@ sub save_vendor {
                               'trans_id'  => $form->{id},
                               'variables' => $form,
                               'always_valid' => 1);
+  CVar->save_custom_variables('dbh'       => $dbh,
+                              'module'    => 'Contacts',
+                              'trans_id'  => $form->{cp_id},
+                              'variables' => $form,
+                              'name_prefix'  => 'cp',
+                              'always_valid' => 1);
 
   my $rc = $dbh->commit();
 
index ea023b2..25e3ec7 100644 (file)
@@ -60,6 +60,7 @@ our %translations = ('text'      => $locale->text('Free-form text'),
 our @types = qw(text textfield number date bool select customer); # timestamp
 
 our @modules = ({ module => 'CT',       description => $locale->text('Customers and vendors')          },
+                { module => 'Contacts', description => $locale->text('Contact persons')                },
                 { module => 'IC',       description => $locale->text('Parts, services and assemblies') },
                 { module => 'Projects', description => $locale->text('Projects')                       },
                );
index 9e814e1..dbf8cdd 100644 (file)
@@ -353,9 +353,18 @@ sub form_header {
     $form->{currency} = $form->{curr};
   }
 
-  $form->{CUSTOM_VARIABLES} = CVar->get_custom_variables('module' => 'CT', 'trans_id' => $form->{id});
+  $::form->{CUSTOM_VARIABLES} = { };
+  my %specs = ( CT       => { field => 'id',    name_prefix => '',   },
+                Contacts => { field => 'cp_id', name_prefix => 'cp', },
+              );
 
-  CVar->render_inputs('variables' => $form->{CUSTOM_VARIABLES}) if (scalar @{ $form->{CUSTOM_VARIABLES} });
+  for my $module (keys %specs) {
+    my $spec = $specs{$module};
+
+    $::form->{CUSTOM_VARIABLES}->{$module} = CVar->get_custom_variables(module => $module, trans_id => $::form->{ $spec->{field} });
+    CVar->render_inputs(variables => $::form->{CUSTOM_VARIABLES}->{$module}, name_prefix => $spec->{name_prefix})
+      if scalar @{ $::form->{CUSTOM_VARIABLES}->{$module} };
+  }
 
   $form->header;
   print $form->parse_html_template('ct/form_header');
@@ -672,6 +681,10 @@ sub get_contact {
   CT->query_titles_and_greetings(\%::myconfig, $::form);
   CT->get_contact(\%::myconfig, $::form) if $::form->{cp_id};
 
+  $::form->{CUSTOM_VARIABLES}{Contacts} = CVar->get_custom_variables(module => 'Contacts', trans_id => $::form->{cp_id});
+  CVar->render_inputs(variables => $::form->{CUSTOM_VARIABLES}{Contacts}, name_prefix => 'cp')
+    if scalar @{ $::form->{CUSTOM_VARIABLES}->{Contacts} };
+
   $::form->{contacts_label} = \&_contacts_label;
 
   print $::form->ajax_response_header(), $::form->parse_html_template('ct/_contact');
index 1d1c9fd..1e9b423 100644 (file)
@@ -422,6 +422,7 @@ $self->{texts} = {
   'Contact deleted.'            => 'Ansprechpartner gelöscht.',
   'Contact is in use and was flagged invalid.' => 'Ansprechpartner ist noch in Verwendung, und wurde als ungültig markiert.',
   'Contact person (surname)'    => 'Ansprechpartner (Nachname)',
+  'Contact persons'             => 'Ansprechpartner',
   'Contacts'                    => 'Ansprechpartner',
   'Continue'                    => 'Weiter',
   'Contra'                      => 'gegen',
index 7552600..1c24fe1 100644 (file)
       <th align="left" nowrap>[% 'Bcc' | $T8 %]</th>
       <td><input name="bcc" size="40" value="[% HTML.escape(bcc) %]"></td>
      </tr>
+     [% IF CUSTOM_VARIABLES.Contacts.size %]
+     <tr>
+      <td colspan="2"><hr></td>
+     </tr>
+
+     [%- FOREACH var = CUSTOM_VARIABLES.Contacts %]
+     <tr>
+      <th align="left" valign="top" nowrap>[% HTML.escape(var.description) %]</th>
+      <td valign="top">[% var.HTML_CODE %]</td>
+     </tr>
+     [%- END %]
+     [%- END %]
+
     </table>
 
 [% IF cp_id %]
index 8f71e65..92c098d 100644 (file)
@@ -17,7 +17,7 @@
    <li><a href="#" rel="deliveries">[% 'Supplies' | $T8 %]</a></li>
 [%- END %]
    <li><a href="#" rel="vcnotes">[% 'Notes' | $T8 %]</a></li>
-   [%- IF CUSTOM_VARIABLES.size %]
+   [%- IF CUSTOM_VARIABLES.CT.size %]
    <li><a href="#" rel="custom_variables">[% 'Custom Variables' | $T8 %]</a></li>
    [%- END %]
   </ul>
     <br style="clear: left" />
    </div>
 
-   [%- IF CUSTOM_VARIABLES.size %]
+   [%- IF CUSTOM_VARIABLES.CT.size %]
    <div id="custom_variables" class="tabcontent">
 
     <p>
      <table>
-      [%- FOREACH var = CUSTOM_VARIABLES %]
+      [%- FOREACH var = CUSTOM_VARIABLES.CT %]
       <tr>
        <td align="right" valign="top">[% HTML.escape(var.description) %]</td>
        <td valign="top">[% var.HTML_CODE %]</td>