App-Office-Contacts
view release on metacpan or search on metacpan
lib/App/Office/Contacts/Database/PhoneNumber.pm view on Meta::CPAN
my($self, $context, $organization, $count) = @_;
$self -> db -> logger -> log(debug => "Database::PhoneNumber.save_phone_number_for_organization($context, ...)");
my($table_name) = 'phone_numbers';
my($phone) = {};
$$phone{number} = $$organization{"phone_number_$count"};
$$phone{phone_number_type_id} = $$organization{"phone_number_type_id_$count"};
$$phone{upper_number} = uc $$phone{number};
my($id) = $self -> get_phone_number_id_via_number($$phone{number});
if ($id == 0)
{
$id = $self -> db -> library -> insert_hashref_get_id($table_name, $phone);
}
$table_name = 'phone_organizations';
$phone = {};
$$phone{organization_id} = $$organization{id};
$$phone{phone_number_id} = $id;
$self -> db -> simple -> insert($table_name, $phone)
|| die $self -> db -> simple -> error;
} # End of save_phone_number_for_organization.
# --------------------------------------------------
sub save_phone_number_for_person
{
my($self, $context, $person, $count) = @_;
$self -> db -> logger -> log(debug => "Database::PhoneNumber.save_phone_number_for_person($context, $$person{name}, $count)");
my($table_name) = 'phone_numbers';
my($phone) = {};
$$phone{number} = $$person{"phone_number_$count"};
$$phone{phone_number_type_id} = $$person{"phone_number_type_id_$count"};
$$phone{upper_number} = uc $$phone{number};
my($id) = $self -> get_phone_number_id_via_number($$phone{number});
$self -> db -> logger -> log(debug => "Saving phone_number: $$phone{number}");
if ($id == 0)
{
$id = $self -> db -> library -> insert_hashref_get_id($table_name, $phone);
}
$table_name = 'phone_people';
$phone = {};
$$phone{person_id} = $$person{id};
$$phone{phone_number_id} = $id;
$self -> db -> simple -> insert($table_name, $phone)
|| die $self -> db -> simple -> error;
} # End of save_phone_number_for_person.
# -----------------------------------------------
sub update_phone_number_type
{
my($self, $creator_id, $number) = @_;
$self -> db -> logger -> log(debug => "Database::PhoneNumber.update_phone_number_type($creator_id, ...)");
my($table_name) = 'phone_numbers';
$self -> db -> simple -> update($table_name, {phone_number_type_id => $$number{type_id} }, {id => $$number{number_id} })
|| die $self -> db -> simple -> error;
} # End of update_phone_number_type.
# --------------------------------------------------
1;
=head1 NAME
App::Office::Contacts::Database::PhoneNumber - A web-based contacts manager
=head1 Synopsis
See L<App::Office::Contacts/Synopsis>.
=head1 Description
L<App::Office::Contacts> implements a utf8-aware, web-based, private and group contacts manager.
=head1 Distributions
See L<App::Office::Contacts/Distributions>.
=head1 Installation
See L<App::Office::Contacts/Installation>.
=head1 Object attributes
This module extends L<App::Office::Contacts::Database::Base>, with these attributes:
=over 4
=item o (None)
=back
=head1 Methods
=head2 delete_phone_number_organization($creator_id, $id)
Deletes the database entry linking a phone number to an organization.
=head2 delete_phone_number_person($creator_id, $id)
Deletes the database entry linking a phone number to an person.
=head2 get_organizations_and_people($user_id, $uc_key)
Returns a list of 2 arrayrefs.
( run in 0.559 second using v1.01-cache-2.11-cpan-99c4e6809bf )