rendered paste body----------------------
Listing Page
----------------------
$sort = new EDTSort('Jobs', $columns);
$sort->defaultOrder = 'job_created_date DESC';
/* $sort->attributes = array(
'client_name'=>'client_name',
'created_on'=>'created_on',
'name' => array(
'asc'=>'EntityType.name',
'desc'=>'EntityType.name DESC',
),
); */
$pagination = new EDTPagination();
if (Yii::app()->getRequest()->getIsAjaxRequest()) {
//echo "<pre>"; print_r($criteria);
}
$dataProvider = new CActiveDataProvider('Jobs', array(
'criteria' => $criteria,
'pagination' => $pagination,
'sort' => $sort,
));
$columns = array(
array('name' => 'jobName', 'header' => 'Job Name', 'value' => '$data["jobName"]'),
array(
'class' => 'ext.EDataTables.EButtonColumn',
'template' => '{update} ',
'header' => Yii::t('app', 'Documents'),
'buttons' => array(
'view' => array(
'label' => 'View',
'imageUrl' => false,
'options' => array(
'class' => 'some-css-class-drawing-pretty-icons',
),
),
'update' => array(
'url' => 'Yii::app()->createUrl("documents/viewdocs/", array("id"=>$data->job_id))',
'label' => '<div class="btn-group margin-right-5px"><span data-original-title="Upload" data-placement="top">View Documents</span></div>',
'htmlClass' => '',
'icon' => '',
'imageUrl' => false,
'click' => 'function(e) {
$("#viewDocuments").remove();
e.preventDefault();
var $this = $(this)
, $remote = $this.data("remote") || $this.attr("href")
, $modal = $("<div class=\'modal\' id=\'viewDocuments\'><div class=\'modal-body\'><div class=\'loading-shadow\'><div class=\'loading\'><img src=\'' . Yii::app()->theme->baseUrl. '/images/sr-loading.gif\'></div></div></div></div>");
$("body").append($modal);
$modal.modal({backdrop: "static", keyboard: false});
$modal.load($remote);
$modal.on("hidden.bs.modal", function () {
$("#viewDocuments").remove();
});
}',
'options' => array(
'class' => 'viewdocs',
'title' => '',
'data-toggle'=>"viewDocuments",
'data-target'=>"#uploadDocs"
),
),
),
),
array(
'class' => 'ext.EDataTables.EButtonColumn',
'template' => '{update} ',
'header' => Yii::t('app', 'Upload Document'),
'buttons' => array(
'view' => array(
'label' => 'View',
'imageUrl' => false,
'options' => array(
'class' => 'some-css-class-drawing-pretty-icons',
),
),
'update' => array(
'url' => 'Yii::app()->createUrl("documents/ajaxupload/", array("id"=>$data->job_id))',
'label' => '<div class="btn-group margin-right-5px"><button data-original-title="Upload" data-placement="top" class="btn sr-btn-success pull-right margin-top-zero margin-bottom-zero upload" type="button">
<d class="icon-sr-icons-upload"></d></button></div>',
'htmlClass' => '',
'icon' => '',
'imageUrl' => false,
'click' => 'function(e) {
$("#ajaxModal").remove();
e.preventDefault();
var $this = $(this)
, $remote = $this.data("remote") || $this.attr("href")
, $modal = $("<div class=\'modal\' id=\'ajaxModal\'><div class=\'modal-body\'><div class=\'loading-shadow\'><div class=\'loading\'><img src=\'' . Yii::app()->theme->baseUrl. '/images/sr-loading.gif\'></div></div></div></div>");
$("body").append($modal);
$modal.modal({backdrop: "static", keyboard: false});
$modal.load($remote);
}',
'options' => array(
'class' => 'a',
'title' => '',
'data-toggle'=>"ajaxModal",
'data-target'=>"#uploadDocs"
),
),
),
),
);
$widget = $this->createWidget('ext.EDataTables.EDataTables', array(
'id' => 'jobs-grid-docs',
'dataProvider' => $dataProvider,
'ajaxUrl' => Yii::app()->createUrl('jobs/document'),
'columns' => $columns,
'buttons' => array('refresh'=>NULL),
'htmlOptions'=>array('class'=>''),
)
);
//echo "<pre>"; print_r($widget);exit;
if (!Yii::app()->getRequest()->getIsAjaxRequest()) {
$this->render('document', array('widget' => $widget,));
return;
} else {
//echo "<pre>";print_r($widget);
echo json_encode($widget->getFormattedData(intval($_REQUEST['sEcho'])));
Yii::app()->end();
}
------------------------------------------------------
Popup Grid is below
------------------------------------------------------
if (Yii::app()->getRequest()->getIsAjaxRequest()) {
$this->layout = '//jobtracker/layouts/ajax';
}
$model = new Jobs();
$jobData = $model->findAll('job_id=' . $id);
// echo "<pre>";
// print_r($jobData);
// exit;
$jobData[0]->jobName = $model->generateJobName($jobData[0]);
$model = new Documents();
$columns = array(
'id',
'document_title',
'upload_date',
);
$criteria = new CDbCriteria;
$criteria->with = array('Jobs');
$criteria->together = true;
$criteria->compare('t.job_id', $id, false, 'AND');
if (isset($_REQUEST['sSearch']) && isset($_REQUEST['sSearch']{0})) {
$criteria1 = new CDbCriteria;
$criteria1->compare('t.document_title', $_REQUEST['sSearch'], true, 'OR');
$criteria1->compare('upload_date', date('Y-m-d', strtotime(str_replace("/", "-", $_REQUEST['sSearch']))), true, 'OR');
$criteria->mergeWith($criteria1);
}
$sort = new EDTSort('Documents', $columns);
$sort->defaultOrder = 'upload_date DESC';
$pagination = new EDTPagination();
$dataProvider = new CActiveDataProvider('Documents', array(
'criteria' => $criteria,
'pagination' => $pagination,
'sort' => $sort,
));
$columns = array(
array('name' => 'doc', 'header' => 'Documents', 'value' => '$data->document_title'),
array('name' => 'upload_date', 'header' => 'Upload Date', 'value' => 'date("d/m/Y",strtotime($data->upload_date))'),
array(
'class' => 'ext.EDataTables.EButtonColumn',
'template' => '{update} ',
'header' => Yii::t('app', 'Download'),
'buttons' => array(
'view' => array(
'label' => 'View',
'imageUrl' => false,
'options' => array(
'class' => 'some-css-class-drawing-pretty-icons',
),
),
'update' => array(
'url' => 'Yii::app()->createUrl("documents/download/", array("fileName"=>$data->file_path,"jobtype"=>strtolower($data->Jobs->job_genre)))',
'label' => '<div class="btn-group margin-right-5px"><button data-original-title="Download" data-placement="top" class="btn sr-btn-success pull-right margin-top-zero margin-bottom-zero upload" type="button"><d class="icon-sr-icons-download"></d></button></div>',
'imageUrl' => false,
'options' => array(
'class' => '',
),
),
),
),
);
$widget = $this->createWidget('ext.EDataTables.EDataTables', array(
'id' => 'document-grid',
'dataProvider' => $dataProvider,
'ajaxUrl' => Yii::app()->createUrl('documents/viewdocs',array('id'=>$id)),
'columns' => $columns,
'buttons' => array('refresh' => NULL),
'htmlOptions' => array('class' => ''),
)
);
if (!isset($_REQUEST['sEcho'])) {
$this->render('viewdocs', array(
'id' => $id,
'model' => $jobData[0],
'widget' => $widget
));
return;
} else {
//echo "<pre>";print_r($widget);
echo json_encode($widget->getFormattedData(intval($_REQUEST['sEcho'])));
Yii::app()->end();
}