noalyss  Version-6.7.2
Public Member Functions | Static Public Member Functions | Private Attributes | Static Private Attributes
Acc_Payment Class Reference

Handle the table mod_payment. More...

Public Member Functions

 __construct ($p_cn, $p_init=0)
 blank ()
 return an html with a form to add a new middle of payment
 delete ()
 remove a middle of payment
 form ()
 return a string with a form (into a table)
 from_array ($p_array)
 convert an array into an Acc_Payment object
 get_all ()
 retrieve all the data for all ledgers
 get_info ()
 get_parameter ($p_string)
 get_valide ()
 retrieve all the data for a ledger but filter on the valid record (jrn and fd not null
 insert ()
 load ()
 save ()
 select ()
 show several lines with radio button to select the payment method we want to use, the $_POST['e_mp'] will be set
 set_parameter ($p_string, $p_value)
 update ()
 verify ()

Static Public Member Functions

static test_me ()
 test function

Private Attributes

 $jrn_def_id
 $mp_fd_id
 $mp_jrn_def_if
 $mp_lib
 $mp_qcode

Static Private Attributes

static $variable

Detailed Description

Handle the table mod_payment.

Note:
the private data member are accessed via
  • mp_id ==> id ( Primary key )
  • mp_lib ==> lib (label)
  • mp_jrn_def_id ==> ledger (Number of the ledger where to save)
  • mp_fd_id ==> fiche_def (fiche class to use)
  • mp_qcode ==> qcode (quick_code of the card)

Definition at line 41 of file class_acc_payment.php.


Constructor & Destructor Documentation

Acc_Payment::__construct ( p_cn,
p_init = 0 
)

Definition at line 58 of file class_acc_payment.php.

References cn.

    {
        $this->cn=$p_cn;
        $this->mp_id=$p_init;
    }

Member Function Documentation

return an html with a form to add a new middle of payment

Definition at line 361 of file class_acc_payment.php.

References $lib, $list, $msg, $qcode, $r, and cn.

    {
        //label
        $lib=new IText('mp_lib');
        $f_lib=$lib->input();

        $ledger_source=new ISelect('jrn_def_id');
        $ledger_source->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from
                              jrn_def where jrn_def_type  in ('ACH','VEN') order by jrn_def_name");
        $f_source=$ledger_source->input();

        // type of card
        $tcard=new ISelect('mp_fd_id');
        $tcard->value=$this->cn->make_array('select fd_id,fd_label from fiche_def join fiche_def_ref '.
                                            ' using (frd_id) where frd_id in (25,4) order by fd_label');
        $f_type_fiche=$tcard->input();
        $ledger_record=new ISelect('mp_jrn_def_id');
        $ledger_record->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from
                              jrn_def where jrn_def_type  in ('ODS','FIN')");
        $f_ledger_record=$ledger_record->input();

        // the card
        $qcode=new ICard();
        $qcode->noadd=true;
        $qcode->name='mp_qcode';
        $list=$this->cn->make_list('select fd_id from fiche_def where frd_id in (25,4)');
        $qcode->typecard=$list;
                $qcode->dblclick='fill_ipopcard(this);';

        $f_qcode=$qcode->input();
                $msg="Ajout d'un nouveau moyen de paiement";
        ob_start();
        require_once('template/new_mod_payment.php');
        $r=ob_get_contents();
        ob_end_clean();
        return $r;
    }

remove a middle of payment

Definition at line 177 of file class_acc_payment.php.

References $sql, and cn.

    {
        $sql="delete from mod_payment where mp_id=$1";
        $this->cn->exec_sql($sql,array($this->mp_id));
    }

return a string with a form (into a table)

Parameters:
none
Returns:
a html string

Definition at line 231 of file class_acc_payment.php.

References $lib, $list, $msg, $qcode, $r, and cn.

    {
        //label
        $lib=new IText('mp_lib');
        $lib->value=$this->mp_lib;
                $f_lib=$lib->input();


        $ledger_source=new ISelect('jrn_def_id');
        $ledger_source->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from
                              jrn_def where jrn_def_type  in ('ACH','VEN') order by jrn_def_name");
                $ledger_source->selected=$this->jrn_def_id;
        $f_source=$ledger_source->input();

        // type of card
        $tcard=new ISelect('mp_fd_id');
        $tcard->value=$this->cn->make_array('select fd_id,fd_label from fiche_def join fiche_def_ref '.
                                            ' using (frd_id) where frd_id in (25,4) order by fd_label');
                $tcard->selected=$this->mp_fd_id;

        $f_type_fiche=$tcard->input();
        $ledger_record=new ISelect('mp_jrn_def_id');
        $ledger_record->value=$this->cn->make_array("select jrn_def_id,jrn_Def_name from
                              jrn_def where jrn_def_type  in ('ODS','FIN')");
                $ledger_record->selected=$this->mp_jrn_def_id;
        $f_ledger_record=$ledger_record->input();

        // the card
        $qcode=new ICard();
        $qcode->noadd=true;
        $qcode->name='mp_qcode';
        $list=$this->cn->make_list('select fd_id from fiche_def where frd_id in (25,4)');
        $qcode->typecard=$list;
                $qcode->dblclick='fill_ipopcard(this);';
                $qcode->value=$this->mp_qcode;

        $f_qcode=$qcode->input();

                $msg="Modification de ".$this->mp_lib;
        ob_start();
        require_once('template/new_mod_payment.php');
        $r=ob_get_contents();
        ob_end_clean();
        return $r;

    }
Acc_Payment::from_array ( p_array)

convert an array into an Acc_Payment object

Parameters:
arrayto convert

Definition at line 352 of file class_acc_payment.php.

References $idx, $l, and $p_array.

    {
        $idx=array('mp_id','mp_lib','mp_fd_id','mp_jrn_def_id','mp_qcode','jrn_def_id');
        foreach ($idx as $l)
        if (isset($p_array[$l])) $this->$l=$p_array[$l];
    }

retrieve all the data for all ledgers

Parameters:
non
Returns:
an array of row

Definition at line 186 of file class_acc_payment.php.

References $array, $ret, $row, $sql, and cn.

    {
        $sql='select mp_id,mp_lib '.
             ' from mod_payment order by mp_lib';
        $array=$this->cn->get_array($sql);
        $ret=array();
        if ( !empty($array) )
        {
            foreach ($array as $row)
            {
                $t=new Acc_Payment($this->cn,$row['mp_id']);
                $t->load();
                $ret[]=$t;
            }
        }
        return $ret;
    }

Definition at line 88 of file class_acc_payment.php.

    {
        return var_export(self::$variable,true);
    }
Acc_Payment::get_parameter ( p_string)

Definition at line 63 of file class_acc_payment.php.

References $idx, and exit.

Referenced by save().

    {
        if ( array_key_exists($p_string,self::$variable) )
        {
            $idx=self::$variable[$p_string];
            return $this->$idx;
        }
        else
                {
                        throw new Exception("Attribut inexistant $p_string");
            exit (__FILE__.":".__LINE__.'Erreur attribut inexistant');
                }
    }

retrieve all the data for a ledger but filter on the valid record (jrn and fd not null

Parameters:
non
Returns:
an array of row

Definition at line 208 of file class_acc_payment.php.

References $array, $ret, $row, $sql, and cn.

Referenced by select().

    {
        $sql='select mp_id '.
             ' from mod_payment '.
             ' where jrn_def_id=$1 and mp_jrn_def_id is not null and '.
             ' (mp_fd_id is not null or mp_qcode is not null)';
        $array=$this->cn->get_array($sql,array($this->jrn_def_id));
        $ret=array();
        if ( !empty($array) )
        {
            foreach ($array as $row)
            {
                $t=new Acc_Payment($this->cn,$row['mp_id']);
                $t->load();
                $ret[]=$t;
            }
        }
        return $ret;
    }

Definition at line 105 of file class_acc_payment.php.

References $sql, cn, and verify().

Referenced by save().

    {
        if ( $this->verify() != 0 ) return;
        $sql='INSERT INTO mod_payment(
             mp_lib, mp_jrn_def_id, mp_fd_id, mp_qcode,jrn_def_id)
             VALUES ($1, $2, $3, upper($4),$5) returning mp_id';
        $this->mp_id=$this->cn->exec_sql($sql,array(
                                             $this->mp_lib,
                                             $this->mp_jrn_def_id,
                                             $this->mp_fd_id,
                                             $this->mp_qcode,
                                             $this->jrn_def_id));
    }

Definition at line 157 of file class_acc_payment.php.

References $idx, $res, $row, $sql, $value, cn, Database\fetch_array(), and Database\num_row().

    {
        $sql='select mp_id,mp_lib,mp_fd_id,mp_jrn_def_id,mp_qcode,jrn_def_id from mod_payment '.
             ' where mp_id = $1';
        $res=$this->cn->exec_sql(
                 $sql,
                 array($this->mp_id)
             );

        if ( Database::num_row($res) == 0 ) return;
        $row=Database::fetch_array($res,0);
        foreach ($row as $idx=>$value)
        {
            $this->$idx=$value;
        }

    }

Definition at line 96 of file class_acc_payment.php.

References get_parameter(), insert(), and update().

    {
        /* please adapt */
        if (  $this->get_parameter("id") == 0 )
            $this->insert();
        else
            $this->update();
    }

show several lines with radio button to select the payment method we want to use, the $_POST['e_mp'] will be set

Parameters:
none
Returns:
html string

Definition at line 282 of file class_acc_payment.php.

References $a, $array, $f, $fiche, $r, $row, $s, cn, get_valide(), HtmlInput\hidden(), and id.

    {
        $r='';
        $array=$this->get_valide();
        $r.=HtmlInput::hidden('gDossier',dossier::id());

        if ( empty($array)==false ) {
            $acompte=new INum('acompte');
            $acompte->value=0;
            $r.=_(" Acompte à déduire");
            $r.=$acompte->input();
                        $r.='<p>';
                        $e_comm_paiement=new IText('e_comm_paiement');
                        $e_comm_paiement->table = 0;
                        $e_comm_paiement->setReadOnly(false);
                        $e_comm_paiement->size = 60;
                        $e_comm_paiement->tabindex = 3;
                        $r.=_(" Libellé du paiement");
                        $r.=$e_comm_paiement->input();
                        $r.='</p>';
                }

        $r.='<ol>';
        $r.='<li ><input type="radio" name="e_mp" value="0" checked>'._('Paiement encodé plus tard');
        if ( empty($array ) == false )
        {
            foreach ($array as $row)
            {
                $f='';
                /* if the qcode is  null the propose a search button to select
                   the card */
                if ( $row->mp_qcode==NULL)
                {
                    $a=new ICard();
                    $a->jrn=$row->mp_jrn_def_id;
                                        $a->set_attribute('typecard',$row->mp_fd_id);
                    $a->name='e_mp_qcode_'.$row->mp_id;
                    $a->set_dblclick("fill_ipopcard(this);");
                    $a->set_callback('filter_card');
                    $a->set_function('fill_data');
                    $a->set_attribute('ipopup','ipopcard');
                    $a->set_attribute('label',$a->name.'_label');

                    $s=new ISpan();
                    $s->name=$a->name.'_label';
                    $f=_(" paiement par ").$a->input().$s->input();
                }
                else
                {
                    /* if the qcode is not null then add a hidden variable with
                       the qcode */

                    $fiche=new Fiche($this->cn);
                    $fiche->get_by_qcode($row->mp_qcode);
                    $f=HtmlInput::hidden('e_mp_qcode_'.$row->mp_id,$row->mp_qcode);

                    //    $f.=$fiche->strAttribut(ATTR_DEF_NAME);
                }
                $r.='<li><input type="radio" name="e_mp" value="'.$row->mp_id.'">';
                $r.=$row->mp_lib.'  '.$f;

            }
        }
        $r.='</ol>';
        return $r;
    }
Acc_Payment::set_parameter ( p_string,
p_value 
)

Definition at line 76 of file class_acc_payment.php.

References $idx, and exit.

    {
        if ( array_key_exists($p_string,self::$variable) )
        {
            $idx=self::$variable[$p_string];
            $this->$idx=$p_value;
        }
        else
            exit (__FILE__.":".__LINE__.'Erreur attribut inexistant');


    }
static Acc_Payment::test_me ( ) [static]

test function

Definition at line 400 of file class_acc_payment.php.

    {

    }

Definition at line 119 of file class_acc_payment.php.

References $res, $sql, cn, trim(), and verify().

Referenced by save().

    {
        if ( $this->verify() != 0 ) return;

        $sql="update mod_payment set mp_lib=$1,mp_qcode=$2,mp_jrn_def_id=$3,mp_fd_id=$4,jrn_def_id=$5 ".
             " where mp_id = $6";
        $res=$this->cn->exec_sql(
                 $sql,
                 array($this->mp_lib,
                       $this->mp_qcode,
                       $this->mp_jrn_def_id,
                       $this->mp_fd_id,
                       $this->jrn_def_id,
                       $this->mp_id)
             );
        if ( strlen (trim($this->mp_jrn_def_id))==0)
            $this->cn->exec_sql(
                'update mod_payment '.
                'set mp_jrn_def_id = null where mp_id=$1',
                array($this->mp_id));
        if ( strlen (trim($this->jrn_def_id))==0)
            $this->cn->exec_sql(
                'update mod_payment '.
                'set mp_jrn_def_id = null where mp_id=$1',
                array($this->mp_id));
        if ( strlen (trim($this->mp_qcode))==0)
            $this->cn->exec_sql(
                'update mod_payment '.
                'set mp_qcode = null where mp_id=$1',
                array($this->mp_id));
        if ( strlen (trim($this->mp_fd_id))==0)
            $this->cn->exec_sql(
                'update mod_payment '.
                'set mp_fd_id = null where mp_id=$1',
                array($this->mp_id));

    }

Definition at line 92 of file class_acc_payment.php.

Referenced by insert(), and update().

    {
        // Verify that the elt we want to add is correct
    }

Field Documentation

Acc_Payment::$jrn_def_id [private]

Definition at line 55 of file class_acc_payment.php.

Acc_Payment::$mp_fd_id [private]

Definition at line 56 of file class_acc_payment.php.

Acc_Payment::$mp_jrn_def_if [private]

Definition at line 54 of file class_acc_payment.php.

Acc_Payment::$mp_lib [private]

Definition at line 52 of file class_acc_payment.php.

Acc_Payment::$mp_qcode [private]

Definition at line 53 of file class_acc_payment.php.

Acc_Payment::$variable [static, private]
Initial value:
array("id"=>"mp_id",
                                   "lib"=>"mp_lib",
                                   "qcode"=>"mp_qcode",
                                   "ledger_target"=>"mp_jrn_def_id",
                                   "ledger_source"=>"jrn_def_id",
                                   "fiche_def"=>"mp_fd_id")

Definition at line 44 of file class_acc_payment.php.


The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Enumerations