|   | 
          
               
            | 
            | 
            | 
         
        
          |   | 
         
        
            | 
          
           
        
            
            
            
              
                
                
											
												|      
                                                  Ajouter une réservation d'un local | 
											 
          
         
          
											
												  | 
											 
												  | 
            
																										
                                                 														
												  
                                                 
                                                  
                                                  
                                                    
                                                      
                                                      
                                                      
                                                      
                                
<%
check_security(1) 
%>
  
        
		
  
		| 
		
<%
sub validate_time
	'*******validation des entree**************
	 If not IsNumeric(Cout) and Cout <> "" Then   
	 error_list.add "startendtime", "Entrer un numero dans le Coût"
	 b_error = true        
     End If
	
	'********valide heures**********************
	 if tm_start = "" or tm_end = "" then
	 error_list.add "startendtime", "Les heures de location et la date sont olbigatoire"
	 b_error = true        
     End If
	
	 if Request("moisd") = "" or Request("jourd") = "" or  Request("anneed") = "" then
	 error_list.add "starttime", "Entrer la date de location ."
	 b_error = true        
     End If
	
				
	':: requests and validates event start and end time
	if len(tm_start) > 0 then tm_start = tm_start & " : " & request("minute_start")
	if len(tm_end) > 0 then tm_end = tm_end & " : " & request("minute_end")
	if len(tm_end) > 0 then
	
	debut = "07 AM"
			
		if (TimeValue(tm_start) < TimeValue(debut)) or (TimeValue(tm_end) < TimeValue(debut)) or (TimeValue(tm_start) > TimeValue(tm_end)) then
			error_list.add "startendtime", "l'heure de réservation doit être entre 7h et 23h."
			b_error = true
		end if
		
		if (dt_start=dt_end) AND (TimeValue(tm_start) > TimeValue(tm_end))  then
			error_list.add "startendtime", "Heure de fin (" & tm_end & ") n'est pas aprés l'heure de début (" & tm_start & ")."
			b_error = true
		end if
	end if
end sub
sub validate_reservation
'********************************
	blnReservation = false
	'b_error = false
	dTmp = datevalue(dt_start)
	
	for j = 1 to 300
	if dTmp <= recurring_end then
			blnReservation=verification(location,tm_start,tm_end,dTmp)
			if blnReservation = true then
			error_list.add "startendtime","Le local n'est pas disponible. (" & tm_start & "),(" & tm_end & ")"
			b_error = true
			end if
			else 
			exit for
			end if
		if recurring = 0 then
			dTmp = dateadd("d",1,dTmp)
		elseif recurring < 30 then
			dTmp = dateadd("d",recurring,dTmp)
		elseif recurring = 30 then
			dTmp = dateadd("m",1,dTmp)
		else
			dTmp = dateadd("yyyy",1,dTmp)
		end if
	next
end sub
sub validate_Update
'********************************
	blnReservation = false
	'b_error = false
	
	dTmp = datevalue(dt_start)
	for j = 1 to 300
	if dTmp <= recurring_end then
			blnReservation=verificationUpdate(location,tm_start,tm_end,dTmp,event_id)
			if blnReservation = true then
			error_list.add "startendtime","Le local n'est pas disponible. (" & tm_start & "),(" & tm_end & ")"
			b_error = true
			
			
			end if
			else 
			exit for
			end if
			
		if recurring = 0 then
			dTmp = dateadd("d",1,dTmp)
		elseif recurring < 30 then
			dTmp = dateadd("d",recurring,dTmp)
		elseif recurring = 30 then
			dTmp = dateadd("m",1,dTmp)
		else
			dTmp = dateadd("yyyy",1,dTmp)
		end if
	next
end sub
sub add_eventoccurs
	'*******************************
	dTmp = datevalue(dt_start)
	for i = 1 to 300
		if dTmp <= recurring_end then cn.Execute("INSERT INTO EventsOccur (event_id, dt_occur, tm_start, tm_end, event_name, description, location,Organisme,NomC,PrenomC,TelC,EmailC,Cout,Tax, b_register) VALUES ("&to_sql(event_id,"number")&","&to_sql(dTmp,"absdate")&","&to_sql(tm_start,"absdate")&","&to_sql(tm_end,"absdate")&","&to_sql(event_name,"text")&","&to_sql(description,"text")&","&to_sql(location,"text")&","&to_sql(Organisme,"text")&","&to_sql(NomC,"text")&","&to_sql(PrenomC,"text")&","&to_sql(TelC,"text")&","&to_sql(EmailC,"text")&","&to_sql(Cout,"text")&","&to_sql(Tax,"text")&","&to_sql(b_register,"number")&")") else exit for
		if recurring = 0 then
			dTmp = dateadd("d",1,dTmp)
		elseif recurring < 30 then
			dTmp = dateadd("d",recurring,dTmp)
		elseif recurring = 30 then
			dTmp = dateadd("m",1,dTmp)
		else
			dTmp = dateadd("yyyy",1,dTmp)
		end if
	next
end sub
%>
<%
dim tm_end
dim id
dim recurring_end
dim event_id
dim CodeAdmin
dim event_name
dim location
dim Organisme
dim NomC
dim PrenomC
dim TelC
dim EmailC
dim Cout
dim Tax
dim b_register
dim description
dim dt_start
dim tm_start
dim b_personal
dim recurring
dim dt_occur
dim recurring_update
dim edit_events_sql
sub request_edit_events
''' request form inputs from this form
	tm_end = request("tm_end")
	id = request("id")
	
	'recurring_end = request("recurring_end")
	if Request.Form("moisend")<> "" and  Request.Form("jourend") <> "" and  Request.Form("anneeend")<> "" then
	recurring_end = Request("moisend") & "/" & Request("jourend") & "/" & Request("anneeend")
	end if
	event_id = request("event_id")
	CodeAdmin = request("CodeAdmin")
	event_name = request("event_name")
	location = request("location")
	
	Organisme = request("Organisme")
	NomC = request("NomC")
	PrenomC = request("PrenomC")
	TelC = request("TelC")
	EmailC = request("EmailC")
	Cout = request("Cout")
	Tax = request("Tax")
	
	b_register = request("b_register")
	description = request("description")
	
	'dt_start = request("dt_start")
	if Request.Form("moisd")<> "" and  Request.Form("jourd") <> "" and  Request.Form("anneed")<> "" then
	dt_start = Request("moisd") & "/" & Request("jourd") & "/" & Request("anneed")
	end if
	tm_start = request("tm_start")
	b_personal = request("b_personal")
	recurring = request("recurring")
	dt_occur = request("dt_occur")
	recurring_update = request("recurring_update")
end sub
sub validate_edit_events
''' request and validate data entered from this form
	tm_end = trim(request("tm_end"))
	id = trim(request("id"))
	
	'recurring_end = trim(request("recurring_end"))
	if Request.Form("moisend")<> "" and  Request.Form("jourend") <> "" and  Request.Form("anneeend")<> "" then
	recurring_end = trim(Request("moisend") & "/" & Request("jourend") & "/" & Request("anneeend"))
	end if
		
	event_id = trim(request("event_id"))
	CodeAdmin = trim(request("CodeAdmin"))
	if CodeAdmin = "" then
		error_list.add "661037","Le code est obligatoire."
		b_error = true
	end if
	event_name = trim(request("event_name"))
	if event_name = "" then
		error_list.add "661038","Le titre est obligatoire."
		b_error = true
	end if
	location = trim(request("location"))
	
	Organisme = trim(request("Organisme"))
	NomC = trim(request("NomC"))
	PrenomC = trim(request("PrenomC"))
	TelC = trim(request("TelC"))
	EmailC = trim(request("EmailC"))
	Cout = trim(request("Cout"))
	Tax = trim(request("Tax"))
	
	b_register = trim(request("b_register"))
	description = trim(request("description"))
	
	if Request.Form("moisd")<> "" and  Request.Form("jourd") <> "" and  Request.Form("anneed")<> "" then
	dt_start = trim(Request("moisd") & "/" & Request("jourd") & "/" & Request("anneed"))
	end if
	
		
	if dt_start = "" then
		error_list.add "661040","La date de début est obligatoire.."
		b_error = true
	end if
	
	tm_start = trim(request("tm_start"))
	b_personal = trim(request("b_personal"))
	recurring = trim(request("recurring"))
	dt_occur = trim(request("dt_occur"))
	recurring_update = trim(request("recurring_update"))
end sub
sub get_defaults_edit_events
''' set default values for this form
	dt_start = "" & request("incDate") & ""
	b_personal = 0
	recurring_update = "0"
end sub
sub db_select_edit_Events
	sql = "SELECT " & _ 
	"Events.event_id," & _ 
	"tm_end, " & _ 
	"id, " & _ 
	"recurring_end, " & _ 
	"CodeAdmin, " & _ 
	"event_name, " & _ 
	"location, " & _ 
	
	"Organisme, " & _
	"NomC, " & _
	"PrenomC, " & _
	"TelC, " & _
	"EmailC, " & _
	"Cout, " & _
	"Tax, " & _
	
	"description," & _ 
	"dt_start, " & _ 
	"tm_start, " & _ 
	"b_personal, " & _ 
	"b_register, " & _ 
	"recurring, " & _ 
	"dt_occur FROM (Events RIGHT JOIN EventsOccur ON Events.event_id = EventsOccur.event_id)" & _ 
	" WHERE " & _ 
	"EventsOccur.id = " & to_sql(id,"number") & ""
	on error resume next
	set rs = cn.Execute(sql)
	if err.number <> 0 then
		b_error = true
		error_list.add "select_data_edit_Events", "The data selection failed. " & err.description
	elseif rs.EOF then
		b_results = false
		msg_list.add "select_data_edit_Events", "Supprimer."
	else
		tm_end = rs("tm_end")
		id = rs("id")
		recurring_end = rs("recurring_end")
		event_id = rs("event_id")
		CodeAdmin = rs("CodeAdmin")
		event_name = rs("event_name")
		location = rs("location")
		
		Organisme = rs("Organisme")
		NomC = rs("NomC")
		PrenomC = rs("PrenomC")
		TelC = rs("TelC")
		EmailC = rs("EmailC")
		Cout = rs("Cout")
		Tax = rs("Tax")
		
		b_register = rs("b_register")
		description = rs("description")
		dt_start = rs("dt_start")
		tm_start = rs("tm_start")
		b_personal = rs("b_personal")
		recurring = rs("recurring")
		dt_occur = rs("dt_occur")
		recurring_update = rs("recurring_update")
	end if
	rs.Close
	on error goto 0
end sub
sub db_insert_edit_Events
	sql = "INSERT INTO Events" & _ 
	"(" & _ 
	"CodeAdmin," & _ 
	"dt_start," & _ 
	"dt_end," & _ 
	"recurring," & _ 
	"recurring_end," & _ 
	"b_personal" & _ 
	") VALUES (" & to_sql(CodeAdmin,"number") & "," & _ 
	"" & to_sql(dt_start,"absdate") & "," & _ 
	"" & to_sql(dt_end,"absdate") & "," & _ 
	"" & to_sql(recurring,"number") & "," & _ 
	"" & to_sql(recurring_end,"absdate") & "," & _ 
	"" & to_sql(b_personal,"number") & ")" & _ 
	""
	'response.write sql
	on error resume next
	cn.Execute(sql)
	if err.Number <> 0 then
		b_error = true
		error_list.add "db_insert_edit_Events" & err.Number ,"The database insert failed. " & err.Description
	else
		set rs = cn.Execute("SELECT @@IDENTITY")
		event_id = rs(0)
		rs.Close
		msg_list.add "db_insert_edit_Events","Ajouter."	end if
	on error goto 0
end sub
sub db_update_edit_Events
	sql = "UPDATE Events SET " & _ 
	"CodeAdmin = " & to_sql(CodeAdmin,"number") & ", " & _ 
	"dt_start = " & to_sql(dt_start,"absdate") & ", " & _ 
	"dt_end = " & to_sql(dt_end,"absdate") & ", " & _ 
	"recurring = " & to_sql(recurring,"number") & ", " & _ 
	"recurring_end = " & to_sql(recurring_end,"absdate") & ", " & _ 
	"b_personal = " & to_sql(b_personal,"number") & " WHERE " & _ 
	"event_id = " & to_sql(event_id,"number") & ""
	'response.write sql
	on error resume next
	cn.execute(sql)
	if err.number <> 0 then
		b_error = true
		error_list.add "db_update_edit_Events" & err.Number ,"erreur dans la base de donnée. " & err.Description
	else
	end if
	on error goto 0
end sub
sub db_delete_edit_Events
	sql = "DELETE FROM EventsOccur" & _ 
	" WHERE " & _ 
	"id = " & to_sql(id,"number") & ""
	'response.write sql
	on error resume next
	cn.Execute(sql)
	if err.number <> 0 then
		b_error = true
		error_list.add "db_delete_edit_Events" & err.Number ,"erreure dans la suppression. " & err.Description
	else
		msg_list.add "db_delete_edit_Events","Le champ était supprimé."
	end if
	on error goto 0
end sub
''''''''''''''''''''''''''''FIN DES SUBS	
'**********************************************************************************************************
do_search = request("do_search")
sortby = request("sortby")
''' request form keys and inputs
id = request("id")
':: request action
action = lcase(request("action"))
':: handle the action
select case action
case "select_edit_events"
'  select the requested key record from database
if id <> "" then
	db_select_edit_Events
else
	b_error = true
	error_list.add "edit_edit_Events", "Spécifier l’enregistrement."
end if
'*****Ajouter ****************************
case "insert_edit_events"
validate_edit_events
validate_time
if b_error = true then
recurring_end = 0
recurring = 0
error_list.add "invalid", "Vérifier le format des entrées."
else
if len(recurring_end)=0 or recurring="" then
	recurring_end = datevalue(dt_start)
	recurring=0
elseif isDate(recurring_end) then
	recurring_end = datevalue(recurring_end)
end if
validate_reservation
if not b_error then
	db_insert_edit_events
	if not b_error then add_eventoccurs
else
	error_list.add "invalid", "Vérifier le format des entrées."
end if
end if
'******Update*******************************
case "update_edit_events"
validate_edit_events
validate_time
if len(recurring_end)=0 or recurring="" then
	recurring_end=datevalue(dt_start)
	recurring=0
	
elseif isDate(recurring_end) then
	
	recurring_end=datevalue(recurring_end)
end if
validate_Update
recurring_update=request("recurring_update")
if not b_error AND id<>"" then
	db_update_edit_events
	if recurring_update=1 then
	
	cn.Execute("DELETE FROM EventsOccur WHERE event_id=" & to_sql(event_id,"number"))
	if not b_error then add_eventoccurs
	else
	
	cn.Execute("UPDATE EventsOccur SET dt_occur=" & to_sql(dt_start,"absdate") & ",tm_start=" & to_sql(tm_start,"absdate") & ", tm_end=" & to_sql(tm_end,"absdate") & ", event_name=" & to_sql(event_name,"text") & ", description=" & to_sql(description,"text") & ", location=" & to_sql(location,"text") & ",Organisme=" & to_sql(Organisme,"text") & ",NomC=" & to_sql(NomC,"text") & ",PrenomC=" & to_sql(PrenomC,"text") & ",TelC=" & to_sql(TelC,"text") & ",EmailC=" & to_sql(EmailC,"text") & ",Cout=" & to_sql(Cout,"text") & ",Tax=" & to_sql(Tax,"text") & ", b_register=" & to_sql(b_register,"number") & ", alert=" & to_sql(alert,"number") & " WHERE id = " & to_sql(id,"number"))
	msg_list.add "updsingle", "Enregistrement modifié"
	end if
end if
case "delete_edit_events"
'  delete the requested key database record
if id<>"" then
    recurring_update=request("recurring_update")
    if recurring_update=1 then
	     event_id=request("event_id")
	     cn.Execute("DELETE FROM EventsOccur WHERE event_id="&to_sql(event_id,"number"))
	     cn.Execute("DELETE FROM Events WHERE event_id="&to_sql(event_id,"number"))
     else
	  db_delete_edit_events
end if
response.redirect "upd_events.asp?msg=Enregistrement+supprimer+"&event_id
else
b_error=true
error_list.add "delete","Pas d'enregistrement pour supprimer."
end if
end select
':: handle the default case(s) (ignores value of action parameter)
CodeAdmin = session("CodeAdmin")
if id <> "" then
	':: check user permission
	if session("accesslevel") < 3 then
		set rs = cn.execute("SELECT id, Events.event_id FROM Events, EventsOccur WHERE Events.event_id = EventsOccur.event_id AND id = " & id & " AND CodeAdmin = " & to_sql(session("CodeAdmin"),"number") & "")
		if rs.EOF then
			cannot_update = true
			msg_list.add "noaccess", "Détail."
		end if
		b_select_edit_events = true
		rs.Close
	else
		b_select_edit_events = true
	end if
else
	get_defaults_edit_events
end if
%>
<%
display_errs
display_msg
%>
<% if b_select_edit_events then db_select_edit_events %>
<%
':: check if hide form var was set
if not b_hide_edit_Events then
%>
<%
':: end hide form if
end if
%>
<%
':: assure that any db resources are freed
on error resume next
rs.Close
set rs = NOTHING
cn.Close
set cn = NOTHING
user_cn.Close
set user_cn = NOTHING
on error goto 0
%>
                                                      
  
                                                        
 | 
     
   
 
                                
                                
                                                       | 
                                                     
                                                   
                                                 
          
          
          
            
                                                
                
												 | 
													  | 
												 
								
												
													  | 
												 
										 
                
                
                 | 
               
             
           
          
                                                                      
           
          
             
             | 
              | 
           
          
              | 
            
                  | 
              | 
           
          
              | 
           
         
         
           |