Adding Career and Promotions CRUD see BT#1619

skala
Julio Montoya 15 years ago
parent dbc5f25158
commit 63536f13b9
  1. 6
      main/admin/index.php
  2. 8
      main/inc/ajax/course_home.ajax.php
  3. 25
      main/inc/lib/database.lib.php
  4. 41
      main/inc/lib/display.lib.php
  5. 21
      main/inc/lib/sessionmanager.lib.php

@ -160,7 +160,11 @@ if (api_is_platform_admin()) { ?>
if (is_dir(api_get_path(SYS_TEST_PATH).'datafiller/')) {
// Do not show on production portals, where the tests directory doesn't exist.
echo '<li><a href="filler.php">'.get_lang('DataFiller').'</a></li>';
}
}
echo Display::tag('li',Display::url(get_lang('CareersAndPromotions'), 'career_dashboard.php'));
//echo Display::tag('li',Display::url(get_lang('Promotions'), 'promotions.php'));
?>
</ul>
</div>

@ -154,9 +154,9 @@ switch ($action) {
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
$page = intval($_REQUEST['page']); //page
$page = intval($_REQUEST['page']); //page
$limit = intval($_REQUEST['rows']); // quantity of rows
$sidx = $_REQUEST['sidx']; //index to filter
$sidx = intval($_REQUEST['sidx']); //index to filter
$sord = $_REQUEST['sord']; //asc or desc
if (!in_array($sord, array('asc','desc'))) {
$sord = 'desc';
@ -221,9 +221,9 @@ switch ($action) {
require_once api_get_path(SYS_CODE_PATH).'newscorm/learnpathList.class.php';
$page = intval($_REQUEST['page']); //page
$page = intval($_REQUEST['page']); //page
$limit = intval($_REQUEST['rows']); // quantity of rows
$sidx = $_REQUEST['sidx']; //index to filter
$sidx = intval($_REQUEST['sidx']); //index to filter
$sord = $_REQUEST['sord']; //asc or desc
if (!in_array($sord, array('asc','desc'))) {
$sord = 'desc';

@ -276,6 +276,11 @@ define('TABLE_THEMATIC','thematic');
define('TABLE_THEMATIC_PLAN', 'thematic_plan');
define('TABLE_THEMATIC_ADVANCE','thematic_advance');
define('TABLE_CAREER', 'career');
define('TABLE_PROMOTION', 'promotion');
/* DATABASE CLASS
The class and its methods
*/
@ -1344,7 +1349,7 @@ class Database {
}
$sql = "SELECT $clean_columns FROM $table_name $conditions";
$sql = "SELECT $clean_columns FROM $table_name $conditions";
@ -1373,8 +1378,7 @@ class Database {
private function parse_conditions($conditions) {
if (empty($conditions)) {
return '';
}
}
$return_value = '';
foreach ($conditions as $type_condition => $condition_data) {
switch($type_condition) {
@ -1421,9 +1425,10 @@ class Database {
$result = false;
$where_return = self::parse_where_conditions($where_conditions);
$sql = "DELETE FROM $table_name $where_return ";
$result = self::query($sql);
$result = self::query($sql);
$affected_rows = self::affected_rows();
//@todo should return affected_rows for
return $result;
return $affected_rows;
}
@ -1431,21 +1436,27 @@ class Database {
* Experimental useful database update
* @todo lot of stuff to do here
*/
public static function update_query($table_name, $attributes, $where_conditions = array()) {
public static function update($table_name, $attributes, $where_conditions = array()) {
if (!empty($table_name) && !empty($attributes)) {
$update_sql = '';
//Cleaning attributes
$count = 1;
foreach ($attributes as $key=>$value) {
$value = self::escape_string($value);
$update_sql .= "$key = '$value' ";
if ($count < count($attributes)) {
$update_sql.=', ';
}
$count++;
}
if (!empty($update_sql)) {
//Parsing and cleaning the where conditions
$where_return = self::parse_where_conditions($where_conditions);
$sql = "UPDATE $table_name SET $update_sql $where_return ";
$result = self::query($sql);
return $result;
$affected_rows = self::affected_rows();
return $affected_rows;
}
}
return false;

@ -710,6 +710,14 @@ class Display {
return self::tag('a', $name, $extra_attributes);
}
public static function div($content, $extra_attributes = array()) {
return self::tag('div', $content, $extra_attributes);
}
/**
* Displays an HTML input tag
*
*/
public static function input($type, $name, $value, $extra_attributes = array()) {
if (!empty($type)) {
$extra_attributes['type']= $type;
@ -724,15 +732,19 @@ class Display {
}
/**
* Displays a select tag
* Displays an HTML select tag
*
*/
public function select($name, $values, $default = -1, $parameter_list = array(), $show_blank_item = true) {
public function select($name, $values, $default = -1, $extra_attributes = array(), $show_blank_item = true) {
$extra = '';
foreach($parameter_list as $key=>$parameter) {
$default_id = 'id="'.$name.'" ';
foreach($extra_attributes as $key=>$parameter) {
if ($key == 'id') {
$default_id = '';
}
$extra .= $key.'="'.$parameter.'"';
}
$html .= '<select name="'.$name.'" id="'.$name.'" '.$extra.'>';
$html .= '<select name="'.$name.'" '.$default_id.' '.$extra.'>';
if ($show_blank_item) {
$html .= self::tag('option', '-- '.get_lang('Select').' --', array('value'=>'-1'));
@ -819,11 +831,11 @@ class Display {
* @return string the js code
*
*/
public static function grid_js($div_id, $url, $column_names, $column_model, $extra_params, $data = array()) {
public static function grid_js($div_id, $url, $column_names, $column_model, $extra_params, $data = array(), $formatter = '') {
$obj = new stdClass();
if (!empty($url))
$obj->url = $url;
$obj->url = $url;
$obj->colNames = $column_names;
$obj->colModel = $column_model;
$obj->pager = $div_id.'_pager';
@ -851,7 +863,8 @@ class Display {
//height: 'auto',
$obj->viewrecords = 'true';
$obj->viewrecords = 'true';
if (!empty($extra_params['viewrecords']))
$obj->viewrecords = $extra_params['viewrecords'];
@ -861,6 +874,7 @@ class Display {
}
}
//Adding static data
if (!empty($data)) {
$data_var = $div_id.'_data';
$json.=' var '.$data_var.' = '.json_encode($data).';';
@ -870,20 +884,29 @@ class Display {
$obj->datatype = 'local';
$json.="\n";
}
$json_encode = json_encode($obj);
if (!empty($data)) {
//Converts the "data":"js_variable" to "data":js_variable
//Converts the "data":"js_variable" to "data":js_variable othersiwe it will not work
$json_encode = str_replace('"data":"'.$data_var.'"','"data":'.$data_var.'',$json_encode);
}
//Fixing true/false js values that doesn't need the ""
$json_encode = str_replace(':"true"',':true',$json_encode);
$json_encode = str_replace(':"false"',':false',$json_encode);
$json_encode = str_replace('"formatter":"action_formatter"','formatter:action_formatter',$json_encode);
//Creating the jqgrid element
$json .= '$("#'.$div_id.'").jqGrid(';
$json .= $json_encode;
$json .= ');';
$json.="\n";
//Adding edit/delete icons
$json.=$formatter;
return $json;
/*

@ -16,7 +16,7 @@ require_once(dirname(__FILE__).'/course.lib.php');
*
* @package chamilo.library
*/
class SessionManager {
class SessionManager {
private function __construct() {
}
@ -958,7 +958,7 @@ class SessionManager {
$return_array = array();
$sql_query = " SELECT s.id, s.name, s.nbr_courses, s.date_start, s.date_end, u.firstname, u.lastname , sc.name as category_name
$sql_query = " SELECT s.id, s.name, s.nbr_courses, s.date_start, s.date_end, u.firstname, u.lastname , sc.name as category_name, s.promotion_id
FROM $session_table s
INNER JOIN $user_table u ON s.id_coach = u.user_id
LEFT JOIN $session_category_table sc ON s.session_category_id = sc.id ";
@ -1240,4 +1240,21 @@ class SessionManager {
}
function get_all_sessions_by_promotion($id) {
$t = Database::get_main_table(TABLE_MAIN_SESSION);
return Database::select('*', $t, array('where'=>array('promotion_id = ?'=>$id)));
}
function suscribe_sessions_to_promotion($promotion_id, $list) {
$t = Database::get_main_table(TABLE_MAIN_SESSION);
$params['promotion_id'] = 0;
Database::update($t, $params, array('promotion_id = ?'=>$promotion_id));
$params['promotion_id'] = $promotion_id;
foreach ($list as $session_id) {
$session_id= intval($session_id);
Database::update($t, $params, array('id = ?'=>$session_id));
}
}
}

Loading…
Cancel
Save