parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Админка к опроснику

Безымянный 22.01.2007 00:58

К опроснику делаю админку.

Проблемы 2:
1. Если ответов в базе нет, то добавить новые невозможно. (Если хотя бы один есть, то добавляются.) И удалить все ответы невозможно. Т.е. опять же мин. один надо оставить.
2. ind - значение radiobutton. Т.е. для одного из ответов должен он быть checked. Получает пока, что проставляется для всех.
@edit[params][params;poll_id;id;update_hash]
^check_params[$params;edit]
^if(def $params.request && $params.request is hash && def $params.request.exist_answer && $params.request.exist_answer is table){
	$update_hash[^hash::create[]]
	$update_hash.poll_id[$params.request.poll_id.field]
	$update_hash.answers[^hash::create[]]
	^if($params.request.answer is table && $params.request.exist_answer is table){
		^if($params.request.answer > $params.request.exist_answer){
			^params.request.answer.menu{
				^if(^params.request.answer.line[] > $params.request.exist_answer){
					$id[new_^params.request.answer.line[]]
				}{
					^params.request.exist_answer.offset[set](^params.request.answer.offset[])
					$id[$params.request.exist_answer.field]
				}
				^params.request.vote_count.offset[set](^params.request.answer.offset[])
				$update_hash.answers.$id[
					$.answer[$params.request.answer.field]
					$.vote_count[$params.request.vote_count.field]
					$.ind[$params.request.ind.field]
				]
			}
		}{
			^params.request.exist_answer.menu{
				^if(^params.request.exist_answer.line[] > $params.request.answer){
					$id[delete_^params.request.exist_answer.line[]]
					$answer[$params.request.exist_answer.field]
				}{
					^params.request.answer.offset[set](^params.request.exist_answer.offset[])
					$id[$params.request.exist_answer.field]
					$answer[$params.request.answer.field]
				}
				^params.request.vote_count.offset[set](^params.request.exist_answer.offset[])
				$update_hash.answers.$id[
					$.answer[$answer]
					$.vote_count[$params.request.vote_count.field]
					$.ind[$params.request.ind.field]
				]
			}
		}
	}
	^update[$update_hash]
}