Esempio n. 1
0
    /**
     * Update user's approval values action
     */
    public function actionUpdateUsersApprovalValues()
    {
        if (isset($_POST['clientID']) && isset($_POST['users'])) {
            $clientID = intval($_POST['clientID']);
            $users = $_POST['users'];

            //check input data
            if ($clientID == 0) {
                $this->redirect('/admin?tab=us_appr_value');
                die;
            }

            //change approval values
            foreach ($users as $userID => $approvalValue) {
                $userID = intval($userID);
                if ($userID == 0) {
                    $this->redirect('/admin?tab=us_appr_value');
                    die;
                }

                $userToClient = UsersClientList::model()->findByAttributes(array(
                    'User_ID' => $userID,
                    'Client_ID' => $clientID,
                ));


                if ($userToClient) {
                    $previousApprovalValue = intval($userToClient->User_Approval_Value);
                    $approvalValue = intval($approvalValue);

                    if ($approvalValue > Aps::APPROVED) {
                        $approvalValue = Aps::APPROVED;
                    } else if ($approvalValue < Aps::NOT_READY_FOR_APPROVAL) {
                        $approvalValue = Aps::NOT_READY_FOR_APPROVAL;
                    }

                    $userToClient->User_Approval_Value = $approvalValue;
                    if ( $previousApprovalValue == Aps::APPROVED && $approvalValue!=Aps::APPROVED && UsersClientList::isLastApprover($userToClient->Client_ID,$userToClient->User_ID) ) {
                        Yii::app()->user->setFlash('success', "At least one Approver must have an Approval value of 100.");
                        //$this->redirect('/admin?tab=us_appr_value');
                    }

                    $userToClient->save();




                }
            }

            Yii::app()->user->setFlash('success', "Approval values have been successfully updated!");
            $this->redirect('/admin?tab=us_appr_value');
        } else {
            Yii::app()->user->setFlash('success', "Approval values have not been updated!");
            $this->redirect('/admin?tab=us_appr_value');
        }
    }