touched up the issue show page
- added 'change' - added 'undo' touched up the issue home page - added pagination
This commit is contained in:
		| @ -91,6 +91,11 @@ max_upload_size = "10000" | ||||
| ;------------------------------------------------------------------------------ | ||||
| max_latest_projects = "10" | ||||
|  | ||||
| ;------------------------------------------------------------------------------ | ||||
| ; Maximum number of issues to show  | ||||
| ;------------------------------------------------------------------------------ | ||||
| max_issues_per_page = "50" | ||||
|  | ||||
| ;------------------------------------------------------------------------------ | ||||
| ; Maximum number of log entries to show per details page | ||||
| ;------------------------------------------------------------------------------ | ||||
|  | ||||
| @ -8,6 +8,24 @@ class Issue extends Controller | ||||
| 	var $VIEW_EDIT = 'issue_edit'; | ||||
| 	var $VIEW_DELETE = 'issue_delete'; | ||||
|  | ||||
| 	var $TYPE_DEFECT       = 'defect'; | ||||
| 	var $TYPE_REQUEST      = 'request'; | ||||
| 	var $TYPE_OTHER        = 'other'; | ||||
|  | ||||
| 	var $STATUS_NEW        = 'new'; | ||||
| 	var $STATUS_ACCEPTED   = 'accepted'; | ||||
| 	var $STATUS_REJECTED   = 'rejected'; | ||||
| 	var $STATUS_FIXED      = 'fixed'; | ||||
| 	var $STATUS_WONTFIX    = 'wontfix'; | ||||
| 	var $STATUS_DUPLICATE  = 'duplicate'; | ||||
| 	var $STATUS_OTHER      = 'other'; | ||||
|  | ||||
| 	var $PRIORITY_CRITICAL = 'critical'; | ||||
| 	var $PRIORITY_HIGH     = 'high'; | ||||
| 	var $PRIORITY_MEDIUM   = 'medium'; | ||||
| 	var $PRIORITY_LOW      = 'low'; | ||||
| 	var $PRIORITY_OTHER    = 'other'; | ||||
|  | ||||
| 	function Issue () | ||||
| 	{ | ||||
| 		parent::Controller (); | ||||
| @ -19,10 +37,10 @@ class Issue extends Controller | ||||
|  | ||||
| 		$this->load->library ('Language', 'lang'); | ||||
| 		$this->lang->load ('common', CODEPOT_LANG); | ||||
|  | ||||
| 		$this->lang->load ('issue', CODEPOT_LANG); | ||||
| 	} | ||||
|  | ||||
| 	function home ($projectid = '') | ||||
| 	function home ($projectid = '', $offset = 0) | ||||
| 	{ | ||||
| 		$this->load->model ('ProjectModel', 'projects'); | ||||
| 		$this->load->model ('IssueModel', 'issues'); | ||||
| @ -49,25 +67,51 @@ class Issue extends Controller | ||||
| 		{ | ||||
| 			if ($this->input->post('filter')) | ||||
| 			{ | ||||
| 				$filter->status = $this->input->post('filter_status'); | ||||
| 				$filter->summary = $this->input->post('filter_summary'); | ||||
| 				$filter->owner = $this->input->post('filter_owner'); | ||||
| 				$data['filter'] = $filter; | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				$filter->status = ''; | ||||
| 				$filter->summary = ''; | ||||
| 				$filter->owner = ''; | ||||
| 				$data['filter'] = $filter; | ||||
| 			} | ||||
|  | ||||
| 			$issues = $this->issues->getAll ($login['id'], $project); | ||||
|  | ||||
| 			$this->load->library ('pagination'); | ||||
|  | ||||
| 			$num_entries = $this->issues->getNumEntries ($login['id'], $project); | ||||
| 			if ($num_entries === FALSE) | ||||
| 			{ | ||||
| 				$data['project'] = $project; | ||||
| 				$data['message'] = 'DATABASE ERROR'; | ||||
| 				$this->load->view ($this->VIEW_ERROR, $data); | ||||
| 				return; | ||||
| 			} | ||||
|  | ||||
| 			$pagecfg['base_url'] = site_url() . "/issue/home/{$projectid}/"; | ||||
| 			$pagecfg['total_rows'] = $num_entries; | ||||
| 			$pagecfg['per_page'] = CODEPOT_MAX_ISSUES_PER_PAGE; | ||||
| 			$pagecfg['uri_segment'] = 4; | ||||
| 			$pagecfg['first_link'] = $this->lang->line('First'); | ||||
| 			$pagecfg['last_link'] = $this->lang->line('Last'); | ||||
|  | ||||
| 			//$issues = $this->issues->getAll ($login['id'], $project); | ||||
| 			$issues = $this->issues->getEntries ($login['id'], $offset, $pagecfg['per_page'], $project); | ||||
| 			if ($issues === FALSE) | ||||
| 			{ | ||||
| 				$data['project'] = $project; | ||||
| 				$data['message'] = 'DATABASE ERROR'; | ||||
| 				$this->load->view ($this->VIEW_ERROR, $data); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				$this->pagination->initialize ($pagecfg); | ||||
| 				$data['page_links'] = $this->pagination->create_links (); | ||||
| 				$data['issue_type_array'] = $this->_get_type_array(); | ||||
| 				$data['issue_status_array'] = $this->_get_status_array(); | ||||
| 				$data['issue_priority_array'] = $this->_get_priority_array(); | ||||
| 				$data['project'] = $project; | ||||
| 				$data['issues'] = $issues; | ||||
| 				$this->load->view ($this->VIEW_HOME, $data); | ||||
| @ -109,7 +153,8 @@ class Issue extends Controller | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			if ($this->input->post('issue_change')) | ||||
| 			$change_post = $this->input->post('issue_change'); | ||||
| 			if ($change_post == 'change') | ||||
| 			{ | ||||
| 				$change->type = $this->input->post('issue_change_type'); | ||||
| 				$change->status = $this->input->post('issue_change_status'); | ||||
| @ -117,7 +162,35 @@ class Issue extends Controller | ||||
| 				$change->priority = $this->input->post('issue_change_priority'); | ||||
| 				$change->comment = $this->input->post('issue_change_comment'); | ||||
|  | ||||
| 				if ($this->issues->change ($login['id'], $project, $id, $change) === FALSE) | ||||
| 				if (!$login['sysadmin?'] &&  | ||||
| 				    $this->projects->projectHasMember($project->id, $login['id']) === FALSE) | ||||
| 				{ | ||||
| 					$data['project'] = $project; | ||||
| 					$data['message'] = "NO PERMISSION - $projectid"; | ||||
| 					$this->load->view ($this->VIEW_ERROR, $data); | ||||
| 				} | ||||
| 				else if ($this->issues->change ($login['id'], $project, $id, $change) === FALSE) | ||||
| 				{ | ||||
| 					$data['project'] = $project; | ||||
| 					$data['message'] = 'DATABASE ERROR'; | ||||
| 					$this->load->view ($this->VIEW_ERROR, $data); | ||||
| 				} | ||||
| 				else | ||||
| 				{ | ||||
| 					redirect ("/issue/show/{$projectid}/{$hexid}"); | ||||
| 				} | ||||
| 				return; | ||||
| 			} | ||||
| 			else if ($change_post == 'undo') | ||||
| 			{ | ||||
| 				if (!$login['sysadmin?'] &&  | ||||
| 				    $this->projects->projectHasMember($project->id, $login['id']) === FALSE) | ||||
| 				{ | ||||
| 					$data['project'] = $project; | ||||
| 					$data['message'] = "NO PERMISSION - $projectid"; | ||||
| 					$this->load->view ($this->VIEW_ERROR, $data); | ||||
| 				} | ||||
| 				else if ($this->issues->undo_last_change ($login['id'], $project, $id) === FALSE) | ||||
| 				{ | ||||
| 					$data['project'] = $project; | ||||
| 					$data['message'] = 'DATABASE ERROR'; | ||||
| @ -147,6 +220,9 @@ class Issue extends Controller | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				$data['issue_type_array'] = $this->_get_type_array(); | ||||
| 				$data['issue_status_array'] = $this->_get_status_array(); | ||||
| 				$data['issue_priority_array'] = $this->_get_priority_array(); | ||||
| 				$data['project'] = $project; | ||||
| 				$data['issue'] = $issue; | ||||
| 				$this->load->view ($this->VIEW_SHOW, $data); | ||||
| @ -194,21 +270,22 @@ class Issue extends Controller | ||||
| 			$this->form_validation->set_rules ( | ||||
| 				'issue_summary', 'summary', 'required|max_length[255]'); | ||||
| 			$this->form_validation->set_rules ( | ||||
| 				'issue_status', 'status', 'required'); | ||||
| 				'issue_description', 'description', 'required'); | ||||
| 			$this->form_validation->set_rules ( | ||||
| 				'issue_type', 'type', 'required'); | ||||
| 			$this->form_validation->set_rules ( | ||||
| 				'issue_priority', 'priority', 'required'); | ||||
| 				'issue_type', 'status', 'required'); | ||||
| 			$this->form_validation->set_rules ( | ||||
| 				'issue_owner', 'owner', 'required'); | ||||
| 			$this->form_validation->set_rules ( | ||||
| 				'issue_description', 'description', 'required'); | ||||
| 				'issue_type', 'priority', 'required'); | ||||
| 			$this->form_validation->set_error_delimiters ( | ||||
| 				'<span class="form_field_error">','</span>'); | ||||
|  | ||||
| 			$data['mode'] = $mode; | ||||
| 			$data['message'] = ''; | ||||
| 			$data['project'] = $project; | ||||
| 			$data['issue_type_array'] = $this->_get_type_array(); | ||||
| 			$data['issue_status_array'] = $this->_get_status_array(); | ||||
| 			$data['issue_priority_array'] = $this->_get_priority_array(); | ||||
|  | ||||
| 			if ($this->input->post('issue')) | ||||
| 			{ | ||||
| @ -224,7 +301,7 @@ class Issue extends Controller | ||||
| 				if ($this->form_validation->run()) | ||||
| 				{ | ||||
| 					$id = ($mode == 'update')? | ||||
| 						$this->issues->update ($login['id'], $issue): | ||||
| 						$this->issues->update_partial ($login['id'], $issue): | ||||
| 						$this->issues->create ($login['id'], $issue); | ||||
| 					if ($id === FALSE) | ||||
| 					{ | ||||
| @ -234,7 +311,8 @@ class Issue extends Controller | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						redirect ("issue/show/{$project->id}/{$hexid}"); | ||||
| 						redirect ("issue/show/{$project->id}/" .  | ||||
| 							$this->converter->AsciiToHex((string)$id)); | ||||
| 					} | ||||
| 				} | ||||
| 				else | ||||
| @ -272,11 +350,11 @@ class Issue extends Controller | ||||
| 					$issue->projectid = $projectid; | ||||
| 					$issue->id = $id; | ||||
| 					$issue->summary = ''; | ||||
| 					$issue->type = ''; | ||||
| 					$issue->status = ''; | ||||
| 					$issue->owner = ''; | ||||
| 					$issue->priority = ''; | ||||
| 					$issue->description = ''; | ||||
| 					$issue->type = $this->TYPE_DEFECT; | ||||
| 					$issue->status = $this->STATUS_NEW; | ||||
| 					$issue->priority = $this->PRIORITY_OTHER; | ||||
| 					$issue->owner = ''; | ||||
|  | ||||
| 					$data['issue'] = $issue; | ||||
| 					$this->load->view ($this->VIEW_EDIT, $data);	 | ||||
| @ -286,9 +364,9 @@ class Issue extends Controller | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	function create ($projectid = '', $hexid = '') | ||||
| 	function create ($projectid = '') | ||||
| 	{ | ||||
| 		return $this->_edit_issue ($projectid, $hexid, 'create'); | ||||
| 		return $this->_edit_issue ($projectid, '', 'create'); | ||||
| 	} | ||||
|  | ||||
| 	function update ($projectid = '', $hexid = '') | ||||
| @ -396,4 +474,53 @@ class Issue extends Controller | ||||
|  | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	function _get_type_array () | ||||
| 	{ | ||||
| 		return array ( | ||||
| 			$this->TYPE_DEFECT  =>  | ||||
| 				$this->lang->line('ISSUE_TYPE_DEFECT'), | ||||
| 			$this->TYPE_REQUEST =>  | ||||
| 				$this->lang->line('ISSUE_TYPE_REQUEST'), | ||||
| 			$this->TYPE_OTHER   =>  | ||||
| 				$this->lang->line('ISSUE_TYPE_OTHER') | ||||
| 		); | ||||
| 	} | ||||
|  | ||||
| 	function _get_status_array () | ||||
| 	{ | ||||
| 		return array ( | ||||
| 			$this->STATUS_NEW       =>  | ||||
| 				$this->lang->line('ISSUE_STATUS_NEW'), | ||||
| 			$this->STATUS_ACCEPTED  =>  | ||||
| 				$this->lang->line('ISSUE_STATUS_ACCEPTED'), | ||||
| 			$this->STATUS_REJECTED  =>  | ||||
| 				$this->lang->line('ISSUE_STATUS_REJECTED'), | ||||
| 			$this->STATUS_FIXED     =>  | ||||
| 				$this->lang->line('ISSUE_STATUS_FIXED'), | ||||
| 			$this->STATUS_WONTFIX   =>  | ||||
| 				$this->lang->line('ISSUE_STATUS_WONTFIX'), | ||||
| 			$this->STATUS_DUPLICATE =>  | ||||
| 				$this->lang->line('ISSUE_STATUS_DUPLICATE'), | ||||
| 			$this->STATUS_OTHER     =>  | ||||
| 				$this->lang->line('ISSUE_STATUS_OTHER') | ||||
| 		); | ||||
| 	} | ||||
|  | ||||
| 	function _get_priority_array () | ||||
| 	{ | ||||
| 		return array ( | ||||
| 			$this->PRIORITY_CRITICAL =>  | ||||
| 				$this->lang->line('ISSUE_PRIORITY_CRITICAL'), | ||||
| 			$this->PRIORITY_HIGH     =>  | ||||
| 				$this->lang->line('ISSUE_PRIORITY_HIGH'), | ||||
| 			$this->PRIORITY_MEDIUM   =>  | ||||
| 				$this->lang->line('ISSUE_PRIORITY_MEDIUM'), | ||||
| 			$this->PRIORITY_LOW      =>  | ||||
| 				$this->lang->line('ISSUE_PRIORITY_LOW'), | ||||
| 			$this->PRIORITY_OTHER    =>  | ||||
| 				$this->lang->line('ISSUE_PRIORITY_OTHER') | ||||
| 		); | ||||
|  | ||||
| 	} | ||||
| } | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| wwwdir=$(WWWDIR)/codepot/language/english | ||||
| www_DATA =  \ | ||||
| 	common_lang.php \ | ||||
| 	issue_lang.php \ | ||||
| 	index.html | ||||
|  | ||||
| EXTRA_DIST = $(www_DATA) | ||||
|  | ||||
| @ -164,6 +164,7 @@ top_srcdir = @top_srcdir@ | ||||
| wwwdir = $(WWWDIR)/codepot/language/english | ||||
| www_DATA = \ | ||||
| 	common_lang.php \ | ||||
| 	issue_lang.php \ | ||||
| 	index.html | ||||
|  | ||||
| EXTRA_DIST = $(www_DATA) | ||||
|  | ||||
| @ -1,9 +1,12 @@ | ||||
| <?php | ||||
| $lang['Author'] = 'Author'; | ||||
| $lang['Blame'] = 'Blame'; | ||||
| $lang['Cancel'] = 'Cancel'; | ||||
| $lang['Change'] = 'Change'; | ||||
| $lang['Change log'] = 'Change log'; | ||||
| $lang['Code'] = 'Code'; | ||||
| $lang['Code changes'] = 'Code changes'; | ||||
| $lang['Comment'] = 'Comment'; | ||||
| $lang['Create'] = 'Create'; | ||||
| $lang['Created by'] = 'Created by'; | ||||
| $lang['Created on'] = 'Created on'; | ||||
| @ -37,6 +40,7 @@ $lang['New'] = 'New'; | ||||
| $lang['Last updated by'] = 'Last updated by'; | ||||
| $lang['Last updated on'] = 'Last updated on'; | ||||
| $lang['Latest projects'] = 'Latest projects'; | ||||
| $lang['OK'] = 'OK'; | ||||
| $lang['Other projects'] = 'Other projects'; | ||||
| $lang['Overview'] = 'Overview'; | ||||
| $lang['Owner'] = 'Owner'; | ||||
| @ -58,6 +62,7 @@ $lang['Tag'] = 'Tag'; | ||||
| $lang['Text'] = 'Text'; | ||||
| $lang['Time'] = 'Time'; | ||||
| $lang['Type'] = 'Type'; | ||||
| $lang['Undo'] = 'Undo'; | ||||
| $lang['Update'] = 'Update'; | ||||
| $lang['Username'] = 'Username'; | ||||
| $lang['Wiki'] = 'Wiki'; | ||||
| @ -65,6 +70,7 @@ $lang['Wikis'] = 'Wikis'; | ||||
|  | ||||
|  | ||||
| $lang['MSG_LOG_COMMIT_BY'] = 'Committed by %s'; | ||||
| $lang['MSG_LOG_CHANGE_BY'] = 'Changed by %s'; | ||||
| $lang['MSG_LOG_CREATE_BY'] = 'Created by %s'; | ||||
| $lang['MSG_LOG_DELETE_BY'] = 'Deleted by %s'; | ||||
| $lang['MSG_LOG_UPDATE_BY'] = 'Updated by %s'; | ||||
|  | ||||
							
								
								
									
										22
									
								
								codepot/src/codepot/language/english/issue_lang.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								codepot/src/codepot/language/english/issue_lang.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| <?php | ||||
| $lang['ISSUE_TYPE_DEFECT'] = 'Defect'; | ||||
| $lang['ISSUE_TYPE_REQUEST'] = 'Request'; | ||||
| $lang['ISSUE_TYPE_OTHER'] = 'Other'; | ||||
|  | ||||
| $lang['ISSUE_STATUS_NEW'] = 'New'; | ||||
| $lang['ISSUE_STATUS_ACCEPTED'] = 'Accepted'; | ||||
| $lang['ISSUE_STATUS_REJECTED'] = 'Rejected'; | ||||
| $lang['ISSUE_STATUS_FIXED'] = 'Fixed'; | ||||
| $lang['ISSUE_STATUS_WONTFIX'] = "Wont't fix"; | ||||
| $lang['ISSUE_STATUS_DUPLICATE'] = 'Duplicate'; | ||||
| $lang['ISSUE_STATUS_OTHER'] = 'Other'; | ||||
|  | ||||
| $lang['ISSUE_PRIORITY_CRITICAL'] = 'Critical'; | ||||
| $lang['ISSUE_PRIORITY_HIGH'] = 'High'; | ||||
| $lang['ISSUE_PRIORITY_MEDIUM'] = 'Medium'; | ||||
| $lang['ISSUE_PRIORITY_LOW'] = 'Low'; | ||||
| $lang['ISSUE_PRIORITY_OTHER'] = 'Other'; | ||||
|  | ||||
| $lang['ISSUE_MSG_CHANGED_X_FROM_Y_TO_Z'] = "Changed <span class='quoted'>%s</span> from <span class='quoted'>%s</span> to <span class='quoted'>%s</span>"; | ||||
| $lang['ISSUE_MSG_CONFIRM_UNDO'] = 'Are you sure to undo the last change?'; | ||||
| ?> | ||||
| @ -1,9 +1,12 @@ | ||||
| <?php | ||||
| $lang['Author'] = 'Pengarang	'; | ||||
| $lang['Blame'] = 'Menyalahkan'; | ||||
| $lang['Cancel'] = 'Cancel'; | ||||
| $lang['Change'] = 'Change'; | ||||
| $lang['Change log'] = 'Change log'; | ||||
| $lang['Code'] = 'Kode'; | ||||
| $lang['Code changes'] = 'Kode changes' | ||||
| $lang['Comment'] = 'Comment'; | ||||
| $lang['Create'] = 'Dibuat'; | ||||
| $lang['Created by'] = 'Dibuat oleh'; | ||||
| $lang['Created on'] = 'Waktu dibuat'; | ||||
| @ -37,6 +40,7 @@ $lang['New'] = 'Baru'; | ||||
| $lang['Last updated by'] = 'Terakhir memperbaharui oleh'; | ||||
| $lang['Last updated on'] = 'Waktu memperbaharui terakhir'; | ||||
| $lang['Latest projects'] = 'Proyek terakhir'; | ||||
| $lang['OK projects'] = 'OK'; | ||||
| $lang['Other projects'] = 'Proyek lain'; | ||||
| $lang['Overview'] = 'Ringkasan'; | ||||
| $lang['Owner'] = 'Owner'; | ||||
| @ -58,12 +62,14 @@ $lang['Tag'] = 'Label'; | ||||
| $lang['Text'] = 'Teks'; | ||||
| $lang['Time'] = 'Waktu'; | ||||
| $lang['Type'] = 'Type'; | ||||
| $lang['Undo'] = 'Undo'; | ||||
| $lang['Update'] = 'Memperbaharui'; | ||||
| $lang['Username'] = 'Nama pemakai'; | ||||
| $lang['Wiki'] = 'Wiki'; | ||||
| $lang['Wikis'] = 'Wiki'; | ||||
|  | ||||
| $lang['MSG_LOG_COMMIT_BY'] = 'Dicommit oleh %s'; | ||||
| $lang['MSG_LOG_CHANGE_BY'] = 'Change oleh %s'; | ||||
| $lang['MSG_LOG_CREATE_BY'] = 'Dibuat oleh %s'; | ||||
| $lang['MSG_LOG_DELETE_BY'] = 'Dihapus oleh %s'; | ||||
| $lang['MSG_LOG_UPDATE_BY'] = 'Diupdate oleh %s'; | ||||
|  | ||||
| @ -1,6 +1,7 @@ | ||||
| wwwdir=$(WWWDIR)/codepot/language/korean | ||||
| www_DATA =  \ | ||||
| 	common_lang.php \ | ||||
| 	issue_lang.php \ | ||||
| 	index.html | ||||
|  | ||||
| EXTRA_DIST = $(www_DATA) | ||||
|  | ||||
| @ -164,6 +164,7 @@ top_srcdir = @top_srcdir@ | ||||
| wwwdir = $(WWWDIR)/codepot/language/korean | ||||
| www_DATA = \ | ||||
| 	common_lang.php \ | ||||
| 	issue_lang.php \ | ||||
| 	index.html | ||||
|  | ||||
| EXTRA_DIST = $(www_DATA) | ||||
|  | ||||
| @ -1,9 +1,12 @@ | ||||
| <?php | ||||
| $lang['Author'] = '저자'; | ||||
| $lang['Blame'] = '책임전가'; | ||||
| $lang['Change log'] = '변경내역'; | ||||
| $lang['Cancel'] = '취소'; | ||||
| $lang['Change'] = '변경'; | ||||
| $lang['Change log'] = '변경기록'; | ||||
| $lang['Code'] = '코드'; | ||||
| $lang['Code changes'] = '코드변경'; | ||||
| $lang['Comment'] = '소견'; | ||||
| $lang['Create'] = '생성'; | ||||
| $lang['Created by'] = '최초생성인'; | ||||
| $lang['Created on'] = '최초생성시간'; | ||||
| @ -13,7 +16,7 @@ $lang['Description'] = '설명'; | ||||
| $lang['Details'] = '상세내역'; | ||||
| $lang['Difference'] = '차이점'; | ||||
| $lang['Directory'] = '디렉토리'; | ||||
| $lang['Download'] = '내려받기'; | ||||
| $lang['Download'] = '내려받음'; | ||||
| $lang['Edit'] = '수정'; | ||||
| $lang['Error'] = '오류'; | ||||
| $lang['File'] = '파일'; | ||||
| @ -37,9 +40,10 @@ $lang['New'] = '신규'; | ||||
| $lang['Last updated by'] = '최종수정인'; | ||||
| $lang['Last updated on'] = '최종수정시간'; | ||||
| $lang['Latest projects'] = '최근 프로젝트'; | ||||
| $lang['OK'] = '확인'; | ||||
| $lang['Other projects'] = '다른 프로젝트'; | ||||
| $lang['Overview'] = '개요'; | ||||
| $lang['Owner'] = '소유자'; | ||||
| $lang['Owner'] = '담당자'; | ||||
| $lang['Password'] = '패스워드'; | ||||
| $lang['Path'] = '경로'; | ||||
| $lang['Priority'] = '중요도'; | ||||
| @ -58,12 +62,14 @@ $lang['Tag'] = '태그'; | ||||
| $lang['Text'] = '본문'; | ||||
| $lang['Time'] = '시간'; | ||||
| $lang['Type'] = '종류'; | ||||
| $lang['Undo'] = '되돌림'; | ||||
| $lang['Update'] = '수정'; | ||||
| $lang['Username'] = '사용자명'; | ||||
| $lang['Wiki'] = '위키'; | ||||
| $lang['Wikis'] = '위키'; | ||||
|  | ||||
| $lang['MSG_LOG_COMMIT_BY'] = '%s에 의해 커밋되었습니다'; | ||||
| $lang['MSG_LOG_CHANGE_BY'] = '%s에 의해 변경되었습니다'; | ||||
| $lang['MSG_LOG_CREATE_BY'] = '%s에 의해 생성되었습니다'; | ||||
| $lang['MSG_LOG_DELETE_BY'] = '%s에 의해 삭제되었습니다'; | ||||
| $lang['MSG_LOG_UPDATE_BY'] = '%s에 의해 갱신되었습니다'; | ||||
|  | ||||
							
								
								
									
										24
									
								
								codepot/src/codepot/language/korean/issue_lang.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								codepot/src/codepot/language/korean/issue_lang.php
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,24 @@ | ||||
| <?php | ||||
| $lang['ISSUE_TYPE_DEFECT'] = '문제점'; | ||||
| $lang['ISSUE_TYPE_REQUEST'] = '요청'; | ||||
| $lang['ISSUE_TYPE_OTHER'] = '기타'; | ||||
|  | ||||
| $lang['ISSUE_STATUS_NEW'] = '신규'; | ||||
| $lang['ISSUE_STATUS_ACCEPTED'] = '승인'; | ||||
| $lang['ISSUE_STATUS_REJECTED'] = '거부'; | ||||
| $lang['ISSUE_STATUS_FIXED'] = '수정됨'; | ||||
| $lang['ISSUE_STATUS_WONTFIX'] = '수정안함'; | ||||
| $lang['ISSUE_STATUS_DUPLICATE'] = '중복'; | ||||
| $lang['ISSUE_STATUS_OTHER'] = '기타'; | ||||
|  | ||||
| $lang['ISSUE_PRIORITY_CRITICAL'] = '긴급'; | ||||
| $lang['ISSUE_PRIORITY_HIGH'] = '높음'; | ||||
| $lang['ISSUE_PRIORITY_MEDIUM'] = '중간'; | ||||
| $lang['ISSUE_PRIORITY_LOW'] = '낮음'; | ||||
| $lang['ISSUE_PRIORITY_OTHER'] = '기타'; | ||||
|  | ||||
|  | ||||
| $lang['ISSUE_MSG_CHANGED_X_FROM_Y_TO_Z'] = "<span class='quoted'>%s</span>을/를 <span class='quoted'>%s</span>에서  <span class='quoted'>%s</span>(으)로 변경"; | ||||
| $lang['ISSUE_MSG_CONFIRM_UNDO'] = '마지막 변경내용을 취소할까요?'; | ||||
|  | ||||
| ?> | ||||
| @ -29,7 +29,7 @@ class IssueModel extends Model | ||||
|  | ||||
| 		$this->db->where ('projectid', $project->id); | ||||
| 		$this->db->where ('id', $id); | ||||
| 		$this->db->order_by ('sno', 'desc'); | ||||
| 		$this->db->order_by ('sno', 'asc'); | ||||
| 		$query = $this->db->get ('issue_change'); | ||||
|  | ||||
| 		$this->db->trans_complete (); | ||||
| @ -41,10 +41,41 @@ class IssueModel extends Model | ||||
| 		return $result[0]; | ||||
| 	} | ||||
|  | ||||
| 	function getNumEntries ($userid, $project) | ||||
| 	{ | ||||
| 		$this->db->trans_start (); | ||||
|  | ||||
| 		$this->db->where ('projectid', $project->id); | ||||
| 		$this->db->select ('count(id) as count'); | ||||
| 		$query = $this->db->get ('issue'); | ||||
| 		$result = $query->result(); | ||||
| 		 | ||||
| 		$num = empty($result)? 0: $result[0]->count; | ||||
|  | ||||
| 		$this->db->trans_complete (); | ||||
| 		if ($this->db->trans_status() === FALSE) return FALSE; | ||||
|  | ||||
| 		return $num; | ||||
| 	} | ||||
|  | ||||
| 	function getEntries ($userid, $offset, $limit, $project) | ||||
| 	{ | ||||
| 		$this->db->trans_start (); | ||||
|  | ||||
| 		$this->db->where ('projectid', $project->id); | ||||
| 		$this->db->order_by ('id', 'desc'); | ||||
| 		$query = $this->db->get ('issue', $limit, $offset); | ||||
| 		$this->db->trans_complete (); | ||||
|  | ||||
| 		if ($this->db->trans_status() === FALSE) return FALSE; | ||||
| 		return $query->result (); | ||||
| 	} | ||||
|  | ||||
| 	function getAll ($userid, $project) | ||||
| 	{ | ||||
| 		$this->db->trans_start (); | ||||
| 		$this->db->where ('projectid', $project->id); | ||||
| 		$this->db->order_by ('id', 'desc'); | ||||
| 		$query = $this->db->get ('issue'); | ||||
| 		$this->db->trans_complete (); | ||||
|  | ||||
| @ -111,6 +142,31 @@ class IssueModel extends Model | ||||
| 		return $newid; | ||||
| 	} | ||||
|  | ||||
| 	function update_partial ($userid, $issue) | ||||
| 	{ | ||||
| 		$this->db->trans_start (); | ||||
| 		$this->db->where ('projectid', $issue->projectid); | ||||
| 		$this->db->where ('id', $issue->id); | ||||
| 		$this->db->set ('summary', $issue->summary); | ||||
| 		$this->db->set ('description', $issue->description); | ||||
| 		$this->db->set ('updatedon', date('Y-m-d H:i:s')); | ||||
| 		$this->db->set ('updatedby', $userid); | ||||
| 		$this->db->update ('issue'); | ||||
|  | ||||
|                 $this->db->set ('createdon', date('Y-m-d H:i:s')); | ||||
| 		$this->db->set ('type',      'issue'); | ||||
| 		$this->db->set ('action',    'update'); | ||||
| 		$this->db->set ('projectid', $issue->projectid); | ||||
| 		$this->db->set ('userid',    $userid); | ||||
| 		$this->db->set ('message',   $issue->id); | ||||
|                 $this->db->insert ('log'); | ||||
|  | ||||
| 		$this->db->trans_complete (); | ||||
|                 if ($this->db->trans_status() === FALSE) return FALSE; | ||||
|  | ||||
| 		return $issue->id; | ||||
| 	} | ||||
|  | ||||
| 	function update ($userid, $issue) | ||||
| 	{ | ||||
| 		// TODO: check if userid can do this.. | ||||
| @ -127,9 +183,9 @@ class IssueModel extends Model | ||||
| 		$this->db->set ('updatedby', $userid); | ||||
| 		$this->db->update ('issue'); | ||||
|  | ||||
| 		$this->db->set ('projectid', $issue->projectid); | ||||
| 		$this->db->set ('id', $issue->id); | ||||
| 		$this->db->set ('sno', 1); | ||||
| 		$this->db->where ('projectid', $issue->projectid); | ||||
| 		$this->db->where ('id', $issue->id); | ||||
| 		$this->db->where ('sno', 1); | ||||
| 		$this->db->set ('type', $issue->type); | ||||
| 		$this->db->set ('status', $issue->status); | ||||
| 		$this->db->set ('owner', $issue->owner); | ||||
| @ -206,26 +262,95 @@ class IssueModel extends Model | ||||
| 		return $id; | ||||
| 	} | ||||
|  | ||||
| 	function undo_last_change ($userid, $project, $id) | ||||
| 	{ | ||||
| 		$this->db->trans_start (); | ||||
|  | ||||
| 		$this->db->where ('projectid', $project->id); | ||||
| 		$this->db->where ('id', $id); | ||||
| 		$this->db->select ('MAX(sno) as maxsno'); | ||||
| 		$query = $this->db->get ('issue_change'); | ||||
| 		if ($this->db->trans_status() === FALSE)  | ||||
| 		{ | ||||
| 			$this->db->trans_complete (); | ||||
| 			return FALSE; | ||||
| 		} | ||||
| 		$result = $query->result(); | ||||
| 		if (!empty($result)) | ||||
| 		{ | ||||
| 			$maxsno = $result[0]->maxsno; | ||||
| 			if ($maxsno > 1) | ||||
| 			{	 | ||||
| 				$this->db->where ('projectid', $project->id); | ||||
| 				$this->db->where ('id', $id); | ||||
| 				$this->db->where ('sno', $maxsno); | ||||
| 				$this->db->delete ('issue_change'); | ||||
|  | ||||
| 				$this->db->where ('projectid', $project->id); | ||||
| 				$this->db->where ('id', $id); | ||||
| 				$this->db->select ('MAX(sno) as maxsno'); | ||||
| 				$query = $this->db->get ('issue_change'); | ||||
| 				if ($this->db->trans_status() === FALSE)  | ||||
| 				{ | ||||
| 					$this->db->trans_complete (); | ||||
| 					return FALSE; | ||||
| 				} | ||||
| 				$result = $query->result(); | ||||
| 				if (!empty($result)) | ||||
| 				{ | ||||
| 					$maxsno = $result[0]->maxsno; | ||||
| 					$this->db->where ('projectid', $project->id); | ||||
| 					$this->db->where ('id', $id); | ||||
| 					$this->db->where ('sno', $maxsno); | ||||
| 					$query = $this->db->get ('issue_change'); | ||||
| 					if ($this->db->trans_status() === FALSE)  | ||||
| 					{ | ||||
| 						$this->db->trans_complete (); | ||||
| 						return FALSE; | ||||
| 					} | ||||
| 					$result = $query->result(); | ||||
| 					if (!empty($result)) | ||||
| 					{ | ||||
| 						$change = $result[0]; | ||||
| 						$this->db->where ('projectid', $project->id); | ||||
| 						$this->db->where ('id', $id); | ||||
| 						$this->db->set ('type', $change->type); | ||||
| 						$this->db->set ('status', $change->status); | ||||
| 						$this->db->set ('owner', $change->owner); | ||||
| 						$this->db->set ('priority', $change->priority); | ||||
| 						$this->db->set ('updatedon', $change->updatedon); | ||||
| 						$this->db->set ('updatedby', $change->updatedby); | ||||
| 						$this->db->update ('issue'); | ||||
| 					} | ||||
| 				} | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		$this->db->trans_complete (); | ||||
|                 return $this->db->trans_status(); | ||||
| 	} | ||||
|  | ||||
| 	function delete ($userid, $issue) | ||||
| 	{ | ||||
| 		// TODO: check if userid can do this.. | ||||
| 		$this->db->trans_start (); | ||||
| 		$this->db->where ('projectid', $issue->projectid); | ||||
| 		$this->db->where ('id', $issue->id); | ||||
| 		$this->db->delete ('issue'); | ||||
|  | ||||
| 		$this->db->where ('projectid', $issue->projectid); | ||||
| 		$this->db->where ('id', $issue->id); | ||||
| 		$this->db->delete ('issue_change'); | ||||
|  | ||||
| 		$this->db->where ('projectid', $issue->projectid); | ||||
| 		$this->db->where ('id', $issue->id); | ||||
| 		$this->db->delete ('issue'); | ||||
|  | ||||
|                 $this->db->set ('createdon', date('Y-m-d H:i:s')); | ||||
| 		$this->db->set ('type',      'issue'); | ||||
| 		$this->db->set ('action',    'delete'); | ||||
| 		$this->db->set ('projectid', $issue->projectid); | ||||
| 		$this->db->set ('userid',    $userid); | ||||
| 		$this->db->set ('message',   $issue->id); | ||||
|  | ||||
|                 $this->db->insert ('log'); | ||||
|  | ||||
| 		$this->db->trans_complete (); | ||||
|                 return $this->db->trans_status(); | ||||
| 	} | ||||
|  | ||||
| @ -40,10 +40,11 @@ class LogModel extends Model | ||||
| 		$this->db->order_by ('createdon', 'desc'); | ||||
| 		$query = $this->db->get ('log', $limit, $offset); | ||||
|  | ||||
| 		$result = $query->result (); | ||||
| 		$this->db->trans_complete (); | ||||
| 		if ($this->db->trans_status() === FALSE) return FALSE; | ||||
|  | ||||
| 		$result = $query->result (); | ||||
|  | ||||
| 		$count = 0; | ||||
| 		$commits = array (); | ||||
| 		foreach ($result as $row) | ||||
|  | ||||
| @ -12,7 +12,7 @@ function render_wiki() | ||||
| 	creole_render_wiki ( | ||||
| 		"project_file_show_textpre",  | ||||
| 		"project_file_show_textarea",  | ||||
| 		"<?=dirname(dirname(dirname(dirname(current_url()))))?>/wiki/show/<?=$project->id?>/" | ||||
| 		"<?=site_url()?>/wiki/show/<?=$project->id?>/" | ||||
| 	); | ||||
| } | ||||
| </script> | ||||
|  | ||||
| @ -3,7 +3,7 @@ | ||||
| <head> | ||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/common.css" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/project.css" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/issue.css" /> | ||||
|  | ||||
| <title><?=htmlspecialchars($issue->id)?></title> | ||||
| </head> | ||||
| @ -31,92 +31,79 @@ $this->load->view ( | ||||
|  | ||||
| <!----------------------------------------------------------------------------> | ||||
|  | ||||
| <div class="mainarea" id="issue_edit_mainarea"> | ||||
| <div class="mainarea" id="project_issue_edit_mainarea"> | ||||
|  | ||||
| <?php if ($message != "") print '<div id="issue_edit_message" class="form_message">'.htmlspecialchars($message).'</div>'; ?> | ||||
| <?php  | ||||
| 	if ($message != "")  | ||||
| 	{ | ||||
| 		print '<div id="project_issue_edit_message" class="form_message">'; | ||||
| 		print htmlspecialchars($message); | ||||
| 		print '</div>';  | ||||
| 	} | ||||
| ?> | ||||
|  | ||||
| <?=form_open("issue/{$mode}/{$project->id}/".$this->converter->AsciiToHex($issue->id))?> | ||||
| 	<?=form_fieldset()?> | ||||
| 		<div> | ||||
| 			<?php if ($mode == 'create'): ?> | ||||
| 			<?=form_hidden('issue_id', set_value('issue_id', $issue->id))?> | ||||
| 			<?php else: ?> | ||||
| 				<div> | ||||
| 					<?=form_label($this->lang->line('ID').': ', 'issue_id')?> | ||||
| 					<?=form_error('issue_id');?> | ||||
| 				</div> | ||||
| 				<div> | ||||
| 					<?=form_input('issue_id', set_value('issue_id', $issue->id), 'readonly="readonly"')?> | ||||
| 				</div> | ||||
| 			<?php endif; ?> | ||||
| 			<?=form_hidden('issue_projectid', set_value('issue_projectid', $issue->projectid))?> | ||||
| 			<?=form_hidden('issue_status', set_value('issue_status', $issue->status))?> | ||||
| 			<?=form_hidden('issue_priority', set_value('issue_priority', $issue->priority))?> | ||||
| 			<?=form_hidden('issue_owner', set_value('issue_owner', $issue->owner))?> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 		<div id='project_issue_edit_mainarea_type'> | ||||
| 		<?php | ||||
| 		if ($mode == 'update') | ||||
| 		{ | ||||
| 			print form_hidden('issue_type', set_value('issue_type', $issue->type)); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			print form_label($this->lang->line('Type').': ', 'issue_type'); | ||||
| 			print form_dropdown ( | ||||
| 				'issue_type',  | ||||
| 				$issue_type_array, | ||||
| 				set_value('issue_type', $issue->type), | ||||
| 				'id="project_issue_type"'); | ||||
| 			print form_error('issue_type'); | ||||
| 		} | ||||
| 		?> | ||||
| 		</div> | ||||
|  | ||||
| 		<div id='project_issue_edit_mainarea_summary'> | ||||
| 			<div> | ||||
| 				<?=form_label($this->lang->line('Summary').': ', 'issue_summary')?> | ||||
| 				<?=form_error('issue_summary');?> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 				<?=form_input('issue_summary', set_value('issue_summary', $issue->summary), 'size="80"')?> | ||||
| 				<?=form_input('issue_summary',  | ||||
| 					set_value('issue_summary', $issue->summary),  | ||||
| 					'size="80" id="project_issue_summary"') | ||||
| 				?> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 		<div id='project_issue_edit_mainarea_description'> | ||||
| 			<div> | ||||
| 				<?=form_label($this->lang->line('Description').': ', 'issue_description')?> | ||||
| 				<?=form_error('issue_description');?> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 				<?=form_textarea('issue_description', set_value('issue_description', $issue->description), 'id="issue_description"')?> | ||||
| 			<?php | ||||
| 				$xdata = array ( | ||||
| 					'name' => 'issue_description', | ||||
|                                         'value' => set_value ('issue_description', $issue->description), | ||||
|                                         'id' => 'project_issue_description', | ||||
|                                         'rows' => 20, | ||||
|                                         'cols' => 80 | ||||
|                                 ); | ||||
|                                 print form_textarea ($xdata); | ||||
|                         ?> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 			<div> | ||||
| 				<?=form_label($this->lang->line('Type').': ', 'issue_type')?> | ||||
| 				<?=form_error('issue_type');?> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 				<?=form_input('issue_type', set_value('issue_type', $issue->type), 'id="issue_type"')?> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 			<div> | ||||
| 				<?=form_label($this->lang->line('Priority').': ', 'issue_priority')?> | ||||
| 				<?=form_error('issue_priority');?> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 				<?=form_input('issue_priority', set_value('issue_priority', $issue->priority))?> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
|  | ||||
| 		<div> | ||||
| 			<div> | ||||
| 				<?=form_label($this->lang->line('Status').': ', 'issue_status')?> | ||||
| 				<?=form_error('issue_status');?> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 				<?=form_input('issue_status', set_value('issue_status', $issue->status))?> | ||||
| 			</div> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 			<div> | ||||
| 				<?=form_label($this->lang->line('Owner').': ', 'issue_owner')?> | ||||
| 				<?=form_error('issue_owner');?> | ||||
| 			</div> | ||||
| 			<div> | ||||
| 				<?=form_input('issue_owner', set_value('issue_owner', $issue->owner))?> | ||||
| 			</div> | ||||
| 		</div> | ||||
| 		 | ||||
| 		<div> | ||||
| 			<?=form_hidden('issue_projectid', set_value('issue_projectid', $issue->projectid))?> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 		<div id='project_issue_edit_mainarea_buttons'> | ||||
| 			<?php $caption = ($mode == 'update')? $this->lang->line('Update'): $this->lang->line('Create'); ?> | ||||
| 			<?=form_submit('issue', $caption)?> | ||||
| 		</div> | ||||
| @ -124,7 +111,7 @@ $this->load->view ( | ||||
| 	<?=form_fieldset_close()?> | ||||
| <?=form_close();?> | ||||
|  | ||||
| </div> <!-- issue_edit_mainarea --> | ||||
| </div> <!-- project_issue_edit_mainarea --> | ||||
|  | ||||
| <!----------------------------------------------------------------------------> | ||||
|  | ||||
|  | ||||
| @ -3,7 +3,7 @@ | ||||
| <head> | ||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/common.css" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/project.css" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/issue.css" /> | ||||
|  | ||||
| <script type="text/javascript" src="<?=base_url()?>/js/jquery.min.js"></script> | ||||
| <script type="text/javascript" src="<?=base_url()?>/js/jquery-ui.min.js"></script> | ||||
| @ -20,7 +20,7 @@ $( | ||||
| 				buttons: {  | ||||
| 					'Ok': function () {  | ||||
| 						$('#filter_owner').val ($('#jq_owner').val()); | ||||
| 						$('#filter_status').val ($('#jq_status').val()); | ||||
| 						$('#filter_summary').val ($('#jq_status').val()); | ||||
| 						$(this).dialog('close');  | ||||
| 					} | ||||
| 				}, | ||||
| @ -32,7 +32,7 @@ $( | ||||
| 		$("#project_issue_home_mainarea_filter_open").button().click ( | ||||
| 			function () {  | ||||
| 				$('#jq_owner').val ($('#filter_owner').val()); | ||||
| 				$('#jq_status').val ($('#filter_status').val()); | ||||
| 				$('#jq_status').val ($('#filter_summary').val()); | ||||
| 				$('#project_issue_home_mainarea_options').dialog('open');  | ||||
| 			} | ||||
| 		); | ||||
| @ -40,7 +40,7 @@ $( | ||||
| ); | ||||
| </script> | ||||
|  | ||||
| <title><?=htmlspecialchars($project->id)?></title> | ||||
| <title><?=htmlspecialchars($project->name)?></title> | ||||
| </head> | ||||
|  | ||||
| <body> | ||||
| @ -76,8 +76,8 @@ $this->load->view ( | ||||
|  | ||||
| 		<input type="hidden" id="filter_owner" name="filter_owner" value='<?=$filter->owner?>' /> | ||||
|  | ||||
| 		<?=form_label ($this->lang->line('Status'), 'form_status')?> | ||||
| 		<?=form_input('filter_status', set_value('filter_status', $filter->status), 'id="filter_status"')?> | ||||
| 		<?=form_label ($this->lang->line('Summary'), 'form_summary')?> | ||||
| 		<?=form_input('filter_summary', set_value('filter_summary', $filter->summary), 'id="filter_summary"')?> | ||||
|  | ||||
|  | ||||
| 		<?=form_submit('filter', 'Search')?> | ||||
| @ -104,21 +104,62 @@ if (empty($issues)) | ||||
| } | ||||
| else | ||||
| { | ||||
| 	print '<ul>'; | ||||
| 	print '<table id="project_issue_home_mainarea_result_table">'; | ||||
| 	print '<tr class="heading">'; | ||||
| 	print '<th class="project_issue_home_mainarea_result_table_id">' . $this->lang->line('ID') . '</th>'; | ||||
| 	print '<th class="project_issue_home_mainarea_result_table_type">' . $this->lang->line('Type') . '</th>'; | ||||
| 	print '<th class="project_issue_home_mainarea_result_table_status">' . $this->lang->line('Status') . '</th>'; | ||||
| 	print '<th class="project_issue_home_mainarea_result_table_priority">' . $this->lang->line('Priority') . '</th>'; | ||||
| 	print '<th class="project_issue_home_mainarea_result_table_owner">' . $this->lang->line('Owner') . '</th>'; | ||||
| 	print '<th class="project_issue_home_mainarea_result_table_summary">' . $this->lang->line('Summary') . '</th>'; | ||||
| 	print '</tr>'; | ||||
|  | ||||
| 	$rowclasses = array ('odd', 'even'); $rowno = 1; | ||||
| 	foreach ($issues as $issue) | ||||
| 	{ | ||||
| 		$hexid = $this->converter->AsciiToHex ($issue->id); | ||||
| 		print '<li>'; | ||||
|  | ||||
| 		$rowclass = $rowclasses[++$rowno % 2]; | ||||
| 		print "<tr class='{$rowclass}'>"; | ||||
|  | ||||
| 		print '<td class="project_issue_home_mainarea_result_table_id">'; | ||||
| 		print anchor ("issue/show/{$project->id}/{$hexid}", htmlspecialchars($issue->id)); | ||||
| 		print ': '; | ||||
| 		print htmlspecialchars($issue->summary); | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '<td class="project_issue_home_mainarea_result_table_type">'; | ||||
| 		print (htmlspecialchars( | ||||
| 			array_key_exists($issue->type, $issue_type_array)? | ||||
| 				$issue_type_array[$issue->type]: $issue->type)); | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '<td class="project_issue_home_mainarea_result_table_status">'; | ||||
| 		print (htmlspecialchars( | ||||
| 			array_key_exists($issue->status, $issue_status_array)? | ||||
| 				$issue_status_array[$issue->status]: $issue->status)); | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '<td class="project_issue_home_mainarea_result_table_priority">'; | ||||
| 		print (htmlspecialchars( | ||||
| 			array_key_exists($issue->priority, $issue_priority_array)? | ||||
| 				$issue_priority_array[$issue->priority]: $issue->priority)); | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '<td class="project_issue_home_mainarea_result_table_owner">'; | ||||
| 		print htmlspecialchars($issue->owner); | ||||
| 		print htmlspecialchars($issue->createdby); | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '</li>'; | ||||
| 		print '<td class="project_issue_home_mainarea_result_table_summary">'; | ||||
| 		print htmlspecialchars($issue->summary); | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '</tr>'; | ||||
| 	} | ||||
| 	print '</ul>'; | ||||
|  | ||||
| 	print '<tr class="foot">'; | ||||
| 	print "<td colspan='6' class='pages'>{$page_links}</td>"; | ||||
| 	print '</tr>'; | ||||
|  | ||||
| 	print '</table>'; | ||||
| } | ||||
| ?> | ||||
| </div> <!-- project_issue_home_mainarea_result --> | ||||
|  | ||||
| @ -3,57 +3,147 @@ | ||||
| <head> | ||||
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/common.css" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/project.css" /> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/issue.css" /> | ||||
| <script type="text/javascript" src="<?=base_url()?>/js/creole.js"></script> | ||||
|  | ||||
|  | ||||
| <script type="text/javascript" src="<?=base_url()?>/js/jquery.min.js"></script> | ||||
| <script type="text/javascript" src="<?=base_url()?>/js/jquery-ui.min.js"></script> | ||||
| <link type="text/css" rel="stylesheet" href="<?=base_url()?>/css/jquery-ui.css" /> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
| $( | ||||
| 	function () {  | ||||
|  | ||||
| $.widget("ui.combobox", { | ||||
| 	_create: function() { | ||||
| 		var self = this; | ||||
| 		var select = this.element.hide(); | ||||
| 		var input = $("<input>").insertAfter(select); | ||||
|  | ||||
| 		input.autocomplete({ | ||||
| 			source: function(request, response) { | ||||
| 				var matcher = new RegExp(request.term, "i"); | ||||
| 				response(select.children("option").map(function() { | ||||
| 					var text = $(this).text(); | ||||
| 					if (!request.term || matcher.test(text)) | ||||
| 						return { | ||||
| 							id: $(this).val(), | ||||
| 							label: text.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + request.term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"), | ||||
| 							value: text | ||||
| 						}; | ||||
| 				})); | ||||
| 			}, | ||||
| 			delay: 0, | ||||
| 			select: function(e, ui) { | ||||
| 				if (!ui.item) { | ||||
| 					// remove invalid value, as it didn't match anything | ||||
| 					$(this).val(""); | ||||
| 					return false; | ||||
| 				} | ||||
| 				$(this).focus(); | ||||
| 				select.val(ui.item.id); | ||||
| 				self._trigger("selected", null, { | ||||
| 					item: select.find("[value='" + ui.item.id + "']") | ||||
| 				}); | ||||
| 				 | ||||
| 				}, | ||||
| 			minLength: 0 | ||||
| 		}) | ||||
|  | ||||
| 		var fn = function() { | ||||
| 			// close if already visible | ||||
| 			//if (input.autocomplete("widget").is(":visible")) { | ||||
| 			//	input.autocomplete("close"); | ||||
| 			//	return; | ||||
| 			//} | ||||
| 			// pass empty string as value to search for, displaying all results | ||||
| 			input.autocomplete("search", ""); | ||||
| 			input.focus(); | ||||
| 		}; | ||||
|  | ||||
| 		input.click (fn); | ||||
| 		input.focusin (fn); | ||||
|  | ||||
| 		input.addClass("ui-widget ui-widget-content"); | ||||
| 	} | ||||
| }); | ||||
|  | ||||
|  | ||||
| $(function () {  | ||||
| 	/* | ||||
| 	$("#issue_change_type").combobox(); | ||||
| 	$("#issue_change_status").combobox(); | ||||
| 	$("#issue_change_priority").combobox(); | ||||
| 	*/ | ||||
| 	/*$("#issue_change_owner").combobox();*/ | ||||
|  | ||||
| 	$("#project_issue_show_mainarea_change_form").dialog ( | ||||
| 		{ | ||||
| 				title: 'Change', | ||||
| 			title: '<?=$this->lang->line('Change')?>', | ||||
| 			autoOpen: false, | ||||
| 			modal: true, | ||||
| 			width: '85%', | ||||
| 			buttons: {  | ||||
| 					'Submit': function () {  | ||||
| 				'<?=$this->lang->line('Cancel')?>': function () {  | ||||
| 					$(this).dialog('close');  | ||||
| 						$('#issue').submit (); | ||||
| 				}, | ||||
| 				'<?=$this->lang->line('OK')?>': function () {  | ||||
| 					var comment = $('#issue_change_comment'); | ||||
| 					if (comment.val().trim().length <= 0) | ||||
| 					{ | ||||
| 						comment.addClass ('ui-state-error'); | ||||
| 						setTimeout (function () { | ||||
| 							comment.removeClass ('ui-state-error', 500); | ||||
| 						}, 500); | ||||
| 					} | ||||
| 					else | ||||
| 					{ | ||||
| 						$(this).dialog('close');  | ||||
| 						$('#issue_change').val ('change'); | ||||
| 						$('#project_issue_change_form').submit (); | ||||
| 					} | ||||
| 				} | ||||
| 			}, | ||||
| 			close: function() { } | ||||
| 		}  | ||||
| 	);  | ||||
|  | ||||
|  | ||||
| 	$("#project_issue_show_mainarea_change_form_open").button().click ( | ||||
| 		function () {  | ||||
| 			$('#project_issue_show_mainarea_change_form').dialog('open');  | ||||
| 		} | ||||
| 	); | ||||
|  | ||||
| 	$("#project_issue_show_mainarea_undo_change_confirm").dialog ( | ||||
| 		{ | ||||
| 			title: '<?=$this->lang->line('Undo')?>', | ||||
| 			resizable: false, | ||||
| 			autoOpen: false, | ||||
| 			modal: true, | ||||
| 			buttons: {  | ||||
| 				'<?=$this->lang->line('Cancel')?>': function () {  | ||||
| 					$(this).dialog('close');  | ||||
| 				}, | ||||
| 				'<?=$this->lang->line('OK')?>': function () {  | ||||
| 					$('#issue_change').val ('undo'); | ||||
| 					$('#project_issue_change_form').submit (); | ||||
| 					$(this).dialog('close');  | ||||
| 				} | ||||
| 			}, | ||||
| 			close: function() { } | ||||
| 		}  | ||||
| 	); | ||||
|  | ||||
| 	$("#project_issue_show_mainarea_undo_change").button().click ( | ||||
| 		function () {  | ||||
| 			$('#project_issue_show_mainarea_undo_change_confirm').dialog('open');  | ||||
| 		} | ||||
| 	); | ||||
|  | ||||
| }); | ||||
| </script> | ||||
|  | ||||
| <title><?=htmlspecialchars($issue->id)?></title> | ||||
| </head> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
| function render_wiki() | ||||
| { | ||||
| 	creole_render_wiki ( | ||||
| 		"project_issue_show_mainarea_description_pre",  | ||||
| 		"project_issue_show_mainarea_description",  | ||||
| 		"<?=site_url()?>/issue/show/<?=$project->id?>/" | ||||
| 	); | ||||
| } | ||||
| </script> | ||||
|  | ||||
| <body onLoad="render_wiki()"> | ||||
|  | ||||
| <div class="content" id="project_issue_show_content"> | ||||
| @ -90,10 +180,39 @@ $this->load->view ( | ||||
| </div> | ||||
|  | ||||
| <div class="infostrip" id="project_issue_show_mainarea_infostrip"> | ||||
|         Reported by <?=htmlspecialchars($issue->createdby)?> on <?=$issue->createdon?> | | ||||
| 	<?=$this->lang->line('Status') ?>: <?=htmlspecialchars($issue->status)?> | | ||||
| 	<?=$this->lang->line('Type') ?>: <?=htmlspecialchars($issue->type)?>  | ||||
| 	<a id="project_issue_show_mainarea_change_form_open" href='#'>Change</a> | ||||
| 	<?php | ||||
| 		print $this->lang->line('Type'); | ||||
| 		print ': ';  | ||||
| 		print htmlspecialchars( | ||||
| 			array_key_exists($issue->type, $issue_type_array)?  | ||||
| 				$issue_type_array[$issue->type]: $issue->type | ||||
| 		); | ||||
| 		print ' | '; | ||||
|  | ||||
| 		print $this->lang->line('Status'); | ||||
| 		print ': ';  | ||||
| 		print htmlspecialchars( | ||||
| 			array_key_exists($issue->status, $issue_status_array)?  | ||||
| 				$issue_status_array[$issue->status]: $issue->status | ||||
| 		); | ||||
| 		print ' | '; | ||||
|  | ||||
| 		print $this->lang->line('Priority'); | ||||
| 		print ': ';  | ||||
| 		print htmlspecialchars( | ||||
| 			array_key_exists($issue->priority, $issue_priority_array)?  | ||||
| 				$issue_priority_array[$issue->priority]: $issue->priority | ||||
| 		); | ||||
| 		print ' | '; | ||||
| 		if ($issue->owner != '') | ||||
| 		{ | ||||
| 			print $this->lang->line('Owner'); | ||||
| 			print ': ';  | ||||
| 			print htmlspecialchars($issue->owner); | ||||
| 			print ' | '; | ||||
| 		} | ||||
| 	?> | ||||
| 	<a id="project_issue_show_mainarea_change_form_open" href="#"><?=$this->lang->line('Change')?></a> | ||||
| </div> | ||||
|  | ||||
| <div id="project_issue_show_mainarea_description"> | ||||
| @ -104,66 +223,176 @@ $this->load->view ( | ||||
|  | ||||
| <div id="project_issue_show_mainarea_changes"> | ||||
| <?php | ||||
| print "<ul>"; | ||||
| foreach ($issue->changes as $change) | ||||
| { | ||||
| 	$commentno = 0; | ||||
|  | ||||
| 	print '<li>'; | ||||
| 	print date ('Y-m-d', strtotime($change->updatedon))  . ' ' . htmlspecialchars($change->status); | ||||
| 	print ' '; | ||||
| 	print htmlspecialchars($change->comment); | ||||
| 	print '</li>'; | ||||
| 	$msgfmt_changed = $this->lang->line ('ISSUE_MSG_CHANGED_X_FROM_Y_TO_Z'); | ||||
| 	$count = count($issue->changes); | ||||
| 	if ($count > 1)  | ||||
| 	{ | ||||
| 		print '<div class="infostrip">'; | ||||
| 		print '<span class="title">'; | ||||
| 		print $this->lang->line('Change log'); | ||||
| 		print '</span>'; | ||||
| 		print '<a id="project_issue_show_mainarea_undo_change" href="#">'; | ||||
| 		print $this->lang->line('Undo'); | ||||
| 		print '</a>'; | ||||
| 		print '</div>'; | ||||
| 	} | ||||
| print "</ul>"; | ||||
|  | ||||
| 	print '<table id="project_issue_show_mainarea_changes_table">'; | ||||
| 	while ($count > 1) | ||||
| 	{ | ||||
| 		$new = $issue->changes[--$count]; | ||||
| 		$old = $issue->changes[$count-1]; | ||||
|  | ||||
| 		print "<tr>"; | ||||
| 		 | ||||
| 		print '<td class="project_issue_show_mainarea_changes_table_date">';  | ||||
| 		print '<span title="'; | ||||
| 		print date ('Y-m-d H:s:i', strtotime($new->updatedon)); | ||||
| 		print '">'; | ||||
| 		print date ('Y-m-d', strtotime($new->updatedon)); | ||||
| 		print '</span>'; | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '<td class="project_issue_show_mainarea_changes_table_updater">';  | ||||
| 		print htmlspecialchars($new->updatedby); | ||||
| 		print '</td>'; | ||||
|  | ||||
| 		print '<td class="project_issue_show_mainarea_changes_table_details">'; | ||||
| 		if ($new->comment != "") | ||||
| 		{ | ||||
| 			print "<div id='project_issue_show_mainarea_changes_comment_{$commentno}' class='project_issue_show_mainarea_changes_comment'>"; | ||||
| 			print "<pre id='project_issue_show_mainarea_changes_comment_pre_{$commentno}'>"; | ||||
| 			print htmlspecialchars($new->comment); | ||||
| 			print '</pre>';	 | ||||
| 			print '</div>'; | ||||
| 			$commentno++; | ||||
| 		} | ||||
|  | ||||
| 		print '<div class="project_issue_show_mainarea_changes_list">'; | ||||
| 		print '<ul>'; | ||||
| 		if ($new->type != $old->type) | ||||
| 		{ | ||||
| 			printf ("<li>{$msgfmt_changed}</li>",  | ||||
| 				strtolower($this->lang->line('Type')), | ||||
| 				htmlspecialchars( | ||||
| 					array_key_exists($old->type, $issue_type_array)?  | ||||
| 					$issue_type_array[$old->type]: $old->type), | ||||
| 				htmlspecialchars( | ||||
| 					array_key_exists($new->type, $issue_type_array)?  | ||||
| 					$issue_type_array[$new->type]: $new->type)); | ||||
| 		} | ||||
|  | ||||
| 		if ($new->status != $old->status) | ||||
| 		{ | ||||
| 			printf ("<li>{$msgfmt_changed}</li>",  | ||||
| 				strtolower($this->lang->line('Status')), | ||||
| 				htmlspecialchars( | ||||
| 					array_key_exists($old->status, $issue_status_array)?  | ||||
| 					$issue_status_array[$old->status]: $old->status), | ||||
| 				htmlspecialchars( | ||||
| 					array_key_exists($new->status, $issue_status_array)?  | ||||
| 					$issue_status_array[$new->status]: $new->status)); | ||||
| 		} | ||||
|  | ||||
| 		if ($new->priority != $old->priority) | ||||
| 		{ | ||||
| 			printf ("<li>{$msgfmt_changed}</li>",  | ||||
| 				strtolower($this->lang->line('Priority')), | ||||
| 				htmlspecialchars( | ||||
| 					array_key_exists($old->priority, $issue_priority_array)?  | ||||
| 					$issue_priority_array[$old->priority]: $old->priority), | ||||
| 				htmlspecialchars( | ||||
| 					array_key_exists($new->priority, $issue_priority_array)?  | ||||
| 					$issue_priority_array[$new->priority]: $new->priority)); | ||||
| 		} | ||||
|  | ||||
| 		if ($new->owner != $old->owner) | ||||
| 		{ | ||||
| 			printf ("<li>{$msgfmt_changed}</li>",  | ||||
| 				strtolower($this->lang->line('Owner')), | ||||
| 				htmlspecialchars($old->owner), htmlspecialchars($new->owner)); | ||||
| 		} | ||||
| 		print '</ul>'; | ||||
| 		print '</div>'; | ||||
|  | ||||
| 		print '</td>'; | ||||
| 		print '</tr>'; | ||||
| 	} | ||||
| 	print '</table>'; | ||||
| ?> | ||||
|  | ||||
| </div> | ||||
|  | ||||
| <div id="project_issue_show_mainarea_change_form"> | ||||
|  | ||||
| 	<?=form_open("issue/show/{$project->id}/{$hexid}/", 'id="issue"')?> | ||||
| 	<?=form_open("issue/show/{$project->id}/{$hexid}/", 'id="project_issue_change_form"')?> | ||||
|  | ||||
| 		<?=form_hidden ('issue_change', 'yes');?> | ||||
| 		<input type='hidden' name='issue_change' id='issue_change' value='change' /> | ||||
|  | ||||
| 		<div> | ||||
| 			<?=form_label ($this->lang->line('Type'), 'issue_change_type')?> | ||||
| 			<?=form_input('issue_change_type', set_value('issue_change_type', $issue->type), 'id="issue_change_type" class="text ui-widget-content ui-corner-all"')?> | ||||
| 			<?=form_label ($this->lang->line('Type'), | ||||
| 				'issue_change_type') | ||||
| 			?> | ||||
| 			<?=form_dropdown('issue_change_type',  | ||||
| 				$issue_type_array, | ||||
| 				set_value('issue_change_type', $issue->type), | ||||
| 				'id="issue_change_type"') | ||||
| 			?> | ||||
|  | ||||
| 			<?=form_label ($this->lang->line('Status'), | ||||
| 				'issue_change_status') | ||||
| 			?> | ||||
| 			<?=form_dropdown('issue_change_status',  | ||||
| 				$issue_status_array, | ||||
| 				set_value('issue_change_status', $issue->status), | ||||
| 				'id="issue_change_status"') | ||||
| 			?> | ||||
|  | ||||
| 			<?=form_label ($this->lang->line('Priority'), | ||||
| 				'issue_change_priority') | ||||
| 			?> | ||||
|  | ||||
| 			<?=form_dropdown ( | ||||
| 				'issue_change_priority',  | ||||
| 				$issue_priority_array, | ||||
| 				set_value('issue_change_priority', $issue->priority), | ||||
| 				'id="issue_change_priority"') | ||||
| 			?> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 			<?=form_label ($this->lang->line('Status'), 'issue_change_status')?> | ||||
| 			<?=form_input('issue_change_status', set_value('issue_change_status', $issue->status), 'id="issue_change_status" class="text ui-widget-content ui-corner-all"')?> | ||||
| 			<?=form_label ($this->lang->line('Owner'), | ||||
| 				'issue_change_owner') | ||||
| 			?> | ||||
| 			<?=form_input('issue_change_owner', | ||||
| 				set_value('issue_change_owner', $issue->owner), | ||||
| 				'id="issue_change_owner"') | ||||
| 			?> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 			<?=form_label ($this->lang->line('Owner'), 'issue_change_owner')?> | ||||
| 			<?=form_input('issue_change_owner', set_value('issue_change_owner', $issue->owner), 'id="issue_change_owner" class="text ui-widget-content ui-corner-all"')?> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 			<?=form_label ($this->lang->line('Priority'), 'issue_change_priority')?> | ||||
| 			<?=form_input('issue_change_priority', set_value('issue_change_priority', $issue->priority), 'id="issue_change_priority" class="text ui-widget-content ui-corner-all"')?> | ||||
| 		</div> | ||||
|  | ||||
| 		<div> | ||||
| 			<?=form_label ('Comment', 'issue_change_comment')?> | ||||
| 			<?=form_label ($this->lang->line('Comment'), 'issue_change_comment')?> | ||||
| 			<?php | ||||
| 				$xdata = array ( | ||||
| 					'name' => 'issue_change_comment', | ||||
| 					'value' => set_value ('issue_change_comment', ''), | ||||
| 					'id' => 'issue_change_comment', | ||||
| 					'rows' => 3, | ||||
| 					'cols' => 80, | ||||
| 					'class' => 'text ui-widget-content ui-corner-all' | ||||
| 					'rows' => 10, | ||||
| 					'cols' => 80 | ||||
| 				); | ||||
| 				print form_textarea ($xdata); | ||||
| 			?> | ||||
| 		</div> | ||||
| 	<?=form_close()?> | ||||
|  | ||||
|  | ||||
| </div> <!-- project_issue_show_change_form --> | ||||
|  | ||||
|  | ||||
| <div id="project_issue_show_mainarea_undo_change_confirm"> | ||||
| 	<?=$this->lang->line ('ISSUE_MSG_CONFIRM_UNDO')?> | ||||
| </div> | ||||
|  | ||||
| </div> <!-- project_issue_show_mainarea --> | ||||
|  | ||||
| <!----------------------------------------------------------------------------> | ||||
| @ -174,6 +403,32 @@ print "</ul>"; | ||||
|  | ||||
| </div> <!--  project_issue_show_content --> | ||||
|  | ||||
| <script type="text/javascript"> | ||||
| function render_wiki() | ||||
| { | ||||
| 	<?php $creole_base = site_url() . "/wiki/show/{$project->id}/"; ?> | ||||
|  | ||||
| 	creole_render_wiki ( | ||||
| 		"project_issue_show_mainarea_description_pre",  | ||||
| 		"project_issue_show_mainarea_description",  | ||||
| 		"<?=$creole_base?>" | ||||
| 	); | ||||
|  | ||||
| 	<?php | ||||
| 	if ($commentno > 0) | ||||
| 	{ | ||||
| 		for ($xxx = 0; $xxx < $commentno; $xxx++) | ||||
| 		{ | ||||
| 			print "creole_render_wiki ( | ||||
| 					'project_issue_show_mainarea_changes_comment_pre_{$xxx}',  | ||||
| 					'project_issue_show_mainarea_changes_comment_{$xxx}',  | ||||
| 					'{$creole_base}');"; | ||||
| 		} | ||||
| 	} | ||||
| 	?> | ||||
| } | ||||
| </script> | ||||
|  | ||||
| </body> | ||||
|  | ||||
| </html> | ||||
|  | ||||
| @ -167,6 +167,7 @@ $this->load->view ( | ||||
| ?> | ||||
| <tr class='foot'> | ||||
| <td colspan='<?=$numcols?>' class='pages'><?= $page_links ?></td> | ||||
| </tr> | ||||
| </table> | ||||
|  | ||||
| </div> <!-- log_mainarea_result --> | ||||
|  | ||||
| @ -29,6 +29,7 @@ function load_ini ($file) | ||||
| 		array ('sysadmin_userids',             'string',     ''), | ||||
| 		array ('max_upload_size',              'string',     '10000'), // kbytes | ||||
| 		array ('max_latest_projects',          'integer',    10), | ||||
| 		array ('max_issues_per_page',          'integer',    50), | ||||
| 		array ('max_logs_per_page',            'integer',    50), | ||||
| 		array ('max_logs_in_site_home',        'integer',    10), | ||||
| 		array ('max_logs_in_project_home',     'integer',    5), | ||||
|  | ||||
| @ -3,6 +3,7 @@ SUBDIRS =  images | ||||
| wwwdir=$(WWWDIR)/css | ||||
| www_DATA =  \ | ||||
| 	common.css \ | ||||
| 	issue.css \ | ||||
| 	jquery-ui.css \ | ||||
| 	project.css \ | ||||
| 	websvn.css  | ||||
|  | ||||
| @ -205,6 +205,7 @@ wwwdir = $(WWWDIR)/css | ||||
| SUBDIRS = images | ||||
| www_DATA = \ | ||||
| 	common.css \ | ||||
| 	issue.css \ | ||||
| 	jquery-ui.css \ | ||||
| 	project.css \ | ||||
| 	websvn.css  | ||||
|  | ||||
| @ -396,3 +396,7 @@ pre.prettyprint .nocode a:hover { | ||||
| 	color: red; | ||||
| } | ||||
|  | ||||
| .content span.quoted { | ||||
| 	color: #bb2322; | ||||
| 	font-style: italic; | ||||
| } | ||||
|  | ||||
							
								
								
									
										163
									
								
								codepot/src/css/issue.css
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										163
									
								
								codepot/src/css/issue.css
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,163 @@ | ||||
|  | ||||
| /*--------------------------------------------- | ||||
|  * issue home | ||||
|  *---------------------------------------------*/ | ||||
| #project_issue_home_mainarea_result { | ||||
| 	overflow: auto; | ||||
| } | ||||
|  | ||||
| #project_issue_home_mainarea_result_table { | ||||
| 	border-collapse: collapse; | ||||
| 	width: 100%; | ||||
| 	font-size: inherit; | ||||
| } | ||||
|  | ||||
| #project_issue_home_mainarea_result_table td.pages { | ||||
|         padding-top: 1em; | ||||
|         text-align: center; | ||||
|         font-weight: bold; | ||||
| } | ||||
|  | ||||
| .project_issue_home_mainarea_result_table_id { | ||||
| 	white-space: nowrap; | ||||
| 	width: 1px; | ||||
| } | ||||
|  | ||||
| .project_issue_home_mainarea_result_table_type { | ||||
| 	white-space: nowrap; | ||||
| 	width: 1px; | ||||
| } | ||||
|  | ||||
| .project_issue_home_mainarea_result_table_status { | ||||
| 	white-space: nowrap; | ||||
| 	width: 1px; | ||||
| } | ||||
|  | ||||
| .project_issue_home_mainarea_result_table_priority { | ||||
| 	white-space: nowrap; | ||||
| 	width: 1px; | ||||
| } | ||||
|  | ||||
| .project_issue_home_mainarea_result_table_owner { | ||||
| 	white-space: nowrap; | ||||
| 	width: 1px; | ||||
| } | ||||
|  | ||||
| .project_issue_home_mainarea_result_table_summary { | ||||
| 	white-space: nowrap; | ||||
| } | ||||
|  | ||||
|  | ||||
| /*--------------------------------------------- | ||||
|  * issue show | ||||
|  *---------------------------------------------*/ | ||||
| #project_issue_show_mainarea_change_form { | ||||
| 	font-size: .9em; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_change_form div { | ||||
| 	padding: 0.3em; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_change_form input { | ||||
| 	padding: 1px; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_change_form select { | ||||
| 	padding: 1px; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_change_form textarea { | ||||
| 	display: block; | ||||
| 	padding: 1px; | ||||
| 	font-size: inherit; | ||||
| 	font-family: inherit; | ||||
| 	width: 100%; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_changes { | ||||
| 	margin-top: 1em; | ||||
| 	padding-top: 0.5em; | ||||
| 	padding-bottom: 0.5em; | ||||
| 	overflow: auto; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_changes .infostrip { | ||||
| 	margin-bottom: 0.5em; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_changes .infostrip .title { | ||||
| 	float: left; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_changes_table { | ||||
| 	border-collapse: collapse; | ||||
| 	width: 100%; | ||||
| 	font-size: inherit; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_changes_table td.project_issue_show_mainarea_changes_table_date { | ||||
| 	width: 1px; | ||||
| 	white-space: nowrap; | ||||
| 	vertical-align: top; | ||||
| 	padding-top: 0.2em; | ||||
| 	padding-bottom: 0.2em; | ||||
| 	border-bottom: 1px solid lightgray; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_changes_table td.project_issue_show_mainarea_changes_table_updater { | ||||
| 	width: 1px; | ||||
| 	white-space: nowrap; | ||||
| 	vertical-align: top; | ||||
| 	padding-top: 0.2em; | ||||
| 	padding-bottom: 0.2em; | ||||
| 	border-bottom: 1px solid lightgray; | ||||
| } | ||||
|  | ||||
| #project_issue_show_mainarea_changes_table td.project_issue_show_mainarea_changes_table_details { | ||||
| 	white-space: nowrap; | ||||
| 	vertical-align: top; | ||||
| 	padding-top: 0.2em; | ||||
| 	padding-bottom: 0.2em; | ||||
| 	border-bottom: 1px solid lightgray; | ||||
| } | ||||
|  | ||||
| .project_issue_show_mainarea_changes_list { | ||||
| 	background-color: #F1F1FF; | ||||
| } | ||||
|  | ||||
| .project_issue_show_mainarea_changes_list ul { | ||||
| 	list-style: square; | ||||
| } | ||||
|  | ||||
| .project_issue_show_mainarea_changes_list ul li { | ||||
| 	padding-bottom: 0.3em; | ||||
| } | ||||
|  | ||||
| .project_issue_show_mainarea_changes_comment p { | ||||
| 	margin-top: 0; | ||||
| } | ||||
|  | ||||
|  | ||||
| /*--------------------------------------------- | ||||
|  * issue edit | ||||
|  *---------------------------------------------*/ | ||||
| #project_issue_edit_mainarea_type { | ||||
| 	padding-bottom: 0.3em; | ||||
| } | ||||
|  | ||||
| #project_issue_edit_mainarea form textarea { | ||||
| 	display: block; | ||||
| 	padding: 1px; | ||||
| 	font-size: inherit; | ||||
| 	font-family: inherit; | ||||
| 	width: 100%; | ||||
| } | ||||
|  | ||||
| #project_issue_summary { | ||||
| 	width: 100%; | ||||
| } | ||||
|  | ||||
| #project_issue_edit_mainarea_buttons { | ||||
| 	padding-top: 0.5em; | ||||
| } | ||||
							
								
								
									
										2
									
								
								codepot/src/css/jquery-ui.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								codepot/src/css/jquery-ui.css
									
									
									
									
										vendored
									
									
								
							| @ -332,7 +332,7 @@ | ||||
| 	text-decoration:none; | ||||
| 	display:block; | ||||
| 	padding:.2em .4em; | ||||
| 	line-height:1.5; | ||||
| 	/*line-height:1.5;*/ | ||||
| } | ||||
| .ui-menu .ui-menu-item a.ui-state-hover, | ||||
| .ui-menu .ui-menu-item a.ui-state-active { | ||||
|  | ||||
		Reference in New Issue
	
	Block a user