@@ -346,37 +346,43 @@ function request_confirmed(Context $ctx): void
 
		
	
		
			
							// Прочитана запрашиваемая заявка 
 
		
	
		
			
				 
		
	
		
			
							// Инициализация инстанции task в базе данных (выбранного задания) 
 
		
	
		
			
				$task  =  collection :: search ( $arangodb -> session ,  sprintf ( " FOR d IN task FILTER d._key == '%s' && d.published == true && d.completed != true RETURN d " ,  $_key ));  
		
	
		
			
				$task  =  collection :: search ( $arangodb -> session ,  sprintf ( " FOR d IN task FILTER d._key == '%s' && d.published == true && d.completed != true && worker == null  RETURN d " ,  $_key ));  
		
	
		
			
				 
		
	
		
			
							if  ( $worker  ? ? =  worker ( $account -> getId ()) )  { 
 
		
	
		
			
								// Найден сотрудник  
 
		
	
		
			
							if  ( $task  instanceof  _document   { 
 
		
	
		
			
								// Найдена  
 
		
	
		
			
				 
		
	
		
			
								// Запись идентификатора нового сотрудника 
 
		
	
		
			
				$task -> worker  =  $worker -> id ;  
		
	
		
			
								if  ( $worker  ? ? =  worker ( $account -> getId ()))  { 
 
		
	
		
			
									// Найден сотрудник  
 
		
	
		
			
				 
		
	
		
			
								// Снятие с   
 
		
	
		
			
				$task -> published  =  false ;  
		
	
		
			
									 // Запись идентификатора нового сотрудника  
 
		
	
		
			
					 $task -> worker  =  $worker -> id ;  
		
	
		
			
				 
		
	
		
			
								if  ( document :: update ( $arangodb -> session ,  $task ))  { 
 
		
	
		
			
									// Записано обновление в базу данных 
 
		
	
		
			
									// Снятие с   
 
		
	
		
			
				$task -> published  =  false ;  
		
	
		
			
				 
		
	
		
			
									$ctx -> getChatDataItem ( " request_all " ) -> then ( function  ( $requests  =  [])  use  ( $ctx { 
 
		
	
		
			
										// Удаление сообщений связанных с   
 
		
	
		
			
				foreach  ( $requests  ? ?  []  as  $_message )  $ctx -> deleteMessage ( $_message -> getChat () -> getId (),  $_message -> getMessageId ());  
		
	
		
			
									}); 
 
		
	
		
			
									$ctx -> setChatDataItem ( " request_all " ,  []); 
 
		
	
		
			
									if  ( document :: update ( $arangodb -> session ,  $task ) ){ 
 
		
	
		
			
										// Записано обновление в базу данных  
 
		
	
		
			
				 
		
	
		
			
									$ctx -> getChatDataItem ( " request_confirmation  " ) -> then ( function  ( $message   use  ( $ctx )  { 
 
		
	
		
			
										$ctx -> deleteMessage ( $message -> getChat () -> getId (),  $message -> getMessageId ()); 
 
		
	
		
			
									} );
 
		
	
		
			
									$ctx -> setChatDataItem ( " request_confirmation_target " ,  null 
 
		
	
		
			
										 $ctx -> getChatDataItem ( " request_all  " ) -> then ( function  ( $requests  =  [] )  use  ( $ctx )  { 
 
		
	
		
			
											// Удаление сообщений связанных с   
 
		
	
		
			
						foreach  ( $requests  ? ?  []  as  $_message )  $ctx -> deleteMessage ( $_message -> getChat () -> getId (),  $_message -> getMessageId () );  
		
	
		
			
										} ); 
 
		
	
		
			
										$ctx -> setChatDataItem ( " request_all " ,  []); 
 
		
	
		
			
				 
		
	
		
			
									$ctx -> sendMessage ( " ✅ *Вы зарегистрировались на заявку:*  \ # $_key " ,  [ 'reply_markup'  => 	[ 'remove_keyboard'  =>  true ]] )-> then ( function  ()  use  ( $ctx )  { 
 
		
	
		
			
										 $ctx -> getChatDataItem ( " request_confirmation " -> then ( function  ($message   use  ( $ctx )  { 
 
		
	
		
			
											$ctx -> deleteMessage ( $message -> getChat () -> getId (),  $message -> getMessageId ()); 
 
		
	
		
			
										}); 
 
		
	
		
			
										$ctx -> setChatDataItem ( " request_confirmation_target " ,  null ); 
 
		
	
		
			
				 
		
	
		
			
										$ctx -> sendMessage ( " ✅ *Вы зарегистрировались на заявку:*  \ # $_key " ,  [ 'reply_markup'  => 	[ 'remove_keyboard'  =>  true ]]) -> then ( function  ()  use  ( $ctx )  { 
 
		
	
		
			
											generateMenu ( $ctx ); 
 
		
	
		
			
										}); 
 
		
	
		
			
				 
		
	
		
			
										// End of the process 
 
		
	
		
			
				$ctx -> endConversation ();  
		
	
		
			
									}  else  $ctx -> sendMessage ( " ❎ *Н е  \ # $_key " ,  [ 'reply_markup'  => 	[ 'remove_keyboard'  =>  true ]]) -> then ( function  ()  use  ( $ctx )  { 
 
		
	
		
			
										generateMenu ( $ctx ); 
 
		
	
		
			
									}); 
 
		
	
		
			
				 
		
	
		
			
									// End of the process 
 
		
	
		
			
				$ctx -> endConversation ();  
		
	
		
			
								}  else  $ctx -> sendMessage ( " ❎ *Н е  \ # $_key " ,  [ 'reply_markup'  => 	[ 'remove_keyboard'  =>  true ]]) -> then ( function  ()  use  ( $ctx )  { 
 
		
	
		
			
									generateMenu ( $ctx ); 
 
		
	
		
			
								});