Bivio::Biz::Model::UnapprovedApplicantForm
# Copyright (c) 2008 bivio Software, Inc. All Rights Reserved.
# $Id$
package Bivio::Biz::Model::UnapprovedApplicantForm;
use strict;
use Bivio::Base 'Model.GroupUserForm';
my($_T) = b_use('FacadeComponent.Text');
my($_V) = b_use('UI.View');
my($_R) = b_use('Auth.Role');
sub USER_LIST_CLASS {
return 'UnapprovedApplicantList';
}
sub execute_ok {
my($self) = @_;
$self->internal_send_mail;
return shift->SUPER::execute_ok(@_);
}
sub internal_initialize {
my($self) = @_;
return $self->merge_initialize_info($self->SUPER::internal_initialize, {
version => 1,
$self->field_decl(
visible => [
[qw(user_button OKButton)],
],
other => [
qw(mail_body mail_subject),
], 'LongText',
),
});
}
sub internal_pre_execute {
my($self) = @_;
foreach my $f (@{$self->internal_aux_fields}) {
$self->internal_put_field($f => 0);
}
return shift->SUPER::internal_pre_execute(@_);
}
sub internal_send_mail {
my($self) = @_;
my($role) = $self->get('RealmUser.role')->get_name;
foreach my $f (qw(mail_body mail_subject)) {
my($v);
foreach my $r ($role, 'default') {
last if $v = ($_T->get_from_source($self->req)
->unsafe_get_value('UnapprovedApplicantForm', $f, $r))[0];
}
return
unless $v;
$self->internal_put_field($f => $v);
}
$_V->execute('SiteAdmin->unapproved_applicant_form_mail', $self->req);
return;
}
sub internal_select_roles {
return ['UNAPPROVED_APPLICANT', @{shift->SUPER::internal_select_roles(@_)}];
}
1;