ClearPress

 view release on metacpan or  search on metacpan

lib/ClearPress/view.pm  view on Meta::CPAN

	 !scalar keys %{$params->{$k}}) {
	delete $params->{$k};
      }
    }
  }

  for my $field (@fields) {
    if(!exists $params->{$field}) {
      next;
    }
    my $v = $params->{$field};

    #########
    # $v here will always be defined
    # but may be false, e.g. $v=q[] or $v=q[0]
    #
    if($self->autoescape) {
      $v = $cgi->escapeHTML($v);
    }

    $model->$field($v);
  }

  return 1;
}

sub add {
  my $self = shift;
  return $self->_populate_from_cgi;
}

sub edit {
  my $self = shift;
  return $self->_populate_from_cgi;
}

sub options {
  #########
  # streamed response
  #
  return q[];
}

sub list {
  return 1;
}

sub read { ## no critic (homonym)
  return 1;
}

sub delete { ## no critic (homonym)
  my $self  = shift;
  my $model = $self->model;

  $model->delete or croak qq[Failed to delete entity: $EVAL_ERROR];

  return 1;
}

sub update {
  my $self  = shift;
  my $model = $self->model;

  #########
  # Populate model object with parameters posted into CGI
  # by default (in controller.pm) model will only have util & its primary_key.
  #
  $self->_populate_from_cgi;

  $model->update or croak qq[Failed to update entity: $EVAL_ERROR];
  return 1;
}

sub create {
  my $self  = shift;
  my $model = $self->model;

  #########
  # Populate model object with parameters posted into CGI
  # by default (in controller.pm) model will only have util & its primary_key.
  #
  $self->_populate_from_cgi;

  $model->create or croak qq[Failed to create entity: $EVAL_ERROR];

  return 1;
}

sub add_tt_filter {
  my ($self, $name, $code) = @_;

  if(!$name || !$code) {
    return;
  }

  $self->tt_filters->{$name} = $code;

  return 1;
}

sub tt_filters {
  my $self = shift;

  if(!$self->{tt_filters}) {
    $self->{tt_filters} = {};
  }

  return $self->{tt_filters};
}

sub tt_opts {
  return {};
}

sub tt {
  my ($self, $tt) = @_;
  my $util = $self->util;

  if($tt) {
    $util->{tt} = $tt;



( run in 0.815 second using v1.01-cache-2.11-cpan-5a3173703d6 )