Переглянути джерело

Removing old code to add/edit sessions

Julio Montoya 12 роки тому
батько
коміт
faa0c0baee

+ 1 - 1
main/inc/lib/main_api.lib.php

@@ -1859,7 +1859,7 @@ function api_get_session_visibility($session_id, $course_code = null, $ignore_vi
 
                 //if access_end_date is set
                 if (!empty($row['access_end_date']) && $row['access_end_date'] != '0000-00-00 00:00:00') {                    
-                    //only if date_start said that it was ok
+                    //only if access_end_date said that it was ok
                     if ($visibility == SESSION_AVAILABLE) {
                         $visibility = $row['visibility'];
 

+ 10 - 34
main/inc/lib/sessionmanager.lib.php

@@ -132,6 +132,7 @@ class SessionManager {
       * @todo use an array to replace all this parameters or use the model.lib.php ...
 	  * @return mixed       Session ID on success, error message otherwise
       **/
+    /*
 	public static function create_session($sname,$syear_start,$smonth_start,$sday_start,$syear_end,$smonth_end,$sday_end,$snb_days_acess_before,$snb_days_acess_after, $nolimit,$coach_username, $id_session_category,$id_visibility, $start_limit = true, $end_limit = true, $fix_name = false) {		
 		global $_configuration;
         
@@ -228,16 +229,7 @@ class SessionManager {
 				$session_id = Database::insert_id();
                 
                 if (!empty($session_id)) {
-                    /*
-                    Sends a message to the user_id = 1
-                                        
-                    $user_info = api_get_user_info(1);
-                    $complete_name = $user_info['firstname'].' '.$user_info['lastname'];
-                    $subject = api_get_setting('siteName').' - '.get_lang('ANewSessionWasCreated');                    
-                    $message = get_lang('ANewSessionWasCreated')." <br /> ".get_lang('NameOfTheSession').' : '.$name;                                        
-                    api_mail_html($complete_name, $user_info['email'], $subject, $message);
-                    * 
-                    */                    
+                        
     				//Adding to the correct URL                    
                     $access_url_id = api_get_current_access_url_id();
                     UrlManager::add_session_to_url($session_id,$access_url_id);            
@@ -251,6 +243,7 @@ class SessionManager {
 		}
 	}
 	
+    */
 	function session_name_exists($session_name) {
 	    $session_name = Database::escape_string($session_name);
         $result = Database::fetch_array(Database::query("SELECT COUNT(*) as count FROM ".Database::get_main_table(TABLE_MAIN_SESSION)." WHERE name = '$session_name' "));
@@ -455,6 +448,7 @@ class SessionManager {
 	 * @return $id;
 	 * The parameter id is a primary key
 	**/
+    /*
 	public static function edit_session ($id,$name,$year_start,$month_start,$day_start,$year_end,$month_end,$day_end,$nb_days_acess_before,$nb_days_acess_after,$nolimit,$id_coach, $id_session_category, $id_visibility, $start_limit = true, $end_limit = true) {
 		global $_user;
 		$name=trim(stripslashes($name));
@@ -537,6 +531,7 @@ class SessionManager {
 			}
 		}
 	}
+    */
 	/**
 	 * Delete session
 	 * @author Carlos Vargas  from existing code
@@ -1354,14 +1349,14 @@ 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, s.promotion_id
+		$sql_query = " SELECT s.id, s.name, s.nbr_courses, s.access_start_date, s.access_end_date, 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
 				INNER JOIN $table_access_url_rel_session ar ON ar.session_id = s.id
 				LEFT JOIN  $session_category_table sc ON s.session_category_id = sc.id
 				WHERE ar.access_url_id = $access_url_id ";
         
-		if (count($conditions)>0) {
+		if (count($conditions) > 0) {
 			$sql_query .= ' AND ';
 			foreach ($conditions as $field=>$value) {
                 $field = Database::escape_string($field);
@@ -1784,29 +1779,10 @@ class SessionManager {
      */
     public function copy_session($id, $copy_courses = true, $copy_users = true, $create_new_courses = false, $set_exercises_lp_invisible = false) {
         $id = intval($id);
-        $s = self::fetch($id);
-        $s['year_start']    = substr($s['date_start'],0,4);
-        $s['month_start']   = substr($s['date_start'],5,2);
-        $s['day_start']     = substr($s['date_start'],8,2);
-        $s['year_end']      = substr($s['date_end'],0,4);
-        $s['month_end']     = substr($s['date_end'],5,2);
-        $s['day_end']       = substr($s['date_end'],8,2);        
-        $consider_start = true;
-        if ($s['year_start'].'-'.$s['month_start'].'-'.$s['day_start'] == '0000-00-00') {
-            $consider_start = false;
-        }
-        $consider_end = true;
-        if ($s['year_end'].'-'.$s['month_end'].'-'.$s['day_end'] == '0000-00-00') {
-            $consider_end = false;
-        }
-        
-        $sid = self::create_session($s['name'].' '.get_lang('Copy'),
-             $s['year_start'], $s['month_start'], $s['day_start'],
-             $s['year_end'],$s['month_end'],$s['day_end'],
-             $s['nb_days_acess_before_beginning'],$s['nb_days_acess_after_end'],
-             false,(int)$s['id_coach'], $s['session_category_id'],
-             (int)$s['visibility'],$consider_start, $consider_end, true);
+        $params = self::fetch($id);
         
+        $params['name'] = $params['name'].' '.get_lang('Copy');
+        $sid = self::add($params);
         if (!is_numeric($sid) || empty($sid)) {
         	return false;
         }

+ 1 - 2
main/inc/lib/tracking.lib.php

@@ -1307,8 +1307,7 @@ class Tracking {
 		 */
 		public static function get_sessions_coached_by_user($coach_id) {
 			// table definition
-			$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);
-			$tbl_session_course = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE);
+			$tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION);			
 			$tbl_session_course_user = Database :: get_main_table(TABLE_MAIN_SESSION_COURSE_USER);
 
 			// protect datas

+ 24 - 13
main/webservices/webservice_session.php

@@ -31,7 +31,7 @@ class WSSession extends WS {
 	 * @param array Array of extra fields
 	 * @return mixed Generated id in case of success, WSError otherwise
 	 */
-	protected function createSessionHelper($name, $start_date, $end_date, $nb_days_access_before, $nb_days_access_after, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) {
+	protected function createSessionHelper($name, $start_date, $end_date, $coach_access_start_date, $coach_access_end_date, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) {
 		// Verify that coach exists and get its id
 		$user_id = $this->getUserId($user_id_field_name, $user_id_value);
 		if($user_id instanceof WSError) {
@@ -47,7 +47,17 @@ class WSSession extends WS {
 			$ed_element = intval($ed_element);
 		}
 		// Try to create the session
-		$session_id = SessionManager::create_session($name, $start_date_array[0], $start_date_array[1], $start_date_array[2], $end_date_array[0], $end_date_array[1], $end_date_array[2], (int)$nb_days_access_before, (int)$nb_days_access_after, (int)$nolimit, $user_id, 0, (int)$visibility);
+        $params = array(
+            'name' => $name,
+            'access_start_date' => $start_date,
+            'access_end_date' => $end_date,
+            'coach_access_start_date' => $coach_access_start_date,
+            'coach_access_end_date' => $coach_access_end_date,
+            'visibility' => $visibility
+        );
+        
+		$session_id = SessionManager::add($params);
+        
 		if(!is_int($session_id)) {
 			return new WSError(301, 'Could not create the session');
 		} else {
@@ -153,7 +163,7 @@ class WSSession extends WS {
 	 * @param array Array of extra fields
 	 * @return mixed True on success, WSError otherwise
 	 */
-	protected function editSessionHelper($name, $start_date, $end_date, $nb_days_access_before, $nb_days_access_after, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) {
+	protected function editSessionHelper($name, $start_date, $end_date, $coach_access_start_date, $coach_access_end_date, $nolimit, $visibility, $user_id_field_name, $user_id_value, $session_id_field_name, $session_id_value, $extras) {
 		$session_id = $this->getSessionId($session_id_field_name, $session_id_value);
 		if($session_id instanceof WSError) {
 			return $session_id;
@@ -163,16 +173,17 @@ class WSSession extends WS {
 			if($user_id instanceof WSError) {
 				return $user_id;
 			}
-			// Build the date
-			$start_date_array = explode('-', $start_date);
-			foreach($start_date_array as &$sd_element) {
-				$sd_element = intval($sd_element);
-			}
-			$end_date_array = explode('-', $end_date);
-			foreach($end_date_array as &$ed_element) {
-				$ed_element = intval($ed_element);
-			}
-			$result_id = SessionManager::edit_session($session_id, $name, $start_date_array[0], $start_date_array[1], $start_date_array[2], $end_date_array[0], $end_date_array[1], $end_date_array[2], (int)$nb_days_access_before, (int)$nb_days_access_after, (int)$nolimit, $user_id, 0, (int)$visibility);
+            $params = array(
+              'id' =>   $session_id,
+                'name' => $name,
+               'access_start_date' => $start_date,
+                'access_end_date' => $end_date,
+                'coach_access_start_date' => $coach_access_start_date,
+                'coach_access_end_date' => $coach_access_end_date,
+                'visibility' => $visibility
+            );
+			$result_id = SessionManager::update($params);
+
 			if(!is_int($result_id)) {
 				return new WSError(302, 'Could not edit the session');
 			} else {

+ 3 - 47
tests/main/inc/lib/sessionmanager.lib.test.php

@@ -20,32 +20,8 @@ class TestSessionManager extends UnitTestCase {
 		ob_end_clean();
 		//var_dump($res);
 	}
-
-	function testcreate_session() {
-		global $_user;
-		$sname='';
-		$syear_start='';
-		$smonth_start='';
-		$sday_start='';
-		$syear_end='';
-		$smonth_end='';
-		$sday_end='';
-		$snb_days_acess_before='';
-		$snb_days_acess_after='';
-		$nolimit='';
-		$coach_username='';
-		$id_session_category='';
-		$id_visibility='';
-		$id_session=Database::insert_id();
-		ob_start();
-		$res=SessionManager::create_session($sname,$syear_start,$smonth_start,$sday_start,$syear_end,$smonth_end,$sday_end,$snb_days_acess_before,$snb_days_acess_after,$nolimit,$coach_username,$id_session_category,$id_visibility);
-		$this->assertTrue(is_numeric($id_session));
-		$this->assertTrue(is_string($res));
-		ob_end_clean();
-		//var_dump($id_session);
-	}
-
-	function testcreate_session_extra_field() {
+    
+    function testcreate_session_extra_field() {
 		$fieldvarname='';
 		$fieldtype='';
 		$fieldtitle='';
@@ -71,27 +47,7 @@ class TestSessionManager extends UnitTestCase {
 	}
 	*/
 
-	function testedit_session() {
-		global $_user;
-		$id=1;
-		$name='';
-		$year_start='';
-		$month_start='';
-		$day_start='';
-		$year_end='';
-		$month_end='';
-		$day_end='';
-		$nb_days_acess_before='';
-		$nb_days_acess_after='';
-		$nolimit='';
-		$id_coach='';
-		$id_session_category='';
-		$id_visibility='';
-		$res=SessionManager::edit_session($id,$name,$year_start,$month_start,$day_start,$year_end,$month_end,$day_end,$nb_days_acess_before,$nb_days_acess_after,$nolimit,$id_coach, $id_session_category, $id_visibility);
-		$this->assertTrue(is_numeric($id));
-		$this->assertTrue(is_string($res));
-		//var_dump($id);
-	}
+
 
 	function testget_session_by_name() {
 		$session_name='';