Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HTML::FormHandler::ModUserCContributed Perl DHTML::FormHandler::Model::CDBI(3)

NAME
       HTML::FormHandler::Model::CDBI -	Class::DBI model class
       (non-functioning)

VERSION
       version 0.40068

SYNOPSIS
	   package MyApplication::Form::User;
	   use strict;
	   use base 'HTML::FormHandler::Model::CDBI';

	   # Associate this form with a	CDBI class
	   has '+item_class' =>	( default => 'MyDB::User' );

	   # Define the	fields that this form will operate on
	   sub field_list {
	       return {
		   [
		       name	   => 'Text',
		       age	   => 'PosInteger',
		       sex	   => 'Select',
		       birthdate   => 'DateTimeDMYHM',
		   ]
	       };
	   }

DESCRIPTION
       A Class::DBI database model for HTML::FormHandler

       I don't use CDBI, so this module	almost certainly doesn't work.	It is
       only being left here as a starting point	in case	somebody is interested
       in getting it to	work.

       Patches and tests gratefully accepted.

METHODS
   item_class
       The name	of your	database class.

   init_item
       This is called first time $form->item is	called.	 It does the
       equivalent of:

	   return $self->item_class->retrieve( $self->item_id );

   guess_field_type
       Pass in a column	and assigns field types.  Must set $self->item_class
       to return the related item class.  Returns the type in scalar context,
       returns the type	and maybe the related table in list context.

       Currently returns:

	   DateTime	   - for a has_a relationship that isa DateTime
	   Select	   - for a has_a relationship
	   Multiple	   - for a has_many
	   DateTime	   - if	the field ends in _time
	   Text		   - otherwise

   lookup_options
       Returns a array reference of key/value pairs for	the column passed in.
       Calls $field->label_column to get the column name to use	as the label.
       The default is "name".  The labels are sorted by	Perl's cmp sort.

       If there	is an "active" column then only	active are included, with the
       exception being if the form (item) has currently	selected the inactive
       item.  This allows existing records that	reference inactive items to
       still have those	as valid select	options.  The inactive labels are
       formatted with brackets to indicate in the select list that they	are
       inactive.

       The active column name is determined by calling:

	   $active_col = $form->can( 'active_column' )
	       ? $form->active_column
	       : $field->active_column;

       Which allows setting the	name of	the active column globally if your
       tables are consistently named (all lookup tables	have the same column
       name to indicate	they are active), or on	a per-field basis.

       In addition, if the foreign class is the	same as	the item's class (or
       the class returned by item_class) then options pointing to item are
       excluded.  The reason for this is for a table column that points	to the
       same table (self	referenced), such as a "parent"	column.	 The
       assumption is that a record cannot be its own parent.

   init_value
       Populate	$field->value with object ids from the CDBI object.  If	the
       column expands to more than one object then an array ref	is set.

   validate_model
       Validates fields	that are dependent on the model.  Currently, "unique"
       fields are checked  to make sure	they are unique.

       This validation happens after other form	validation.  The form already
       has any field values entered in $field->value at	this point.

   validate_unique
       Checks that the value for the field is not currently in the database.

   items_same
       Returns true if the two passed in cdbi objects are the same object.  If
       both are	undefined returns true.

   obj_key
       returns a key for a given object, or undef if the object	is undefined.

AUTHOR
       FormHandler Contributors	- see HTML::FormHandler

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2017 by Gerda Shank.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0			  2017-07-20 HTML::FormHandler::Model::CDBI(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=HTML::FormHandler::Model::CDBI&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help