#!/usr/bin/perl
#

use strict;

use Getopt::Std;

my $fixer = Fixer->new();
$fixer->start();

package Fixer;
use lib '/app/tools/common/lib';
use lib '/app/tools/bookpub/lib';
use Common::RSApp;
use Common::Script;
use Common::Client;
use Common::Util;
use BookPub::DB::Item::Contributor;
use Data::Dumper;

use base 'Common::Script';

sub _get_options {
    my ($self) = @_;

    my $options = $self->SUPER::_get_options();

    $options->{client_id}{required} = 1;
    return $options;
}

sub _process {
    my ($self) = @_;

    print "CLIENT: " . Common::RSApp::GetClientID() . "\n";

    my $allContributors = BookPub::DB::Item::Contributor->GetAll();
    while ( my $contributor = $allContributors->next() ) {
        my $lastName  = Common::Util::trimspaces( $contributor->last_name() );
        my $firstName = Common::Util::trimspaces( $contributor->first_name() );
        my $name      = $firstName ? join( ', ', $lastName, $firstName ) : $lastName;
        $contributor->last_name($lastName);
        $contributor->first_name($firstName);
        $contributor->name_inverted($name);
        $contributor->save();
    }

}

sub _isValidClientType {
    my ($self) = @_;

    # limit to bookpub clients

    return Common::Client::Current()->isClientType(Common::Client::kBookPublishing);
}

1;
