<div class="formModal" xmlns:cursor="http://www.w3.org/1999/xhtml">
|
<div class="modal-header faded smaller">
|
<div class="modal-title">
|
<strong translate="project.createProject">프로젝트 만들기</strong>
|
</div>
|
<button aria-label="Close" class="close" type="button" ng-click="fn.cancel()">
|
<span aria-hidden="true"> ×</span>
|
</button>
|
</div>
|
|
<div class="modal-body">
|
<form role="form" name="projectAddForm">
|
<div class="form-group">
|
<label for="projectAddForm1"><span translate="common.projectName">프로젝트명</span> <code class="highlighter-rouge">*</code></label>
|
<input id="projectAddForm1"
|
name="name"
|
type="text"
|
class="form-control"
|
autofocus
|
autocomplete="off"
|
ng-model="vm.form.name"
|
input-regex="[^a-zA-Z0-9 가-힣ㄱ-ㅎㅏ-ㅣ\u318D\u119E\u11A2\u2022\u2025a\u00B7\uFE55]"
|
ng-maxlength="50"
|
maxlength="50"
|
kr-input
|
required>
|
<small ng-show="projectAddForm.name.$error.maxlength" class="help-block form-text text-danger" translate="common.upTo50Characters">
|
최대 50글자까지 입력할 수 있습니다.
|
</small>
|
<small translate="project.limitNameToSpecialCharacters">프로젝트 명은 특수 문자를 입력할 수 없습니다.</small>
|
</div>
|
|
<div class="form-group">
|
<label for="projectAddForm2"><span translate="project.projectKey">프로젝트 키</span> <code class="highlighter-rouge">*</code></label>
|
<input id="projectAddForm2"
|
name="projectKey"
|
type="text"
|
class="form-control"
|
autocomplete="off"
|
maxlength="10"
|
ng-model="vm.form.projectKey"
|
ng-minlength="3"
|
ng-maxlength="10"
|
ng-trim="false"
|
ng-pattern="/^[a-zA-Z][a-zA-Z0-9]{0,10}$/"
|
input-regex="[^a-zA-Z0-9]"
|
owl-project-key
|
kr-input
|
required>
|
<small ng-show="projectAddForm.projectKey.$error.minlength" class="help-block form-text text-danger" translate="common.least3Characters">
|
최소 3글자이상 입력해야 합니다.
|
</small>
|
|
<small ng-show="projectAddForm.projectKey.$error.maxlength" class="help-block form-text text-danger" translate="common.upTo10Characters">
|
최대 10글자까지 입력할 수 있습니다.
|
</small>
|
|
<small ng-show="projectAddForm.projectKey.$error.pattern" class="help-block form-text text-danger" translate="project.failedToProjectKeyPattern">
|
프로젝트 키는 특수 문자를 입력할 수 없습니다.
|
</small>
|
|
<small translate="common.beginEnglishTheProject">
|
프로젝트 키는 영문으로 시작해야합니다.
|
</small>
|
</div>
|
|
<div class="row">
|
<div class="col-lg-6">
|
<div class="form-group">
|
<label><span translate="common.period">기간</span></label>
|
<input tabindex="-1"
|
type="text"
|
class="form-control input-readonly"
|
placeholder="{{'issue.clickToSelectDate' | translate}}"
|
ng-model="vm.form.startEndDateRange"
|
modal-form-auto-scroll
|
date-format="YYYY-MM-DD"
|
parent-el="'#createdWidget'"
|
date-range-picker>
|
<div class="row">
|
<div class="col-xs-12">
|
<div id="createdWidget" class="bootstrap-datepicker"></div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="col-lg-6">
|
<div class="form-group mb10">
|
<label> <span translate="common.parentProject">상위 프로젝트</span></label>
|
<js-autocomplete-single data-input-name="project"
|
selected-model="vm.form.projects"
|
search="vm.projectName"
|
source="fn.getProjectList(vm.projectName, vm.form.projects, vm.autoCompletePage.project.page, fn.getProjectListCallBack)"
|
page="vm.autoCompletePage.project.page"
|
total-page="vm.autoCompletePage.project.totalPage"
|
input-disabled="false"
|
translation-texts="{ empty : 'common.emptyProject' }"
|
extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
|
type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }">
|
</js-autocomplete-single>
|
</div>
|
</div>
|
</div>
|
|
|
<div class="form-group">
|
<label><span translate="project.projectStatus">프로젝트 상태</span> <code class="highlighter-rouge">*</code></label>
|
<ul class="nav nav-pills smaller d-lg-flex">
|
<li class="nav-item">
|
<a class="nav-link cursor" ng-class="{active : vm.form.status == '01'}" data-toggle="tab" ng-click="vm.form.status = '01'"> <span translate="common.wait">대기</span></a>
|
</li>
|
<li class="nav-item">
|
<a class="nav-link cursor" ng-class="{active : vm.form.status == '02'}" data-toggle="tab" ng-click="vm.form.status = '02'"> <span translate="common.progress">진행</span></a>
|
</li>
|
</ul>
|
</div>
|
|
<!--<div class="form-group">
|
<label><span translate="project.projectType">프로젝트 타입</span> <code class="highlighter-rouge">*</code></label>
|
<select class="form-control" ng-model="vm.form.projectType">
|
<option value="BTS_PROJECT" translate="common.btsProject">이슈 관리 프로젝트</option>
|
</select>
|
</div>-->
|
|
<div class="form-group">
|
<label for="projectAddForm3"><span translate="project.projectAdmin">프로젝트 관리자</span> <code class="highlighter-rouge">*</code></label>
|
<input id="projectAddForm3"
|
type="text"
|
name="leader"
|
class="form-control"
|
disabled
|
ng-model="$root.user.name">
|
</div>
|
|
<div class="form-group">
|
<label><span translate="project.projectDepartment">프로젝트 담당부서</span> </label>
|
<js-autocomplete-multi data-input-name="departments"
|
selected-model="vm.form.departments"
|
search="vm.departmentName"
|
source="fn.getUserDepartmentList(vm.departmentName, vm.form.departments)"
|
input-disabled="false"
|
translation-texts="{ count : 'common.userNum', empty : 'common.emptyProjectDepartment' }"
|
extra-settings="{ displayProp : 'byName' , idProp : 'id', imageable : false, maxlength : 100, autoResize : true }"></js-autocomplete-multi>
|
|
|
<div class="select3-selection__choicediv mt-10">
|
<span class="select3-selection__choice" ng-repeat="user in vm.form.users">
|
<span>{{department.byName}}</span> <!--사용자가 속해 있는 부서 이름 출력-->
|
<span class="select3-selection__choice__remove" ng-click="fn.removeDepartment($index)">×</span>
|
</span>
|
</div>
|
</div>
|
</form>
|
</div>
|
|
<div class="modal-footer buttons-on-right">
|
<button type="button" class="btn btn-md btn-grey" ng-click="fn.cancel()"><span translate="common.cancel">취소</span></button>
|
<button type="button" class="btn btn-md btn-primary bold"
|
js-short-cut
|
js-short-cut-action="(fn.formCheck(projectAddForm.$invalid) || $root.spinner) ? null : fn.formSubmit()"
|
ng-disabled="fn.formCheck(projectAddForm.$invalid)"
|
ng-click="fn.formSubmit()"><span translate="common.save">저장</span>
|
</button>
|
</div>
|
</div>
|