CODE STYLE changes
files modified: workflow/engine/classes/class.report.php
workflow/engine/classes/class.reportTables.php
workflow/engine/methods/dashboard/main.php
workflow/engine/methods/reportTables/edit.php
workflow/engine/methods/reportTables/main.php
workflow/engine/methods/reportTables/reportTables_Ajax.php
workflow/engine/methods/reportTables/reportTables_Delete.php
workflow/engine/methods/reportTables/reportTables_Edit.php
workflow/engine/methods/reportTables/reportTables_Save.php
workflow/engine/methods/reports/reportsList.php
workflow/engine/methods/reports/reports_Dashboard.php
workflow/engine/methods/reports/reports_Description.php
workflow/engine/methods/reports/reports_Duration.php
workflow/engine/methods/reports/reports_View.php
This commit is contained in:
@@ -139,8 +139,9 @@ class Report
|
||||
//$aAux1 = explode('-', $from); date('Y-m-d H:i:s', mktime(0, 0, 0, $aAux1[1], $aAux1[2], $aAux1[0]))
|
||||
$oCriteria->add( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_INIT_DATE, $from . ' 00:00:00', Criteria::GREATER_EQUAL )->addAnd( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_INIT_DATE, $to . ' 23:59:59', Criteria::LESS_EQUAL ) ) );
|
||||
|
||||
if ($startedby != '')
|
||||
if ($startedby != '') {
|
||||
$oCriteria->add( ApplicationPeer::APP_INIT_USER, $startedby );
|
||||
}
|
||||
|
||||
$oCriteria->addGroupByColumn( AppDelegationPeer::PRO_UID );
|
||||
$oCriteria->addGroupByColumn( 'C1.CON_VALUE' );
|
||||
@@ -155,11 +156,11 @@ class Report
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->addSelectColumn( ApplicationPeer::PRO_UID );
|
||||
$oCriteria->add( ApplicationPeer::PRO_UID, $aRow['PRO_UID'] );
|
||||
if ($startedby != '')
|
||||
if ($startedby != '') {
|
||||
$oCriteria->add( ApplicationPeer::APP_INIT_USER, $startedby );
|
||||
}
|
||||
|
||||
$aProcess[] = array ('PRO_UID' => $aRow['PRO_UID'],'PRO_TITLE' => $aRow['PRO_TITLE'],'CANTCASES' => ApplicationPeer::doCount( $oCriteria ),'MIN' => number_format( $aRow['MIN'], 2 ),'MAX' => number_format( $aRow['MAX'], 2 ),'TOTALDUR' => number_format( $aRow['TOTALDUR'], 2 ),'PROMEDIO' => number_format( $aRow['PROMEDIO'], 2 )
|
||||
);
|
||||
$aProcess[] = array ('PRO_UID' => $aRow['PRO_UID'],'PRO_TITLE' => $aRow['PRO_TITLE'],'CANTCASES' => ApplicationPeer::doCount( $oCriteria ),'MIN' => number_format( $aRow['MIN'], 2 ),'MAX' => number_format( $aRow['MAX'], 2 ),'TOTALDUR' => number_format( $aRow['TOTALDUR'], 2 ),'PROMEDIO' => number_format( $aRow['PROMEDIO'], 2 ));
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
@@ -379,8 +380,9 @@ class Report
|
||||
|
||||
$oCriteria->add( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_INIT_DATE, $from . ' 00:00:00', Criteria::GREATER_EQUAL )->addAnd( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_INIT_DATE, $to . ' 23:59:59', Criteria::LESS_EQUAL ) ) );
|
||||
|
||||
if ($startedby != '')
|
||||
if ($startedby != '') {
|
||||
$oCriteria->add( AppDelegationPeer::USR_UID, $startedby );
|
||||
}
|
||||
|
||||
$oCriteria->add( AppDelegationPeer::PRO_UID, $PRO_UID );
|
||||
|
||||
@@ -428,8 +430,9 @@ class Report
|
||||
|
||||
$oCriteria->add( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_INIT_DATE, $from . ' 00:00:00', Criteria::GREATER_EQUAL )->addAnd( $oCriteria->getNewCriterion( AppDelegationPeer::DEL_INIT_DATE, $to . ' 23:59:59', Criteria::LESS_EQUAL ) ) );
|
||||
|
||||
if ($startedby != '')
|
||||
if ($startedby != '') {
|
||||
$oCriteria->add( AppDelegationPeer::USR_UID, $startedby );
|
||||
}
|
||||
|
||||
$oDataset = AppDelegationPeer::doSelectRS( $oCriteria );
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
@@ -439,16 +442,16 @@ class Report
|
||||
$lastmonth = date( 'Y-m-d', mktime( 0, 0, 0, date( "m" ) - 2, date( "d" ), date( "Y" ) ) );
|
||||
$day = mktime( 0, 0, 0, date( "m" ), date( "d" ) - 1, date( "Y" ) );
|
||||
$lastday = mktime( 0, 0, 0, date( "m" ), date( "d" ) - 2, date( "Y" ) );
|
||||
$aProcess[] = array ('PRO_UID' => 'char','PRO_TITLE' => 'char','CANTCASES' => 'integer','MIN' => 'float','MAX' => 'float','CASELASTMONTH' => 'integer','CASELASTDAY' => 'integer'
|
||||
);
|
||||
$aProcess[] = array ('PRO_UID' => 'char','PRO_TITLE' => 'char','CANTCASES' => 'integer','MIN' => 'float','MAX' => 'float','CASELASTMONTH' => 'integer','CASELASTDAY' => 'integer');
|
||||
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
$oCriteria2 = new Criteria( 'workflow' );
|
||||
$oCriteria2->addSelectColumn( ApplicationPeer::PRO_UID );
|
||||
$oCriteria2->addAsColumn( "CANTCASES", "COUNT(*)" );
|
||||
$oCriteria2->add( ApplicationPeer::PRO_UID, $aRow['PRO_UID'] );
|
||||
if ($startedby != '')
|
||||
if ($startedby != '') {
|
||||
$oCriteria2->add( ApplicationPeer::APP_INIT_USER, $startedby );
|
||||
}
|
||||
$oCriteria2->addGroupByColumn( ApplicationPeer::PRO_UID );
|
||||
$oDataset2 = AppDelegationPeer::doSelectRS( $oCriteria2 );
|
||||
$oDataset2->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
@@ -462,8 +465,9 @@ class Report
|
||||
$oCriteria2->add( ApplicationPeer::PRO_UID, $aRow['PRO_UID'] );
|
||||
$oCriteria2->add( ApplicationPeer::APP_INIT_DATE, $lastmonth, Criteria::GREATER_EQUAL );
|
||||
$oCriteria2->add( ApplicationPeer::APP_INIT_DATE, $month, Criteria::LESS_EQUAL );
|
||||
if ($startedby != '')
|
||||
if ($startedby != '') {
|
||||
$oCriteria2->add( ApplicationPeer::APP_INIT_USER, $startedby );
|
||||
}
|
||||
$oCriteria2->addGroupByColumn( ApplicationPeer::PRO_UID );
|
||||
$oDataset2 = AppDelegationPeer::doSelectRS( $oCriteria2 );
|
||||
$oDataset2->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
@@ -477,8 +481,9 @@ class Report
|
||||
$oCriteria2->add( ApplicationPeer::PRO_UID, $aRow['PRO_UID'] );
|
||||
$oCriteria2->add( ApplicationPeer::APP_INIT_DATE, $lastday, Criteria::GREATER_EQUAL );
|
||||
$oCriteria2->add( ApplicationPeer::APP_INIT_DATE, $day, Criteria::LESS_EQUAL );
|
||||
if ($startedby != '')
|
||||
if ($startedby != '') {
|
||||
$oCriteria2->add( ApplicationPeer::APP_INIT_USER, $startedby );
|
||||
}
|
||||
$oCriteria2->addGroupByColumn( ApplicationPeer::PRO_UID );
|
||||
$oDataset2 = AppDelegationPeer::doSelectRS( $oCriteria2 );
|
||||
$oDataset2->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
@@ -492,8 +497,7 @@ class Report
|
||||
'CASELASTMONTH' => $cant1,
|
||||
'CASELASTDAY' => $cant2
|
||||
);*/
|
||||
$aProcess[] = array ('PRO_UID' => $aRow['PRO_UID'],'PRO_TITLE' => $aRow['PRO_TITLE'],'CANTCASES' => $cant,'MIN' => number_format( $aRow['MIN'], 2 ),'MAX' => number_format( $aRow['MAX'], 2 ),'CASELASTMONTH' => number_format( $cant1, 2 ),'CASELASTDAY' => number_format( $cant2, 2 )
|
||||
);
|
||||
$aProcess[] = array ('PRO_UID' => $aRow['PRO_UID'],'PRO_TITLE' => $aRow['PRO_TITLE'],'CANTCASES' => $cant,'MIN' => number_format( $aRow['MIN'], 2 ),'MAX' => number_format( $aRow['MAX'], 2 ),'CASELASTMONTH' => number_format( $cant1, 2 ),'CASELASTDAY' => number_format( $cant2, 2 ));
|
||||
$oDataset->next();
|
||||
}
|
||||
|
||||
@@ -539,12 +543,10 @@ class Report
|
||||
$stmt = $con->prepareStatement( $sql );
|
||||
$rs = $stmt->executeQuery();
|
||||
|
||||
$ROW[] = array ('FECHA' => 'char','CANTCASES' => 'integer','MIN' => 'float','MAX' => 'float','TOTALDUR' => 'float','PROMEDIO' => 'float'
|
||||
);
|
||||
$ROW[] = array ('FECHA' => 'char','CANTCASES' => 'integer','MIN' => 'float','MAX' => 'float','TOTALDUR' => 'float','PROMEDIO' => 'float');
|
||||
|
||||
while ($rs->next()) {
|
||||
$ROW[] = array ('FECHA' => $rs->getString( 'FECHA' ),'CANTCASES' => $rs->getString( 'CANTCASES' ),'MIN' => number_format( $rs->getString( 'MIN' ), 2 ),'MAX' => number_format( $rs->getString( 'MAX' ), 2 ),'TOTALDUR' => number_format( $rs->getString( 'TOTALDUR' ), 2 ),'PROMEDIO' => number_format( $rs->getString( 'PROMEDIO' ), 2 )
|
||||
);
|
||||
$ROW[] = array ('FECHA' => $rs->getString( 'FECHA' ),'CANTCASES' => $rs->getString( 'CANTCASES' ),'MIN' => number_format( $rs->getString( 'MIN' ), 2 ),'MAX' => number_format( $rs->getString( 'MAX' ), 2 ),'TOTALDUR' => number_format( $rs->getString( 'TOTALDUR' ), 2 ),'PROMEDIO' => number_format( $rs->getString( 'PROMEDIO' ), 2 ));
|
||||
}
|
||||
|
||||
global $_DBArray;
|
||||
@@ -600,12 +602,10 @@ class Report
|
||||
$con = Propel::getConnection( "workflow" );
|
||||
$stmt = $con->prepareStatement( $sql );
|
||||
$rs = $stmt->executeQuery();
|
||||
$ROW[] = array ('FECHA' => 'char','CANTCASES' => 'integer','MIN' => 'float','MAX' => 'float','TOTALDUR' => 'float','PROMEDIO' => 'float'
|
||||
);
|
||||
$ROW[] = array ('FECHA' => 'char','CANTCASES' => 'integer','MIN' => 'float','MAX' => 'float','TOTALDUR' => 'float','PROMEDIO' => 'float');
|
||||
|
||||
while ($rs->next()) {
|
||||
$ROW[] = array ('FECHA' => $rs->getString( 'FECHA' ),'CANTCASES' => $rs->getString( 'CANTCASES' ),'MIN' => number_format( $rs->getString( 'MIN' ), 2 ),'MAX' => number_format( $rs->getString( 'MAX' ), 2 ),'TOTALDUR' => number_format( $rs->getString( 'TOTALDUR' ), 2 ),'PROMEDIO' => number_format( $rs->getString( 'PROMEDIO' ), 2 )
|
||||
);
|
||||
$ROW[] = array ('FECHA' => $rs->getString( 'FECHA' ),'CANTCASES' => $rs->getString( 'CANTCASES' ),'MIN' => number_format( $rs->getString( 'MIN' ), 2 ),'MAX' => number_format( $rs->getString( 'MAX' ), 2 ),'TOTALDUR' => number_format( $rs->getString( 'TOTALDUR' ), 2 ),'PROMEDIO' => number_format( $rs->getString( 'PROMEDIO' ), 2 ));
|
||||
}
|
||||
|
||||
global $_DBArray;
|
||||
@@ -902,11 +902,11 @@ class Report
|
||||
$aData['DEL_INDEX'] = $aRow['DEL_INDEX'];
|
||||
$aData['DEL_DELEGATE_DATE'] = $aRow['DEL_DELEGATE_DATE'];
|
||||
|
||||
if ($aRow['DEL_INIT_DATE'] == NULL)
|
||||
if ($aRow['DEL_INIT_DATE'] == null) {
|
||||
$aData['DEL_INIT_DATE'] = $aRow['DEL_DELEGATE_DATE'];
|
||||
else
|
||||
} else {
|
||||
$aData['DEL_INIT_DATE'] = $aRow['DEL_INIT_DATE'];
|
||||
|
||||
}
|
||||
//$aData['DEL_FINISH_DATE']=$aRow['DEL_FINISH_DATE'];
|
||||
if ($aRow['DEL_DURATION'] != 0) {
|
||||
G::LoadClass( 'dates' );
|
||||
@@ -920,5 +920,5 @@ class Report
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
}// end Report class
|
||||
@@ -40,8 +40,7 @@ class ReportTables
|
||||
private $aDef = array ('mysql' => array ('number' => 'DOUBLE','char' => 'VARCHAR(255)','text' => 'TEXT','date' => 'DATETIME'
|
||||
),'pgsql' => array ('number' => 'DOUBLE','char' => 'VARCHAR(255)','text' => 'TEXT','date' => 'DATETIME'
|
||||
),'mssql' => array ('number' => 'FLOAT','char' => 'NVARCHAR(255)','text' => 'TEXT','date' => 'CHAR(19)'
|
||||
) /* Changed DATETIME CHAR(19) for compatibility issues. */
|
||||
);
|
||||
) /* Changed DATETIME CHAR(19) for compatibility issues. */ );
|
||||
//private $sPrefix = 'REP_';
|
||||
private $sPrefix = '';
|
||||
|
||||
@@ -146,7 +145,6 @@ class ReportTables
|
||||
$sQuery .= ' DEFAULT CHARSET=utf8;';
|
||||
$rs = $stmt->executeQuery( $sQuery );
|
||||
break;
|
||||
|
||||
case 'mssql':
|
||||
$sQuery = 'CREATE TABLE [' . $sTableName . '] (';
|
||||
if ($bDefaultFields) {
|
||||
@@ -569,7 +567,6 @@ class ReportTables
|
||||
$con = Propel::getConnection( $PropelDatabase );
|
||||
$stmt = $con->createStatement();
|
||||
switch (DB_ADAPTER) {
|
||||
|
||||
case 'mysql':
|
||||
$aTableFields = $this->getTableVars( $aRow['REP_TAB_UID'], true );
|
||||
if ($aRow['REP_TAB_TYPE'] == 'NORMAL') {
|
||||
@@ -814,12 +811,16 @@ class ReportTables
|
||||
{
|
||||
$repTabConnection = trim( strtoupper( $TabConnectionk ) );
|
||||
$PropelDatabase = 'rp';
|
||||
if ($repTabConnection == '' || $repTabConnection == 'REPORT')
|
||||
if ($repTabConnection == '' || $repTabConnection == 'REPORT') {
|
||||
$PropelDatabase = 'rp';
|
||||
if ($repTabConnection == 'RBAC')
|
||||
}
|
||||
if ($repTabConnection == 'RBAC') {
|
||||
$PropelDatabase = 'rbac';
|
||||
if ($repTabConnection == 'WF')
|
||||
}
|
||||
if ($repTabConnection == 'WF') {
|
||||
$PropelDatabase = 'workflow';
|
||||
}
|
||||
return ($PropelDatabase);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,8 @@ $oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addExtJsScript( 'reportTables/edit', true );
|
||||
$oHeadPublisher->assign( 'ADD_TAB_UID', $id );
|
||||
|
||||
if ($id) { // if is a edit request
|
||||
if ($id) {
|
||||
// if is a edit request
|
||||
require_once 'classes/model/AdditionalTables.php';
|
||||
require_once 'classes/model/Fields.php';
|
||||
G::LoadClass( 'xmlfield_InputPM' );
|
||||
@@ -32,8 +33,7 @@ if ($id) { // if is a edit request
|
||||
foreach ($fields as $field) {
|
||||
//select to not assigned fields for available grid
|
||||
if (! in_array( $field['sName'], $tableFields )) {
|
||||
$fieldsList[] = array ('FIELD_UID' => $field['sName'] . '-' . $field['sType'],'FIELD_NAME' => $field['sName']
|
||||
);
|
||||
$fieldsList[] = array ('FIELD_UID' => $field['sName'] . '-' . $field['sType'],'FIELD_NAME' => $field['sName']);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -44,8 +44,7 @@ if ($id) { // if is a edit request
|
||||
|
||||
foreach ($gridFields as $gfield) {
|
||||
if (! in_array( $gfield['sName'], $tableFields )) {
|
||||
$fieldsList[] = array ('FIELD_UID' => $gfield['sName'] . '-' . $gfield['sType'],'FIELD_NAME' => $gfield['sName']
|
||||
);
|
||||
$fieldsList[] = array ('FIELD_UID' => $gfield['sName'] . '-' . $gfield['sType'],'FIELD_NAME' => $gfield['sName']);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,3 +72,4 @@ $oHeadPublisher->assign( 'PRO_UID', isset( $_GET['PRO_UID'] ) ? $_GET['PRO_UID']
|
||||
$oHeadPublisher->assign( 'TABLE', $table );
|
||||
|
||||
G::RenderPage( 'publish', 'extJs' );
|
||||
|
||||
|
||||
@@ -56,3 +56,4 @@ $oHeadPublisher->assign( 'FORMATS', $c->getFormats() );
|
||||
$oHeadPublisher->assign( 'CONFIG', $Config );
|
||||
$oHeadPublisher->assign( 'PRO_UID', isset( $_GET['PRO_UID'] ) ? $_GET['PRO_UID'] : false );
|
||||
G::RenderPage( 'publish', 'extJs' );
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ $action = $_REQUEST['action'];
|
||||
unset( $_POST['action'] );
|
||||
|
||||
switch ($action) {
|
||||
|
||||
case 'availableFieldsReportTables':
|
||||
G::LoadClass( 'reportTables' );
|
||||
G::LoadClass( 'xmlfield_InputPM' );
|
||||
@@ -75,7 +74,6 @@ switch ($action) {
|
||||
echo G::json_encode( $resultList );
|
||||
|
||||
break;
|
||||
|
||||
case 'fieldsList':
|
||||
|
||||
G::LoadClass( 'reportTables' );
|
||||
@@ -100,7 +98,6 @@ switch ($action) {
|
||||
$result->data = $aResultFields;
|
||||
echo G::json_encode( $result );
|
||||
break;
|
||||
|
||||
case 'getDbConnectionsList':
|
||||
G::LoadClass( 'dbConnections' );
|
||||
$proUid = $_POST['PRO_UID'];
|
||||
@@ -114,14 +111,12 @@ switch ($action) {
|
||||
echo G::json_encode( array_merge( $defaultConnections, $dbConnections ) );
|
||||
|
||||
break;
|
||||
|
||||
case 'getProcessList':
|
||||
require_once 'classes/model/Process.php';
|
||||
|
||||
$process = new Process();
|
||||
echo G::json_encode( $process->getAll() );
|
||||
break;
|
||||
|
||||
case 'save':
|
||||
require_once 'classes/model/AdditionalTables.php';
|
||||
require_once 'classes/model/Fields.php';
|
||||
@@ -147,7 +142,8 @@ switch ($action) {
|
||||
|
||||
$columns = $data['columns'];
|
||||
|
||||
if ($data['REP_TAB_UID'] == '') { //new report table
|
||||
if ($data['REP_TAB_UID'] == '') {
|
||||
//new report table
|
||||
//setting default columns
|
||||
$defaultColumns = array ();
|
||||
$application = new stdClass(); //APPLICATION KEY
|
||||
@@ -179,7 +175,8 @@ switch ($action) {
|
||||
array_push( $defaultColumns, $application );
|
||||
|
||||
//if it is a grid report table
|
||||
if ($data['REP_TAB_TYPE'] == 'GRID') { //GRID INDEX
|
||||
if ($data['REP_TAB_TYPE'] == 'GRID') {
|
||||
//GRID INDEX
|
||||
$gridIndex = new stdClass();
|
||||
$gridIndex->uid = '';
|
||||
$gridIndex->field_dyn = '';
|
||||
@@ -209,7 +206,8 @@ switch ($action) {
|
||||
//create record
|
||||
$addTabUid = $oAdditionalTables->create( $repTabData );
|
||||
|
||||
} else { //editing report table
|
||||
} else {
|
||||
//editing report table
|
||||
$addTabUid = $data['REP_TAB_UID'];
|
||||
//loading old data before update
|
||||
$addTabBeforeData = $oAdditionalTables->load( $addTabUid, true );
|
||||
@@ -236,23 +234,26 @@ switch ($action) {
|
||||
$editFieldsList = array ();
|
||||
|
||||
foreach ($columns as $i => $column) {
|
||||
$field = array ('FLD_UID' => $column->uid,'FLD_INDEX' => $i,'ADD_TAB_UID' => $addTabUid,'FLD_NAME' => $column->field_name,'FLD_DESCRIPTION' => $column->field_label,'FLD_TYPE' => $column->field_type,'FLD_SIZE' => $column->field_size,'FLD_NULL' => (isset( $column->field_null ) ? $column->field_null : 1),'FLD_AUTO_INCREMENT' => 0,'FLD_KEY' => (isset( $column->field_key ) ? $column->field_key : 0),'FLD_FOREIGN_KEY' => 0,'FLD_FOREIGN_KEY_TABLE' => '','FLD_DYN_NAME' => $column->field_dyn,'FLD_DYN_UID' => $column->field_uid,'FLD_FILTER' => (isset( $column->field_filter ) && $column->field_filter ? 1 : 0)
|
||||
);
|
||||
$field = array ('FLD_UID' => $column->uid,'FLD_INDEX' => $i,'ADD_TAB_UID' => $addTabUid,'FLD_NAME' => $column->field_name,'FLD_DESCRIPTION' => $column->field_label,'FLD_TYPE' => $column->field_type,'FLD_SIZE' => $column->field_size,'FLD_NULL' => (isset( $column->field_null ) ? $column->field_null : 1),'FLD_AUTO_INCREMENT' => 0,'FLD_KEY' => (isset( $column->field_key ) ? $column->field_key : 0),'FLD_FOREIGN_KEY' => 0,'FLD_FOREIGN_KEY_TABLE' => '','FLD_DYN_NAME' => $column->field_dyn,'FLD_DYN_UID' => $column->field_uid,'FLD_FILTER' => (isset( $column->field_filter ) && $column->field_filter ? 1 : 0));
|
||||
|
||||
$fieldUid = $oFields->create( $field );
|
||||
$fieldsList[] = $field;
|
||||
|
||||
if ($data['REP_TAB_UID'] == '') { //new
|
||||
if ($data['REP_TAB_UID'] == '') {
|
||||
//new
|
||||
$aFields[] = array ('sType' => $column->field_type,'iSize' => $column->field_size,'sFieldName' => $column->field_name,'bNull' => (isset( $column->field_null ) ? $column->field_null : 1),'bAI' => 0,'bPrimaryKey' => (isset( $column->field_key ) ? $column->field_key : 0)
|
||||
);
|
||||
} else { //editing
|
||||
} else {
|
||||
//editing
|
||||
$field['FLD_UID'] = $fieldUid;
|
||||
$aFields[$fieldUid] = $field;
|
||||
}
|
||||
}
|
||||
if ($data['REP_TAB_UID'] == '') { //create a new report table
|
||||
if ($data['REP_TAB_UID'] == '') {
|
||||
//create a new report table
|
||||
$oAdditionalTables->createTable( $data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $aFields );
|
||||
} else { //editing
|
||||
} else {
|
||||
//editing
|
||||
//print_R($aFields);
|
||||
$oAdditionalTables->updateTable( $data['REP_TAB_NAME'], $data['REP_TAB_CONNECTION'], $aFields, $oldFields );
|
||||
}
|
||||
@@ -270,7 +271,6 @@ switch ($action) {
|
||||
|
||||
echo G::json_encode( $result );
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
require_once 'classes/model/AdditionalTables.php';
|
||||
G::LoadClass( 'reportTables' );
|
||||
@@ -293,7 +293,6 @@ switch ($action) {
|
||||
}
|
||||
echo G::json_encode( $result );
|
||||
break;
|
||||
|
||||
case 'list':
|
||||
require_once 'classes/model/AdditionalTables.php';
|
||||
G::LoadClass( 'configuration' );
|
||||
@@ -325,15 +324,13 @@ switch ($action) {
|
||||
$addTab['count'] += count( $reportTablesOldList );
|
||||
|
||||
foreach ($reportTablesOldList as $i => $oldRepTab) {
|
||||
$addTab['rows'][] = array ('ADD_TAB_UID' => $oldRepTab['REP_TAB_UID'],'PRO_UID' => $oldRepTab['PRO_UID'],'ADD_TAB_DESCRIPTION' => $oldRepTab['REP_TAB_TITLE'],'ADD_TAB_NAME' => $oldRepTab['REP_TAB_NAME'],'ADD_TAB_TYPE' => $oldRepTab['REP_TAB_TYPE'],'TYPE' => 'CLASSIC'
|
||||
);
|
||||
$addTab['rows'][] = array ('ADD_TAB_UID' => $oldRepTab['REP_TAB_UID'],'PRO_UID' => $oldRepTab['PRO_UID'],'ADD_TAB_DESCRIPTION' => $oldRepTab['REP_TAB_TITLE'],'ADD_TAB_NAME' => $oldRepTab['REP_TAB_NAME'],'ADD_TAB_TYPE' => $oldRepTab['REP_TAB_TYPE'],'TYPE' => 'CLASSIC');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
echo G::json_encode( $addTab );
|
||||
break;
|
||||
|
||||
case 'updateTag':
|
||||
require_once 'classes/model/AdditionalTables.php';
|
||||
$oAdditionalTables = new AdditionalTables();
|
||||
@@ -377,11 +374,9 @@ function getDynafields ($proUid, $type = 'xmlform')
|
||||
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
|
||||
$oDataset->next();
|
||||
|
||||
$excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript'
|
||||
);
|
||||
$excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript');
|
||||
|
||||
$labelFieldsTypeList = array ('dropdown','checkbox','radiogroup','yesno'
|
||||
);
|
||||
$labelFieldsTypeList = array ('dropdown','checkbox','radiogroup','yesno');
|
||||
|
||||
while ($aRow = $oDataset->getRow()) {
|
||||
if (file_exists( PATH_DYNAFORM . PATH_SEP . $aRow['DYN_FILENAME'] . '.xml' )) {
|
||||
@@ -390,13 +385,11 @@ function getDynafields ($proUid, $type = 'xmlform')
|
||||
if ($G_FORM->type == 'xmlform' || $G_FORM->type == '') {
|
||||
foreach ($G_FORM->fields as $fieldName => $fieldNode) {
|
||||
if (! in_array( $fieldNode->type, $excludeFieldsList ) && ! in_array( $fieldName, $fieldsNames )) {
|
||||
$fields[] = array ('name' => $fieldName,'type' => $fieldNode->type,'label' => $fieldNode->label
|
||||
);
|
||||
$fields[] = array ('name' => $fieldName,'type' => $fieldNode->type,'label' => $fieldNode->label);
|
||||
$fieldsNames[] = $fieldName;
|
||||
|
||||
if (in_array( $fieldNode->type, $labelFieldsTypeList ) && ! in_array( $fieldName . '_label', $fieldsNames )) {
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label'
|
||||
);
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label');
|
||||
$fieldsNames[] = $fieldName;
|
||||
}
|
||||
}
|
||||
@@ -413,11 +406,9 @@ function getGridDynafields ($proUid, $gridId)
|
||||
{
|
||||
$fields = array ();
|
||||
$fieldsNames = array ();
|
||||
$excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript'
|
||||
);
|
||||
$excludeFieldsList = array ('title','subtitle','link','file','button','reset','submit','listbox','checkgroup','grid','javascript');
|
||||
|
||||
$labelFieldsTypeList = array ('dropdown','checkbox','radiogroup','yesno'
|
||||
);
|
||||
$labelFieldsTypeList = array ('dropdown','checkbox','radiogroup','yesno');
|
||||
|
||||
$G_FORM = new Form( $proUid . '/' . $gridId, PATH_DYNAFORM, SYS_LANG, false );
|
||||
|
||||
@@ -429,8 +420,7 @@ function getGridDynafields ($proUid, $gridId)
|
||||
$fieldsNames[] = $fieldName;
|
||||
|
||||
if (in_array( $fieldNode->type, $labelFieldsTypeList ) && ! in_array( $fieldName . '_label', $fieldsNames )) {
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label'
|
||||
);
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label');
|
||||
$fieldsNames[] = $fieldName;
|
||||
}
|
||||
}
|
||||
@@ -457,8 +447,7 @@ function getGridFields ($proUid)
|
||||
foreach ($G_FORM->fields as $k => $v) {
|
||||
if ($v->type == 'grid') {
|
||||
if (! in_array( $k, $aFieldsNames )) {
|
||||
$aFields[] = array ('name' => $k,'xmlform' => str_replace( $proUid . '/', '', $v->xmlGrid )
|
||||
);
|
||||
$aFields[] = array ('name' => $k,'xmlform' => str_replace( $proUid . '/', '', $v->xmlGrid ));
|
||||
$aFieldsNames[] = $k;
|
||||
}
|
||||
}
|
||||
@@ -474,8 +463,7 @@ function getAllFields ($filepath, $includeTypes = array(), $excludeTypes = array
|
||||
$G_FORM = new Form( $filepath, PATH_DYNAFORM, SYS_LANG );
|
||||
$fields = array ();
|
||||
$fieldsNames = array ();
|
||||
$labelFieldsTypeList = array ('dropdown','checkbox','radiogroup','yesno'
|
||||
);
|
||||
$labelFieldsTypeList = array ('dropdown','checkbox','radiogroup','yesno');
|
||||
|
||||
if ($G_FORM->type == 'xmlform' || $G_FORM->type == '') {
|
||||
|
||||
@@ -486,13 +474,11 @@ function getAllFields ($filepath, $includeTypes = array(), $excludeTypes = array
|
||||
|
||||
if (count( $includeTypes ) > 0) {
|
||||
if (in_array( $fieldNode->type, $includeTypes ) && ! in_array( $fieldName, $fieldsNames )) {
|
||||
$fields[] = array ('name' => $fieldName,'type' => $fieldNode->type,'label' => $fieldNode->label
|
||||
);
|
||||
$fields[] = array ('name' => $fieldName,'type' => $fieldNode->type,'label' => $fieldNode->label);
|
||||
$fieldsNames[] = $fieldName;
|
||||
|
||||
if (in_array( $fieldNode->type, $labelFieldsTypeList ) && ! in_array( $fieldName . '_label', $fieldsNames )) {
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label'
|
||||
);
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label');
|
||||
$fieldsNames[] = $fieldName;
|
||||
}
|
||||
}
|
||||
@@ -501,20 +487,16 @@ function getAllFields ($filepath, $includeTypes = array(), $excludeTypes = array
|
||||
|
||||
if (! in_array( $fieldName, $fieldsNames )) {
|
||||
|
||||
$fields[] = array ('name' => $fieldName,'type' => $fieldNode->type,'label' => $fieldNode->label
|
||||
);
|
||||
$fields[] = array ('name' => $fieldName,'type' => $fieldNode->type,'label' => $fieldNode->label);
|
||||
$fieldsNames[] = $fieldName;
|
||||
|
||||
if (in_array( $fieldNode->type, $labelFieldsTypeList ) && ! in_array( $fieldName . '_label', $fieldsNames )) {
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label'
|
||||
);
|
||||
$fields[] = array ('name' => $fieldName . '_label','type' => $fieldNode->type,'label' => $fieldNode->label . '_label');
|
||||
$fieldsNames[] = $fieldName;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -21,8 +21,9 @@
|
||||
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
||||
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
||||
*/
|
||||
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1)
|
||||
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
|
||||
return $RBAC_Response;
|
||||
}
|
||||
G::LoadClass( 'reportTables' );
|
||||
try {
|
||||
$oReportTables = new ReportTables();
|
||||
@@ -34,4 +35,4 @@ try {
|
||||
$result->msg = $e->getMessage();
|
||||
}
|
||||
print G::json_encode( $result );
|
||||
?>
|
||||
|
||||
|
||||
@@ -21,8 +21,9 @@
|
||||
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
||||
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
||||
*/
|
||||
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1)
|
||||
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
|
||||
return $RBAC_Response;
|
||||
}
|
||||
G::LoadClass( 'reportTables' );
|
||||
G::LoadClass( 'xmlfield_InputPM' );
|
||||
$aFields['FIELDS'] = array ();
|
||||
@@ -66,4 +67,4 @@ $aFields['LANG'] = SYS_LANG;
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reportTables/reportTables_Edit', '', $aFields, '../reportTables/reportTables_Save' );
|
||||
G::RenderPage( 'publish', 'blank' );
|
||||
?>
|
||||
|
||||
|
||||
@@ -21,14 +21,14 @@
|
||||
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
|
||||
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
|
||||
*/
|
||||
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1)
|
||||
if (($RBAC_Response = $RBAC->userCanAccess( "PM_FACTORY" )) != 1) {
|
||||
return $RBAC_Response;
|
||||
|
||||
}
|
||||
G::LoadClass( 'reportTables' );
|
||||
|
||||
if (isset( $_POST['form'] ))
|
||||
if (isset( $_POST['form'] )) {
|
||||
$values = $_POST['form']; //For Old processmap
|
||||
else {
|
||||
} else {
|
||||
$values = $_POST; //For extjs,since we are not using form
|
||||
$values['FIELDS'] = explode( ',', $_POST['FIELDS'] );
|
||||
}
|
||||
@@ -96,4 +96,4 @@ foreach ($values['FIELDS'] as $sField) {
|
||||
$oReportTables->dropTable( $sOldTableName, $sOldConnection );
|
||||
$oReportTables->createTable( $values['REP_TAB_NAME'], $values['REP_TAB_CONNECTION'], $values['REP_TAB_TYPE'], $aFields );
|
||||
$oReportTables->populateTable( $values['REP_TAB_NAME'], $values['REP_TAB_CONNECTION'], $values['REP_TAB_TYPE'], $aFields, $values['PRO_UID'], $values['REP_TAB_GRID'] );
|
||||
?>
|
||||
|
||||
|
||||
@@ -122,4 +122,4 @@ $oCriteria->setDBArrayTable( 'reports' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'reports/reportsList', $oCriteria );
|
||||
G::RenderPage( 'publish' );
|
||||
?>
|
||||
|
||||
|
||||
@@ -58,4 +58,4 @@ switch ($_GET['sType']) {
|
||||
G::RenderPage( 'publish', 'raw' );
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@@ -65,4 +65,4 @@ $G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'reports/reports_Description', $c );
|
||||
//$G_PUBLISH->AddContent('xmlform', 'xmlform', 'reports/reports_Description_search', '', $fields);
|
||||
G::RenderPage( 'publish', 'raw' );
|
||||
?>
|
||||
|
||||
|
||||
@@ -47,8 +47,9 @@ while ($aRow = $oDataset->getRow()) {
|
||||
$oDataseti->next();
|
||||
$b = 0;
|
||||
while ($aRows = $oDataseti->getRow()) {
|
||||
if (TaskPeer::doCount( $oCriteria ) == 1)
|
||||
if (TaskPeer::doCount( $oCriteria ) == 1) {
|
||||
$b = 1;
|
||||
}
|
||||
$oDataseti->next();
|
||||
}
|
||||
|
||||
@@ -87,5 +88,3 @@ while ($aRow = $oDataset->getRow()) {
|
||||
|
||||
//G::header('location: reportsList');
|
||||
|
||||
|
||||
?>
|
||||
@@ -58,8 +58,9 @@ try {
|
||||
case 1:
|
||||
$sw = 0;
|
||||
if (isset( $_POST['form'] )) {
|
||||
if ($_POST['form']['FROM'] != '0000-00-00' || $_POST['form']['TO'] != '0000-00-00')
|
||||
if ($_POST['form']['FROM'] != '0000-00-00' || $_POST['form']['TO'] != '0000-00-00') {
|
||||
$sw = 1;
|
||||
}
|
||||
$fields['FROM'] = $_POST['form']['FROM'];
|
||||
$fields['TO'] = $_POST['form']['TO'];
|
||||
$fields['STARTEDBY'] = $_POST['form']['STARTEDBY'];
|
||||
@@ -70,30 +71,30 @@ try {
|
||||
|
||||
G::LoadClass( 'report' );
|
||||
$oReport = new Report();
|
||||
if ($sw == 0)
|
||||
if ($sw == 0) {
|
||||
$c = $oReport->generatedReport1();
|
||||
else
|
||||
} else {
|
||||
$c = $oReport->generatedReport1_filter( $_POST['form']['FROM'], $_POST['form']['TO'], $_POST['form']['STARTEDBY'] );
|
||||
|
||||
}
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile( '/jscore/reports/reports.js' );
|
||||
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'reports/report1', $c );
|
||||
|
||||
if (isset( $_POST['form'] ))
|
||||
if (isset( $_POST['form'] )) {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report1_search', '', $fields );
|
||||
else
|
||||
} else {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report1_search' );
|
||||
|
||||
}
|
||||
G::RenderPage( 'publish' );
|
||||
break;
|
||||
|
||||
case 2:
|
||||
$sw = 0;
|
||||
if (isset( $_POST['form'] )) {
|
||||
if ($_POST['form']['FROM'] != '0000-00-00' || $_POST['form']['TO'] != '0000-00-00')
|
||||
if ($_POST['form']['FROM'] != '0000-00-00' || $_POST['form']['TO'] != '0000-00-00') {
|
||||
$sw = 1;
|
||||
}
|
||||
$fields['FROM'] = $_POST['form']['FROM'];
|
||||
$fields['TO'] = $_POST['form']['TO'];
|
||||
$fields['STARTEDBY'] = $_POST['form']['STARTEDBY'];
|
||||
@@ -105,24 +106,24 @@ try {
|
||||
G::LoadClass( 'report' );
|
||||
$oReport = new Report();
|
||||
|
||||
if ($sw == 0)
|
||||
if ($sw == 0) {
|
||||
$c = $oReport->generatedReport2();
|
||||
else
|
||||
} else {
|
||||
$c = $oReport->generatedReport2_filter( $_POST['form']['FROM'], $_POST['form']['TO'], $_POST['form']['STARTEDBY'] );
|
||||
|
||||
}
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile( '/jscore/reports/reports.js' );
|
||||
|
||||
$G_PUBLISH = new Publisher();
|
||||
$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'reports/report2', $c );
|
||||
|
||||
if (isset( $_POST['form'] ))
|
||||
if (isset( $_POST['form'] )) {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report1_search', '', $fields );
|
||||
else
|
||||
} else {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report1_search' );
|
||||
}
|
||||
G::RenderPage( 'publish' );
|
||||
break;
|
||||
|
||||
case 3:
|
||||
$sw = 0;
|
||||
if (isset( $_POST['form'] )) {
|
||||
@@ -137,25 +138,24 @@ try {
|
||||
G::LoadClass( 'report' );
|
||||
$oReport = new Report();
|
||||
|
||||
if ($sw == 0)
|
||||
if ($sw == 0) {
|
||||
$c = $oReport->generatedReport3();
|
||||
else
|
||||
} else {
|
||||
$c = $oReport->generatedReport3_filter( $_POST['form']['PROCESS'], $_POST['form']['TASKS'] );
|
||||
|
||||
}
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile( '/jscore/reports/reports.js' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
|
||||
if (isset( $_POST['form'] ))
|
||||
if (isset( $_POST['form'] )) {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report_filter', '', $fields );
|
||||
else
|
||||
} else {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report_filter' );
|
||||
|
||||
}
|
||||
$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'reports/report3', $c );
|
||||
|
||||
G::RenderPage( 'publish' );
|
||||
break;
|
||||
|
||||
case 4:
|
||||
$sw = 0;
|
||||
if (isset( $_POST['form'] )) {
|
||||
@@ -167,25 +167,24 @@ try {
|
||||
G::LoadClass( 'report' );
|
||||
$oReport = new Report();
|
||||
|
||||
if ($sw == 0)
|
||||
if ($sw == 0) {
|
||||
$c = $oReport->generatedReport4();
|
||||
else
|
||||
} else {
|
||||
$c = $oReport->generatedReport4_filter( $_POST['form']['PROCESS'], $_POST['form']['TASKS'] );
|
||||
|
||||
}
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile( '/jscore/reports/reports.js' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
|
||||
if (isset( $_POST['form'] ))
|
||||
if (isset( $_POST['form'] )) {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report_filter', '', $fields );
|
||||
else
|
||||
} else {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report_filter' );
|
||||
|
||||
}
|
||||
$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'reports/report4', $c );
|
||||
|
||||
G::RenderPage( 'publish' );
|
||||
break;
|
||||
|
||||
case 5:
|
||||
$sw = 0;
|
||||
if (isset( $_POST['form'] )) {
|
||||
@@ -197,25 +196,24 @@ try {
|
||||
G::LoadClass( 'report' );
|
||||
$oReport = new Report();
|
||||
|
||||
if ($sw == 0)
|
||||
if ($sw == 0) {
|
||||
$c = $oReport->generatedReport5();
|
||||
else
|
||||
} else {
|
||||
$c = $oReport->generatedReport5_filter( $_POST['form']['PROCESS'], $_POST['form']['TASKS'] );
|
||||
|
||||
}
|
||||
$oHeadPublisher = & headPublisher::getSingleton();
|
||||
$oHeadPublisher->addScriptFile( '/jscore/reports/reports.js' );
|
||||
$G_PUBLISH = new Publisher();
|
||||
|
||||
if (isset( $_POST['form'] ))
|
||||
if (isset( $_POST['form'] )) {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report_filter', '', $fields );
|
||||
else
|
||||
} else {
|
||||
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'reports/report_filter' );
|
||||
|
||||
}
|
||||
$G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'reports/report5', $c );
|
||||
|
||||
G::RenderPage( 'publish' );
|
||||
break;
|
||||
|
||||
default:
|
||||
$foundReport = false;
|
||||
$oPluginRegistry = &PMPluginRegistry::getSingleton();
|
||||
@@ -257,9 +255,10 @@ try {
|
||||
}
|
||||
closedir( $handle );
|
||||
}
|
||||
if (! $foundReport)
|
||||
if (! $foundReport) {
|
||||
throw (new Exception( "Call to an nonexistent member function " . $RPT_UID . "() " ));
|
||||
}
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
$G_PUBLISH = new Publisher();
|
||||
|
||||
Reference in New Issue
Block a user