/** * Liste des étiqettes colis * @param type $paramIsEditable * @param type $paramSiteDeProduction * @param type $paramEtiqetteCodesoft * @return type */ function getListeCodesoftEtiquettesColis($paramIsEditable, $paramSiteDeProduction, $paramEtiqetteCodesoft) { $HtmlList = new HtmlListSelect(); $arrayEtiquette = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . CodesoftEtiquettesModel::KEYNAME . ',' . CodesoftEtiquettesModel::FIELDNAME_DESIGNATION_CODESOFT_ETIQUETTES . ' FROM ' . CodesoftEtiquettesModel::TABLENAME . ' WHERE (' . CodesoftEtiquettesModel::FIELDNAME_K_SITE . '=' . $paramSiteDeProduction . ' OR ' . CodesoftEtiquettesModel::FIELDNAME_K_SITE . '=0)' . ' AND (' . CodesoftEtiquettesModel::FIELDNAME_K_TYPE_ETIQUETTE_CODESOFT_ETIQUETTES . '=1' . ' OR ' . CodesoftEtiquettesModel::FIELDNAME_K_TYPE_ETIQUETTE_CODESOFT_ETIQUETTES . '=0' . ')' . ' AND ' . CodesoftEtiquettesModel::FIELDNAME_IS_ENABLED_FTA . '=1' . ' ORDER BY ' . CodesoftEtiquettesModel::FIELDNAME_DESIGNATION_CODESOFT_ETIQUETTES); $HtmlList->setArrayListContent($arrayEtiquette); $HtmlTableName = FtaModel::TABLENAME . '_' . FtaModel::FIELDNAME_ETIQUETTE_CODESOFT . '_' . $this->getModel()->getKeyValue(); /** * Champ verrouillable condition */ /** * Vérification du champ initialisé */ $isFieldLock = FtaVerrouillageChampsModel::isFieldLock(FtaModel::FIELDNAME_ETIQUETTE_CODESOFT, $this->getModel()); /** * Génération du lien pour verrouillé/déverrouillé */ $linkFieldLock = FtaVerrouillageChampsModel::linkFieldLock($isFieldLock, FtaModel::FIELDNAME_ETIQUETTE_CODESOFT, $this->getModel(), $paramIsEditable); /** * Affectation de la modification d'un champ ou non */ $isEditable = FtaVerrouillageChampsModel::isEditableLockField($isFieldLock, $paramIsEditable); $etiquetteCodesoftDataField = $this->getModel()->getDataField(FtaModel::FIELDNAME_ETIQUETTE_CODESOFT); $HtmlList->getAttributes()->getName()->setValue(FtaModel::FIELDNAME_ETIQUETTE_CODESOFT); $HtmlList->setLabel(DatabaseDescription::getFieldDocLabel(FtaModel::TABLENAME, FtaModel::FIELDNAME_ETIQUETTE_CODESOFT)); $HtmlList->setIsEditable($isEditable); $HtmlList->initAbstractHtmlSelect($HtmlTableName, $HtmlList->getLabel(), $paramEtiqetteCodesoft, $etiquetteCodesoftDataField->isFieldDiff(), $HtmlList->getArrayListContent(), NULL, NULL, $isFieldLock, $linkFieldLock); $HtmlList->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaModel::TABLENAME, FtaModel::KEYNAME, $this->getModel()->getKeyValue(), FtaModel::FIELDNAME_ETIQUETTE_CODESOFT); /** * Description d'un champ */ $HtmlList->setHelp(IntranetColumnInfoModel::getFieldDesc($etiquetteCodesoftDataField->getTableName(), $etiquetteCodesoftDataField->getFieldName(), $etiquetteCodesoftDataField->getFieldLabel(), $HtmlList)); $listeCodesoftEtiquettes = $HtmlList->getHtmlResult(); return $listeCodesoftEtiquettes; }
function getHtmlCodePSF() { $id_fta_composant = $this->getFtaComposantModel()->getKeyValue(); $codePSFValue = $this->getFtaComposantModel()->getDataField(FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE)->getFieldValue(); $codePSF = new HtmlInputText(); $HtmlTableName = FtaComposantModel::TABLENAME . '_' . FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE . '_' . $id_fta_composant; /** * Champ verrouillable condition */ /** * Vérification du champ initialisé */ $isFieldLock = FtaVerrouillageChampsModel::isFieldLock(FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE, $this->getFtaModel()); /** * Génération du lien pour verrouillé/déverrouillé */ $linkFieldLock = FtaVerrouillageChampsModel::linkFieldLock($isFieldLock, FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE, $this->getFtaModel(), $this->getIsEditable()); /** * Affectation de la modification d'un champ ou non */ $isEditable = FtaVerrouillageChampsModel::isEditableLockField($isFieldLock, $this->getIsEditable()); $codePSFDataField = $this->getFtaComposantModel()->getDataField(FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE); $codePSF->setLabel(DatabaseDescription::getFieldDocLabel(FtaComposantModel::TABLENAME, FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE)); $codePSF->getAttributes()->getValue()->setValue($codePSFValue); $codePSF->getAttributes()->getPattern()->setValue("[0-9]{1,6}"); $codePSF->getAttributes()->getMaxLength()->setValue("6"); $codePSF->setIsEditable($isEditable); $codePSF->initAbstractHtmlInput($HtmlTableName, $codePSF->getLabel(), $codePSFValue, $codePSFDataField->isFieldDiff(), NULL, NULL, $isFieldLock, $linkFieldLock); $codePSF->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaComposantModel::TABLENAME, FtaComposantModel::KEYNAME, $id_fta_composant, FtaComposantModel::FIELDNAME_CODE_PRODUIT_AGROLOGIC_FTA_NOMENCLATURE); /** * Description d'un champ */ $codePSF->setHelp(IntranetColumnInfoModel::getFieldDesc($codePSFDataField->getTableName(), $codePSFDataField->getFieldName(), $codePSFDataField->getFieldLabel(), $codePSF)); return $codePSF->getHtmlResult(); }
/** * Affiche la liste des site de production pour lesquel l'utilisateur connecté à les droits d'accès * et l'identifiant de la Fta en cours * @param int $paramIdUser * @param HtmlListSelect $paramHtmlObjet * @param boolean $paramIsEditable * @return string */ function showListeDeroulanteSiteProdByAccesAndIdFta($paramIdUser, HtmlListSelect $paramHtmlObjet, $paramIsEditable) { /** * Datafield site de production */ $dataFieldSiteDeProduction = $this->getDataField(FtaModel::FIELDNAME_SITE_PRODUCTION); /** * Modification */ $ftaModification = IntranetDroitsAccesModel::getFtaModification($paramIdUser); /** * Consultation */ $ftaConsultation = IntranetDroitsAccesModel::getFtaConsultation($paramIdUser); /** * Si l'utilisateur a les droits en consultation sur le module et pas en modification * Transmettre à $paramHtmlObjet la liste de tous les sites taggés "fta". * * Si il a accès en consultation et modification alors */ if ($ftaConsultation and $ftaModification) { $idFtaWorkflow = $this->getDataField(FtaModel::FIELDNAME_WORKFLOW)->getFieldValue(); $arraySite = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . GeoModel::KEYNAME . ',' . GeoModel::FIELDNAME_GEO . ' FROM ' . GeoModel::TABLENAME . ', ' . FtaActionSiteModel::TABLENAME . ', ' . IntranetActionsModel::TABLENAME . ', ' . IntranetDroitsAccesModel::TABLENAME . ', ' . FtaWorkflowModel::TABLENAME . ' WHERE ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_SITE . '=' . GeoModel::KEYNAME . ' AND ' . FtaActionSiteModel::TABLENAME . '.' . FtaActionSiteModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::FIELDNAME_ID_INTRANET_ACTIONS . '=' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::FIELDNAME_PARENT_INTRANET_ACTIONS . ' AND ' . FtaWorkflowModel::TABLENAME . '.' . FtaWorkflowModel::KEYNAME . '=' . $idFtaWorkflow . ' AND ' . IntranetActionsModel::TABLENAME . '.' . IntranetActionsModel::KEYNAME . '=' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_ID_INTRANET_ACTIONS . ' AND ' . IntranetDroitsAccesModel::FIELDNAME_ID_USER . '=' . $paramIdUser . ' AND ' . IntranetDroitsAccesModel::TABLENAME . '.' . IntranetDroitsAccesModel::FIELDNAME_NIVEAU_INTRANET_DROITS_ACCES . '=' . IntranetNiveauAccesModel::NIVEAU_GENERIC_TRUE . ' ORDER BY ' . GeoModel::FIELDNAME_GEO); } elseif ($ftaConsultation) { $arraySite = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . GeoModel::KEYNAME . ',' . GeoModel::FIELDNAME_GEO . ' FROM ' . GeoModel::TABLENAME . ' WHERE ' . GeoModel::FIELDNAME_TAG_APPLICATION_GEO . ' LIKE \'%fta%\'' . ' ORDER BY ' . GeoModel::FIELDNAME_GEO); } $paramHtmlObjet->setArrayListContent($arraySite); /** * On vérifie si le champ est verrouillable */ $dataFieldSiteDeProduction->checkLockField($this, $paramIsEditable); /** * On autorise la modification selon l'état de champs verrouillable */ $isEditable = FtaVerrouillageChampsModel::isEditableLockField($dataFieldSiteDeProduction->getIsFieldLock(), $paramIsEditable); /** * Verification des règles de validation */ $dataFieldSiteDeProduction->checkValidationRules(); if ($dataFieldSiteDeProduction->getDataValidationSuccessful() == TRUE) { $this->setDataValidationSuccessfulToTrue(); } else { $this->setDataValidationSuccessfulToFalse(); } $HtmlTableName = FtaModel::TABLENAME . '_' . FtaModel::FIELDNAME_SITE_PRODUCTION . '_' . $this->getKeyValue(); $paramHtmlObjet->getAttributes()->getName()->setValue(FtaModel::FIELDNAME_SITE_PRODUCTION); $paramHtmlObjet->setLabel(DatabaseDescription::getFieldDocLabel(GeoModel::TABLENAME, GeoModel::FIELDNAME_GEO)); $paramHtmlObjet->setIsEditable($isEditable); $paramHtmlObjet->initAbstractHtmlSelect($HtmlTableName, $paramHtmlObjet->getLabel(), $dataFieldSiteDeProduction->getFieldValue(), $dataFieldSiteDeProduction->isFieldDiff(), $paramHtmlObjet->getArrayListContent(), $dataFieldSiteDeProduction->getDataValidationSuccessful(), $dataFieldSiteDeProduction->getDataWarningMessage(), $dataFieldSiteDeProduction->getIsFieldLock(), $dataFieldSiteDeProduction->getLinkFieldLock()); $paramHtmlObjet->getEventsForm()->setOnChangeWithAjaxAutoSave(FtaModel::TABLENAME, FtaModel::KEYNAME, $this->getKeyValue(), FtaModel::FIELDNAME_SITE_PRODUCTION); /** * Description d'un champ */ $paramHtmlObjet->setHelp(IntranetColumnInfoModel::getFieldDesc($dataFieldSiteDeProduction->getTableName(), $dataFieldSiteDeProduction->getFieldName(), $dataFieldSiteDeProduction->getFieldLabel(), $paramHtmlObjet)); $listeSiteProduction = $paramHtmlObjet->getHtmlResult(); return $listeSiteProduction; }
/** * Affiche la liste déroulante des sites de production pour les composants et compositions * @param HtmlListSelect $paramObjet * @param boolean $paramIsEditable * @param boolean $paramLabelSiteDeProduction * @return string */ function showListeDeroulanteSiteProdForComposant(HtmlListSelect $paramObjet, $paramIsEditable, $paramLabelSiteDeProduction) { // $ftaModel = new FtaModel($paramIdFta); // $siteDeProductionFta = $ftaModel->getDataField(FtaModel::FIELDNAME_SITE_ASSEMBLAGE)->getFieldValue(); $labelSiteDeProductionDataField = $this->getDataField($paramLabelSiteDeProduction); $arraySite = DatabaseOperation::convertSqlStatementWithKeyAndOneFieldToArray('SELECT DISTINCT ' . GeoModel::KEYNAME . ',' . GeoModel::FIELDNAME_GEO . ' FROM ' . GeoModel::TABLENAME . ' WHERE ' . GeoModel::FIELDNAME_TAG_APPLICATION_GEO . ' LIKE \'%fta%\'' . ' ORDER BY ' . GeoModel::FIELDNAME_GEO); $paramObjet->setArrayListContent($arraySite); $HtmlTableName = self::TABLENAME . '_' . $paramLabelSiteDeProduction . '_' . $this->getKeyValue(); $arraySiteComposant = DatabaseOperation::convertSqlStatementWithoutKeyToArray('SELECT DISTINCT ' . $paramLabelSiteDeProduction . ' FROM ' . self::TABLENAME . ' WHERE ' . self::KEYNAME . '=' . $this->getKeyValue()); foreach ($arraySiteComposant as $value) { $SiteDeProduction = $value[$paramLabelSiteDeProduction]; } if ($SiteDeProduction) { $paramObjet->setDefaultValue($SiteDeProduction); } // else { // $paramObjet->setDefaultValue($siteDeProductionFta); // } /** * Champ verrouillable condition */ /** * Vérification du champ initialisé */ $isFieldLock = FtaVerrouillageChampsModel::isFieldLock($paramLabelSiteDeProduction, $this->getModelFta()); /** * Génération du lien pour verrouillé/déverrouillé */ $linkFieldLock = FtaVerrouillageChampsModel::linkFieldLock($isFieldLock, $paramLabelSiteDeProduction, $this->getModelFta(), $paramIsEditable); /** * Affectation de la modification d'un champ ou non */ $isEditable = FtaVerrouillageChampsModel::isEditableLockField($isFieldLock, $paramIsEditable); $paramObjet->getAttributes()->getName()->setValue($paramLabelSiteDeProduction); $paramObjet->setLabel(DatabaseDescription::getFieldDocLabel(GeoModel::TABLENAME, GeoModel::FIELDNAME_GEO)); $paramObjet->setIsEditable($isEditable); $paramObjet->initAbstractHtmlSelect($HtmlTableName, $paramObjet->getLabel(), $labelSiteDeProductionDataField->getFieldValue(), $labelSiteDeProductionDataField->isFieldDiff(), $paramObjet->getArrayListContent(), NULL, NULL, $isFieldLock, $linkFieldLock); $paramObjet->getEventsForm()->setOnChangeWithAjaxAutoSave(self::TABLENAME, self::KEYNAME, $this->getKeyValue(), $paramLabelSiteDeProduction); /** * Description d'un champ */ $paramObjet->setHelp(IntranetColumnInfoModel::getFieldDesc($labelSiteDeProductionDataField->getTableName(), $labelSiteDeProductionDataField->getFieldName(), $labelSiteDeProductionDataField->getFieldLabel(), $paramObjet)); $listeSiteProduction = $paramObjet->getHtmlResult(); return $listeSiteProduction; }