Solstice::SystemMessageFactory - Creates groups of SystemMessages


Solstice documentation Contained in the Solstice distribution.

Index


Code Index:

NAME

Top

Solstice::SystemMessageFactory - Creates groups of SystemMessages

SYNOPSIS

Top

  use Solstice::SystemMessageFactory;

  my $model = Solstice::SystemMessageFactory->new();

DESCRIPTION

Top

Welp, it busts em out =cut

Export

None by default.

Methods

new()

Constructor.

AUTHOR

Top

Catalyst Group, <catalyst@u.washington.edu>

VERSION

Top

$Revision: 110 $

COPYRIGHT

Top


Solstice documentation Contained in the Solstice distribution.
package Solstice::SystemMessageFactory;

# $Id: generated_model.tmpl 110 2005-09-02 16:28:22Z mcrawfor $

use 5.006_000;
use strict;
use warnings;

use base qw(Solstice::Model);

use Solstice::Database;
use Solstice::Configure;
use Solstice::SystemMessage;

our ($VERSION) = ('$Revision: 110 $' =~ /^\$Revision:\s*([\d.]*)/);

sub new {
    my $obj = shift;
    
    my $self = $obj->SUPER::new(@_);
    
    return $self;
}


sub getAllMessagesHash {
    my $self = shift;
    
    my $config = Solstice::Configure->new();
    my $db_name = $config->getDBName();
    return $self->_returnFromSQL('SELECT system_message_id, show_on_all_tools, start_date, end_date, message FROM '.$db_name.'.SystemMessage');
}


sub getCurrentMessageHash {
    my $self = shift;

    my $config = Solstice::Configure->new();
    my $db_name = $config->getDBName();
    return $self->_returnFromSQL('SELECT system_message_id, show_on_all_tools, start_date, end_date, message
        FROM '.$db_name.'.SystemMessage 
        WHERE start_date < NOW() AND end_date > NOW()');
}


sub getAllAppMessageHash {
    my $self = shift;

    my $config = Solstice::Configure->new();
    my $db_name = $config->getDBName();
    return $self->_returnFromSQL('SELECT system_message_id, show_on_all_tools, start_date, end_date, message 
        FROM '.$db_name.'.SystemMessage
        WHERE show_on_all_apps = 1 AND start_date < NOW() AND end_date > NOW()');
}



sub _returnFromSQL {
    my $self = shift;
    my $sql  = shift;

    my $db = Solstice::Database->new();
    $db->readQuery($sql);

    my %return_hash;
    while (my $data = $db->fetchRow()) {
        my $sys_mess = Solstice::SystemMessage->new();
        $sys_mess->_setID($data->{'system_message_id'});
        $sys_mess->setShowOnAllTools($data->{'show_on_all_tools'});
        $sys_mess->setStartDate(Solstice::DateTime->new($data->{'start_date'}));
        $sys_mess->setEndDate(Solstice::DateTime->new($data->{'end_date'}));
        $sys_mess->setMessage($data->{'message'});

        $return_hash{$data->{'system_message_id'}} = $sys_mess;
    }

    return \%return_hash;
}

1;

__END__