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 )