summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--LedgerSMB/DBObject/Customer.pm47
-rw-r--r--UI/Customer/customer.html194
-rw-r--r--UI/lib/ui-header.html4
-rw-r--r--scripts/customer.pl31
-rw-r--r--sql/modules/Customer.sql75
-rw-r--r--sql/modules/Location.sql31
-rw-r--r--sql/modules/Settings.sql13
-rw-r--r--sql/modules/Vendor.sql8
8 files changed, 273 insertions, 130 deletions
diff --git a/LedgerSMB/DBObject/Customer.pm b/LedgerSMB/DBObject/Customer.pm
index 09f8e3dd..9a120f91 100644
--- a/LedgerSMB/DBObject/Customer.pm
+++ b/LedgerSMB/DBObject/Customer.pm
@@ -5,39 +5,24 @@ use LedgerSMB::DBObject;
use LedgerSMB::Entity;
sub save {
-
- # this is doing way too much.
-
my $self = shift @_;
-
- my $entity;
-
- # this is a fairly effective way of telling if we need to create a new
- # entity or not.
-
- if (!$self->{entity_id}) {
-
- $entity = LedgerSMB::Entity->new(base=>$request);
- }
- else {
-
- $entity = LedgerSMB::Entity->get(id=>$self->{entity_id});
- }
-
- $entity->set(name=> $reqeust->{first_name}." ".$request->{last_name} );
- $entity->set(entity_class=>2);
- $self->set(entity_id=>$entity->{id});
- $self->set(entity_class=> 2);
-
- $entity->save();
- if (!self->{entity_id}) {
-
- $self->{entity_id} = $entity->{id};
- }
- $self->SUPER::save();
-
- return $self->{id};
+ # This saves both the entity and the credit account. -- CT
+ $self->{entity_class} = 2;
+ $self->{id} = $self->exec_method(funcname => 'entity_credit_save');
+}
+
+sub get_metadata {
+ my $self = shift @_;
+
+ @{$self->{location_class}} =
+ $self->exec_method(funcname => 'location_list_class');
+
+ @{$self->{country}} =
+ $self->exec_method(funcname => 'location_list_country');
+
+ @{$self->{contact_class}} =
+ $self->exec_method(funcname => 'entity_list_contact_class');
}
sub search {
diff --git a/UI/Customer/customer.html b/UI/Customer/customer.html
index 88020d1d..759f4d72 100644
--- a/UI/Customer/customer.html
+++ b/UI/Customer/customer.html
@@ -1,13 +1,20 @@
-<?lsmb PROCESS 'ui-header.html' ?>
+<?lsmb script_css = "Customer/customer.css" ?><?lsmb PROCESS 'ui-header.html' ?>
+<?lsmb PROCESS 'elements.html' ?>
<body>
+<div class="navigation" id="nav_div">
+</div>
+<div class="container" id="customer_div">
<div class="listtop"><strong><?lsmb text('Add/Edit Customer') ?></strong></div>
-<div class="customer">
<?lsmb IF name ?>
<font size="17"><?lsmb name?></font>
<?lsmb END ?>
-<form name="customer" method="POST" action="vendor.pl">
+<form name="customer" method="POST" action="customer.pl">
+ <input type="hidden" name="entity_id" value="<?lsmb entity_id ?>">
<label for="name"><?lsmb text('Name:') ?></label>
<input name="name" id="name" type="text" value="<?lsmb name ?>"><br/>
+ <label for="meta_number"><?lsmb text('Account Number:') ?></label>
+ <input name="meta_number" id="meta_number" type="text"
+ value="<?lsmb meta_number?>"><br/>
<table>
<?lsmb IF ordered ?>
<tr>
@@ -48,7 +55,7 @@
</tr>
<tr>
<td>
- <label for"creditlimit"><?lsmb text('Credit Limit:') ?></label>
+ <label for="creditlimit"><?lsmb text('Credit Limit:') ?></label>
<input id="creditlimit" name="creditlimit" type="text"
value="<?lsmb creditlimit ?>">
</td>
@@ -66,7 +73,7 @@
value="<?lsmb taxnumber ?>">
</td>
<td>
- <label for"gifi_accno"><?lsmb text('Subcontract GIFI:') ?>
+ <label for="gifi_accno"><?lsmb text('Subcontract GIFI:') ?>
</label>
<input id="gifi_accno" name="gifi_accno" type="text"
value="<?lsmb gifi_accno ?>">
@@ -81,34 +88,22 @@
size="3" value="<?lsmb discount_days ?>">
</td>
<td>
- <label for"sic_code"><?lsmb text('SIC Code:') ?></label>
+ <label for="sic_code"><?lsmb text('SIC Code:') ?></label>
<input id="sic_code" name="sic_code" type="text"
value="<?lsmb sic_code ?>">
</td>
</tr>
<tr>
- <td>
- <label for"bic"><?lsmb text('BIC:') ?></label>
- <input id="bic" name="bic" type="text"
- value="<?lsmb bic ?>">
- </td>
- <td>
- <label for="iban"><?lsmb text('IBAN:') ?></label>
- <input id="iban" name="iban" type="text"
- value="<?lsmb iban ?>">
- </td>
- </tr>
-
<tr>
<td>
<label for="notes"><?lsmb text('Notes:') ?></label><br/>
<textarea name="notes" rows="3" cols="40" id="notes"><?lsmb
notes
?></textarea>
- <!-- The prior funny whitespace may look funny but it prevents
- additional whitespace from being added to the data every time
- it is saved -->
+ <!-- CT: The prior funny whitespace may look funny but it
+ prevents additional whitespace from being added to the data
+ every time it is saved. -->
</td>
</tr>
</table>
@@ -156,13 +151,166 @@
<?lsmb text('Pricelist') ?></button>
</form>
</div>
-<div id="locations">
+<?lsmb #IF id ?>
+<div id="locations" class="container">
<div class="listtop"><?lsmb text('Locations') ?></div>
<!-- This entire form should probably be optionaly automated with AJAX
in oder to prevent user confusion -->
<form id="location_form" action="vendor.pl">
- <!-- todo, add location management! -->
+ <input type="hidden" name="entity_id" value="<?lsmb entity_id ?>">
+ <input type="hidden" name="location_id" value="<?lsmb location_id ?>">
+ <table width="100%">
+ <tr class="listheading">
+ <th class="type"><?lsmb text('Type') ?></th>
+ <th class="line_one"><?lsmb text('Address1') ?></th>
+ <th class="city"><?lsmb text('City') ?></th>
+ <th class="state"><?lsmb text('State/Province') ?></th>
+ <th class="mail_code"><?lsmb text('ZIP/Post Code') ?></th>
+ <th class="country"><?lsmb text('Country') ?></th>
+ <th class="actions"><?lsmb text('Actions') ?></th>
+ </tr>
+ <?lsmb FOREACH loc = locations ?>
+ <tr>
+ <td class="type"><?lsmb loc.type ?></td>
+ <td class="line_one"><?lsmb loc.line_one ?></td>
+ <td class="city"><?lsmb loc.city ?></td>
+ <td class="state"><?lsmb loc.state ?></td>
+ <td class="mail_code"><?lsmb loc.mail_code ?></td>
+ <td class="country"><?lsmb loc.country ?></td>
+ <td class="actions">
+ <!-- TODO: Automate links with AJAX -->
+ <a href="customer.pl?action=edit&entity_id=<?lsmb id
+ ?>&location_id=<?lsmb loc.id ?>">[edit]</a>
+ <a href="customer.pl?action=delete_location&entity_id=<?lsmb
+ id ?>&location_id=<?lmb loc.id ?>">[delete]</a>
+ </td>
+ </tr>
+ <?lsmb END ?>
+ </table>
+ <div>
+ <label for="loc_type"><?lsmb text('Type:') ?></label>
+ <select name='loc_type'>
+ <?lsmb FOREACH lc = location_class ?>
+ <option value="<?lsmb lc.id ?>"><?lsmb lc.class ?></option>
+ <?lsmb END ?>
+ </select>
+ </div>
+ <div>
+ <label for="line_one"><?lsmb text('Address:') ?></label>
+ <input name="line_one" id="line_one"/>
+ </div>
+ <div>
+ <input name="line_two" id="line_two"/>
+ </div>
+ <div>
+ <input name="line_three" id="line_three"/>
+ </div>
+ <div>
+ <label for="city"><?lsmb text('City:') ?></label>
+ <input name="city" id="city"/>
+ </div>
+ <div>
+ <label for="state"><?lsmb text('State/Province:') ?></label>
+ <input name="state" id="state"/>
+ </div>
+ <div>
+ <label for="mail_code"><?lsmb text('Zip/Post Code:') ?></label>
+ <input name="mail_code" id="mail_code"/>
+ </div>
+ <div>
+ <label for="country"><?lsmb text('Country:') ?></label>
+ <select name="country" id="country">
+ <?lsmb FOREACH c = country ?>
+ <option value="<?lsmb c.id ?>"><?lsmb c.name ?></option>
+ <?lsmb END ?>
+ </select>
+ </div>
+ <div><button type=submit class="submit" name=submit value="add_location"
+ id="loc_save_location">Save Location</button>
+ </div>
</form>
</div>
+<div class="container" id="contact_div">
+ <div class="listtop"><?lsmb text('Contact Information') ?></div>
+ <table width="100%">
+ <tr class="listheading">
+ <th class="contact_class"><?lsmb text('Type:') ?></th>
+ <th class="contact"><?lsmb text('Contact Info:') ?></th>
+ <th class="contact_actions"><?lsmb text('Actions:') ?></th>
+ </tr>
+ <?lsmb FOREACH ct = contacts ?>
+ <tr>
+ <td class="contact_class"><?lsmb ct.class ?></td>
+ <td class="contact"><?lsmb ct.contact ?></td>
+ <td class="contact_actions">
+ <a href="customer.pl?entity_id=<?lsmb entity_id
+ ?>&contact_id=<?lsmb ct.id
+ ?>&action=edit_contact"
+ >[<?lsmb text('Edit'); ?>]</a>&nbsp;&nbsp;
+ <a href="customer.pl?entity_id=<?lsmb entity_id
+ ?>&contact_id=<?lsmb ct.id
+ ?>&action=delete_contact"
+ >[<?lsmb text('Delete'); ?>]</a>
+ </td>
+ </tr>
+ <?lsmb END ?>
+ </table>
+ <form action="customer.pl">
+ <input type="hidden" name="entity_id" value="<?lsmb entity_id ?>">
+ <input type="hidden" name="contact_id" value="<?lsmb contact_id ?>">
+ <div><label for="contact_type"><?lsmb text('Type:') ?></label>
+ <select name="contact_class" id="contact_type">
+ <?lsmb FOREACH cc = contact_class ?>
+ <option value="<?lsmb cc.id ?>"><?lsmb cc.class ?></option>
+ <?lsmb END ?>
+ </select>
+ </div>
+ <div><label for="contact_info"><?lsmb text('Contact Info:') ?></label>
+ <input type="text" id="contact_info" name="contact"
+ value="<?lsmb contact ?>">
+ </div>
+ <div><button name="action" id="contact_action_save"
+ value="save_contact"><?lsmb text('Save Contact') ?></button>
+ </div>
+
+</div>
+<div class="container" id="bank_div">
+<div class="listtop"><?lsmb text('Bank Accounts') ?></div>
+<table width="100%">
+<tr class="listheading">
+ <th class="bic"><?lsmb text('BIC/SWIFT Code') ?></th>
+ <th class="iban"><?lsmb text('Account Number') ?></th>
+ <th class="actions"><?lsmb text('Actions>') ?></th>
+</tr>
+<?lsmb FOREACH ba = bank_account ?>
+<tr>
+ <td class="bic"><?lsmb ba.bic ?></td>
+ <td class="iban"><?lsmb ba.iban ?></td>
+ <td class="actions">
+ <a href="customer.pl?action=edit_bank_acct&entity_id=<?lsmb
+ entity_id ?>&bank_account_id=<?lsmb ba.id ?>"
+ >[Edit]</a>
+ <a href="customer.pl?action=delete_bank_acct&entity_id=<?lsmb
+ entity_id ?>&bank_account_id=<?lsmb ba.id ?>"
+ >[Delete]</a>
+ </td>
+</tr>
+<?lsmb END ?>
+</table>
+<form action="customer.pl">
+ <input type="hidden" name="entity_id" value="<?lsmb entity_id ?>">
+ <input type="hidden" name="bank_account_id"
+ value="<?lsmb bank_account_id ?>">
+ <div><label for="bic"><?lsmb text('BIC/SWIFT Code:') ?></label>
+ <input type="text" name="bic" id="bic" value="<?lsmb bic ?>">
+ </div>
+ <div><label for="iban"><?lsmb text('Bank Account:') ?></label>
+ <input type="text" name="iban" id="iban" value="<?lsmb iban ?>">
+ </div>
+ <div><button id="bank_account_save" name="action"
+ value="save_bank_account"><?lsmb text('Save') ?></button>
+ </div>
+</div>
+<?lsmb #END ?>
</body>
</html>
diff --git a/UI/lib/ui-header.html b/UI/lib/ui-header.html
index af703b32..4f8e6d3e 100644
--- a/UI/lib/ui-header.html
+++ b/UI/lib/ui-header.html
@@ -11,8 +11,8 @@
<?lsmb ELSE ?>
<link rel="stylesheet" href="css/<?lsmb stylesheet ?>" type="text/css" title="LedgerSMB stylesheet" />
<?lsmb END ?>
- <?lsmb IF script ?>
- <link rel="stylesheet" href="css/<?lsmb script ?>.css" type="text/css" title="LedgerSMB stylesheet" />
+ <?lsmb IF script_css ?>
+ <link rel="stylesheet" href="UI/<?lsmb script_css ?>" type="text/css" title="LedgerSMB stylesheet" />
<?lsmb END ?>
diff --git a/scripts/customer.pl b/scripts/customer.pl
index 76fa8a56..988538a8 100644
--- a/scripts/customer.pl
+++ b/scripts/customer.pl
@@ -72,6 +72,9 @@ sub add {
my ($request) = @_;
my $customer = LedgerSMB::DBObject::Customer->new(base => $request, copy => 'all');
$customer->set(entity_class=>2);
+
+ $customer->get_metadata();
+
my $template = LedgerSMB::Template->new(
user => $user,
template => 'customer',
@@ -79,7 +82,7 @@ sub add {
locale => $request->{_locale},
format => 'HTML');
$request->{script} = 'Customer/customer';
- $template->render($request);
+ $template->render($customer);
}
=pod
@@ -145,26 +148,16 @@ customer as needed, and will generate a new Company ID for the customer if neede
sub save {
my ($request) = @_;
-
- if ($request->type() == 'POST') {
-
- my $customer = LedgerSMB::DBObject::Customer->get(base=>$request, copy=>'all');
-
- unless ($customer) {
-
- $customer = LedgerSMB::DBObject::Customer->new(base=>$reqest, copy=>'all');
- }
-
- my $result = $customer->save();
- my $template = LedgerSMB::Template->new( user => $user,
- template => 'Customer/customer', language => $user->{language},
+ my $customer = LedgerSMB::DBObject::Customer->new({base => $request});
+
+ my $result = $customer->save();
+
+ my $template = LedgerSMB::Template->new( user => $request->{_user},
+ template => 'customer', locale => $request->{_locale},
+ path => 'UI/Customer',
format => 'HTML');
- $template->render($result);
- }
- else {
-
- }
+ $template->render($customer);
}
1;
diff --git a/sql/modules/Customer.sql b/sql/modules/Customer.sql
index 89867ded..6071bc4a 100644
--- a/sql/modules/Customer.sql
+++ b/sql/modules/Customer.sql
@@ -1,5 +1,17 @@
BEGIN;
+CREATE OR REPLACE FUNCTION entity_list_contact_class()
+RETURNS SETOF contact_class AS
+$$
+DECLARE out_row RECORD;
+BEGIN
+ FOR out_row IN
+ SELECT * FROM contact_class ORDER BY id
+ LOOP
+ RETURN NEXT out_row;
+ END LOOP;
+END;
+$$ language plpgsql;
CREATE TYPE customer_search_return AS (
legal_name text,
@@ -28,25 +40,23 @@ CREATE TYPE customer_search_return AS (
-- $$ This structure will change greatly in 1.4.
-- If you want to reply on it heavily, be prepared for breakage later. $$;
-CREATE OR REPLACE FUNCTION customer_save (
- in_id int,
+CREATE OR REPLACE FUNCTION entity_credit_save (
+ in_id int, in_entity_class int,
in_discount numeric, in_taxincluded bool, in_creditlimit numeric,
in_discount_terms int,
- in_terms int, in_meta_number varchar(32), in_cc text, in_bcc text,
- in_business_id int, in_language varchar(6), in_pricegroup_id int,
+ in_terms int, in_meta_number varchar(32), in_business_id int,
+ in_language varchar(6), in_pricegroup_id int,
in_curr char, in_startdate date, in_enddate date,
-
- in_bic text, in_iban text,
-
in_notes text,
-
in_name text, in_tax_id TEXT,
in_threshold NUMERIC
) returns INT as $$
-- does not require entity_class, as entity_class is a known given to be 1
+
+ -- Maybe we should make this generic and pass through? -- CT
DECLARE
t_entity_class int;
@@ -55,20 +65,19 @@ CREATE OR REPLACE FUNCTION customer_save (
l_id int;
BEGIN
- t_entity_class := 1;
SELECT INTO v_row * FROM company WHERE id = in_id;
IF NOT FOUND THEN
-- do some inserts
- new_entity_id := nextval('entity_id_seq');
+ select nextval('entity_id_seq') into new_entity_id;
insert into entity (id, name, entity_class)
- VALUES (new_entity_id, in_name, t_entity_class);
+ VALUES (new_entity_id, in_name, in_entity_class);
- INSERT INTO company ( id, entity_id, legal_name, tax_id )
- VALUES ( in_id, new_entity_id, in_name, in_tax_id );
+ INSERT INTO company ( entity_id, legal_name, tax_id )
+ VALUES ( new_entity_id, in_name, in_tax_id );
INSERT INTO entity_credit_account (
entity_id,
@@ -78,27 +87,23 @@ CREATE OR REPLACE FUNCTION customer_save (
creditlimit,
terms,
meta_number,
- cc,
- bcc,
business_id,
language_code,
pricegroup_id,
curr,
startdate,
enddate,
- discountterms,
+ discount_terms,
threshold
)
VALUES (
new_entity_id,
- t_entity_class,
+ in_entity_class,
in_discount,
in_taxincluded,
in_creditlimit,
in_terms,
in_meta_number,
- in_cc,
- in_bcc,
in_business_id,
in_language,
in_pricegroup_id,
@@ -106,22 +111,13 @@ CREATE OR REPLACE FUNCTION customer_save (
in_startdate,
in_enddate,
in_discount_terms,
- in_threashold
+ in_threshold
);
- INSERT INTO entity_bank_account (
- entity_id,
- bic,
- iban
- )
- VALUES (
- new_entity_id,
- in_bic,
- in_iban
- );
-- entity note class
insert into entity_note (note_class, note, ref_key, vector) VALUES (
1, in_notes, new_entity_id, '');
-
+ return new_entity_id;
+
ELSIF FOUND THEN
update company set tax_id = in_tax_id where id = in_id;
@@ -131,8 +127,6 @@ CREATE OR REPLACE FUNCTION customer_save (
creditlimit = in_creditlimit,
terms = in_terms,
meta_number = in_meta_number,
- cc = in_cc,
- bcc = in_bcc,
business_id = in_business_id,
language_code = in_language,
pricegroup_id = in_pricegroup_id,
@@ -143,17 +137,13 @@ CREATE OR REPLACE FUNCTION customer_save (
discount_terms = in_discount_terms
where entity_id = v_row.entity_id;
- UPDATE entity_bank_account SET
- bic = in_bic,
- iban = in_iban
- WHERE entity_id = v_row.entity_id;
UPDATE entity_note SET
note = in_note
WHERE ref_key = v_row.entity_id;
+ return in_id;
END IF;
- return in_id;
END;
$$ language 'plpgsql';
@@ -161,15 +151,14 @@ $$ language 'plpgsql';
CREATE OR REPLACE FUNCTION customer_location_save (
in_company_id int,
in_location_class int, in_line_one text, in_line_two text,
- in_city_province TEXT, in_mail_code text, in_country_code int,
- in_created date
+ in_line_three text,
+ in_city TEXT, in_state text, in_mail_code text, in_country_code int
) returns int AS $$
BEGIN
return _entity_location_save(
in_company_id,
- in_location_class, in_line_one, in_line_two,
- in_city_province , in_mail_code, in_country_code,
- in_created);
+ in_location_class, in_line_one, in_line_two, in_line_three,
+ in_city, in_state, in_mail_code, in_country_code);
END;
$$ language 'plpgsql';
diff --git a/sql/modules/Location.sql b/sql/modules/Location.sql
index d4f8f9f5..51fb1d02 100644
--- a/sql/modules/Location.sql
+++ b/sql/modules/Location.sql
@@ -1,4 +1,31 @@
-- VERSION 1.3.0
+
+CREATE OR REPLACE FUNCTION location_list_class()
+RETURNS SETOF location_class AS
+$$
+DECLARE out_row RECORD;
+BEGIN
+ FOR out_row IN
+ SELECT * FROM location_class ORDER BY id
+ LOOP
+ RETURN NEXT out_row;
+ END LOOP;
+END;
+$$ language plpgsql;
+
+CREATE OR REPLACE FUNCTION location_list_country()
+RETURNS SETOF country AS
+$$
+DECLARE out_row RECORD;
+BEGIN
+ FOR out_row IN
+ SELECT * FROM country ORDER BY id
+ LOOP
+ RETURN NEXT out_row;
+ END LOOP;
+END;
+$$ language plpgsql;
+
CREATE OR REPLACE FUNCTION location_save
(in_address1 text, in_address2 text, in_address3 text,
in_city text, in_state text, in_zipcode text, in_country text)
@@ -16,13 +43,13 @@ BEGIN
city = in_city AND
state = in_state AND
zipcode = in_zipcode AND
- country = in_country
+ country_id = in_country
LIMIT 1;
IF FOUND THEN
return location_row.id;
END IF;
INSERT INTO location
- (companyname, address1, address2, city, state, zipcode, country)
+ (companyname, address1, address2, city, state, zipcode, country_id)
VALUES
(in_companyname, in_address1, in_address2, in_city, in_state,
in_zipcode, in_country);
diff --git a/sql/modules/Settings.sql b/sql/modules/Settings.sql
index e86450c3..5b8d2b28 100644
--- a/sql/modules/Settings.sql
+++ b/sql/modules/Settings.sql
@@ -7,6 +7,7 @@ BEGIN
UPDATE defaults SET value = in_value WHERE setting_key = in_key;
RETURN;
END;
+$$ language plpgsql;
CREATE OR REPLACE FUNCTION setting_get (in_key varchar) RETURNS varchar AS
$$
@@ -23,7 +24,7 @@ RETURNS SETOF defaults AS
$$
DECLARE
account defaults%ROWTYPE;
-BEGIN;
+BEGIN
FOR account IN
SELECT * FROM defaults
WHERE setting_key like '%accno_id'
@@ -33,13 +34,13 @@ BEGIN;
END;
$$ LANGUAGE plpgsql;
-CREATE OR REPLACE FUNCTION setting_incriment (in_key varchar) returns varchar
+CREATE OR REPLACE FUNCTION setting_increment (in_key varchar) returns varchar
AS
$$
DECLARE
base_value VARCHAR;
raw_value VARCHAR;
- incriment INTEGER;
+ increment INTEGER;
inc_length INTEGER;
new_value VARCHAR;
BEGIN
@@ -51,10 +52,10 @@ BEGIN
INTO base_value;
IF base_value like '0%' THEN
- incriment := base_value::integer + 1;
- SELECT char_length(incriment::text) INTO inc_length;
+ increment := base_value::integer + 1;
+ SELECT char_length(increment::text) INTO inc_length;
- SELECT overlay(base_value placing incriment::varchar
+ SELECT overlay(base_value placing increment::varchar
from (select char_length(base_value)
- inc_length + 1) for inc_length)
INTO new_value;
diff --git a/sql/modules/Vendor.sql b/sql/modules/Vendor.sql
index e18f88a5..d2f6c3c3 100644
--- a/sql/modules/Vendor.sql
+++ b/sql/modules/Vendor.sql
@@ -171,9 +171,9 @@ $$ language 'plpgsql';
create or replace function _entity_location_save(
in_company_id int, in_location_id int,
- in_location_class int, in_line_one text, in_line_two text,
- in_city TEXT, in_state TEXT, in_mail_code text, in_country_code int,
- in_created date
+ in_location_class int, in_line_one text, in_line_two text,
+ in_line_three text, in_city TEXT, in_state TEXT, in_mail_code text,
+ in_country_code int
) returns int AS $$
DECLARE
@@ -185,7 +185,7 @@ create or replace function _entity_location_save(
AND location_class = in_location_class
AND location_id = in_location_id;
- SELECT location_save(in_line_one, in_line_two, NULL, in_city,
+ SELECT location_save(in_line_one, in_line_two, in_line_three, in_city,
in_state, in_mail_code, in_mail_code, in_country_code)
INTO l_id;