From 70e3ad43e441d07d16c7e4e1af0e093befd62c01 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 월, 27 12월 2021 19:36:11 +0900
Subject: [PATCH] Merge branch 'master' of http://192.168.0.25:9001/r/owl-kisa

---
 src/main/webapp/views/issue/issueAddRelation.html |  175 +++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 148 insertions(+), 27 deletions(-)

diff --git a/src/main/webapp/views/issue/issueAddRelation.html b/src/main/webapp/views/issue/issueAddRelation.html
index 066a49e..052c953 100644
--- a/src/main/webapp/views/issue/issueAddRelation.html
+++ b/src/main/webapp/views/issue/issueAddRelation.html
@@ -29,17 +29,17 @@
                 </small>
             </div>
 
-<!--            <div class="form-group mb10 col-sm-4">-->
-<!--                <label class="issue-label"><span class="highlighter-rouge">�뿰愿� �씠�뒋 援щ텇</span></label>-->
-<!--                <select id="relationIssueType"-->
-<!--                        name="relationIssueType"-->
-<!--                        class="form-control input-sm"-->
-<!--                        ng-options="option.name for option in vm.relationIssueTypes track by option.id"-->
-<!--                        ng-model="vm.relationIssueType"-->
-<!--                        required>-->
-<!--                </select>-->
+            <div class="form-group mb10">
+                <label class="issue-label"><span class="highlighter-rouge">�뿰愿� �씠�뒋 援щ텇</span></label>
+                <select id="relationIssueType"
+                        name="relationIssueType"
+                        class="form-control input-sm"
+                        ng-options="option.name for option in vm.relationIssueTypes track by option.id"
+                        ng-model="vm.relationIssueType"
+                        required>
+                </select>
 
-<!--            </div>-->
+            </div>
 
             <div class="row">
                 <div class="col-lg-4">
@@ -52,6 +52,7 @@
                                                 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>
@@ -138,7 +139,7 @@
                         <js-autocomplete-multi data-input-name="departments"
                                                selected-model="vm.form.departments"
                                                search="vm.departmentName"
-                                               source="fn.getIssueDepartmentList(vm.departmentName, vm.form.departments)"
+                                               source="fn.getIssueDepartmentList(vm.form.issueTypeId, 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>
@@ -229,7 +230,7 @@
                 </div>
             </div>
 
-            <div class="col-lg-8">
+            <div class="col-lg-12">
                 <div class="row">
                     <div class="col-md-12">
                         <div class="form-group mgb5" ng-show="vm.form.issueCustomFields.length < 1">
@@ -238,7 +239,7 @@
                         </div>
                     </div>
 
-                    <div class="col-md-6" ng-repeat="issueCustomField in vm.form.issueCustomFields">
+                    <div class="col-md-4" ng-repeat="issueCustomField in vm.form.issueCustomFields">
                         <div class="form-group mgb5">
                             <label class="issue-label">{{issueCustomField.customFieldVo.name}}</label>
 
@@ -246,62 +247,99 @@
                                 <!-- 湲곕낯 �엯�젰 -->
                                 <div ng-switch-when="INPUT">
                                     <input type="text" class="form-control input-sm"
+                                           name="input"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.input.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄�젙�쓽�븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
 
                                 <div ng-switch-when="NUMBER">
                                     <input type="text" class="form-control input-sm"
+                                           name="number"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.number.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
 
                                 <div ng-switch-when="DATETIME">
                                     <input type="text" class="form-control input-sm"
+                                           name="dateTime"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.dateTime.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
 
                                 <div ng-switch-when="IP_ADDRESS">
                                     <input type="text" class="form-control input-sm"
+                                           name="ipAddress"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.ipAddress.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
 
                                 <div ng-switch-when="SITE">
                                     <input type="text" class="form-control input-sm"
+                                           name="site"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.site.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
 
                                 <div ng-switch-when="TEL">
                                     <input type="text" class="form-control input-sm"
+                                           name="tel"
                                            ng-model="issueCustomField.useValues"
                                            maxlength="100"
                                            autocomplete="off"
                                            kr-input
-                                           ng-required="issueCustomField.fieldOption == '01'">
+                                           ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'">
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.tel.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
 
                                 <!-- �떒�씪 ���젆�듃 -->
                                 <div ng-switch-when="SINGLE_SELECT">
                                     <select class="form-control input-sm issue-select-label"
-                                            ng-required="issueCustomField.fieldOption == '01'"
+                                            name="singleSelect"
+                                            ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'"
                                             ng-model="issueCustomField.useValues">
                                         <option value="" value="" translate="common.choose">�꽑�깮�븯�꽭�슂.</option>
                                         <option ng-repeat="customFieldValueVo in issueCustomField.customFieldVo.customFieldValueVos"
@@ -310,16 +348,28 @@
                                             {{customFieldValueVo.value}}
                                         </option>
                                     </select>
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.singleSelect.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
 
                                 <!-- 硫��떚 ���젆�듃 -->
                                 <div ng-switch-when="MULTI_SELECT">
                                     <ng-dropdown-multiselect class="multiSelect cursor"
+                                                             name="multiSelect"
+                                                             ng-required="issueCustomField.customFieldVo.requiredData == 'Y'"
                                                              data-input-name=""
                                                              modal-form-auto-scroll
                                                              selected-model="issueCustomField.useValues"
                                                              extra-settings="{ 'idProp' : 'value', 'externalIdProp' : 'value', 'displayProp' : 'value', 'stringTypeOption' : 'true', stopRemoveBodyEvent : true }"
                                                              options="issueCustomField.customFieldVo.customFieldValueVos"></ng-dropdown-multiselect>
+                                    <small class="help-block form-text text-danger"
+                                           ng-show="issueCustomField.customFieldVo.requiredData == 'Y'"
+                                           ng-if="issueAddRelationForm.multiSelect.$error.required"
+                                           translate="issue.pleaseEnterIssueTypeCustomFields">�빐�떦 �궗�슜�옄 �젙�쓽 �븘�뱶�뒗 �븘�닔 �엯�젰 媛� �엯�땲�떎.
+                                    </small>
                                 </div>
                             </div>
                         </div>
@@ -330,7 +380,8 @@
             <div ng-show="fn.containsPartner('�뾽泥�')" class="row">
                 <div class="col-lg-8 fontcolor_green">
                     <label class="issue-label"><span class="fontcolor_green" translate="companyField.info">�뾽泥댁젙蹂�</span>
-                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�뾽泥� �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �뾽泥� �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;
+                            &nbsp;�뾽泥� �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �뾽泥� �젙蹂닿� 議고쉶�릺硫�, �뾽泥댁젙蹂댁뿉�꽌 異붽��븳 ISP, �샇�뒪�똿 �젙蹂대�� 遺덈윭�샃�땲�떎.</span>
                     </label>
                 </div>
             </div>
@@ -405,6 +456,24 @@
                 </div>
                 <div class="col-lg-4">
                     <div class="form-group mgb5">
+                        <label for="companyFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label>
+                        <input id="companyFieldUrlAddForm"
+                               name="companyUrl"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-maxlength="200"
+                               ng-model="vm.companyUrl"
+                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
+                               maxlength="200">
+                        <div ng-show="issueAddRelationForm.companyUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
                         <label for="companyFieldDescAddForm" class="issue-label"><span translate="companyField.memo">鍮꾧퀬</span></label>
                         <input id="companyFieldDescAddForm"
                                name="companyMemo"
@@ -422,7 +491,7 @@
             <div ng-show="fn.containsPartner('ISP')" class="row">
                 <div class="col-lg-8 fontcolor_green">
                     <label class="issue-label"><span class="fontcolor_green" translate="ispField.info">ISP �젙蹂�</span>
-                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;ISP �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 ISP �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                        &nbsp;&nbsp;<!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;ISP �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 ISP �젙蹂닿� 議고쉶�맗�땲�떎.</span>-->
                     </label>
                 </div>
             </div>
@@ -431,7 +500,15 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="ispField.name">ISP �씠由�</span> </label>
-                        <js-autocomplete-single data-input-name="ispField"
+                        <input name="ispName"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-model="vm.ispName"
+                               ng-maxlength="100"
+                               maxlength="100">
+                        <!--<js-autocomplete-single data-input-name="ispField"
                                                 selected-model="vm.form.issueIspFields"
                                                 search="vm.ispName"
                                                 source="fn.getIssueIspFieldList(vm.ispName, vm.form.issueIspFields, vm.autoCompletePage.ispField.page, fn.getIssueIspFieldListCallBack)"
@@ -441,7 +518,7 @@
                                                 translation-texts="{ empty : 'common.emptyIsp' }"
                                                 broad-cast="ispFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -511,6 +588,24 @@
                 </div>
                 <div class="col-lg-4">
                     <div class="form-group mgb5">
+                        <label for="ispFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label>
+                        <input id="ispFieldUrlAddForm"
+                               name="ispUrl"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-maxlength="200"
+                               ng-model="vm.ispUrl"
+                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
+                               maxlength="200">
+                        <div ng-show="issueAddRelationForm.ispUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
                         <label for="ispFieldDescAddForm" class="issue-label"><span translate="ispField.memo">鍮꾧퀬</span></label>
                         <input id="ispFieldDescAddForm"
                                name="ispMemo"
@@ -528,7 +623,7 @@
             <div ng-show="fn.containsPartner('�샇�뒪�똿')" class="row">
                 <div class="col-lg-8 fontcolor_green">
                     <label class="issue-label"><span class="fontcolor_green" translate="hostingField.info">�샇�뒪�똿 �젙蹂�</span>
-                        &nbsp;&nbsp;<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�샇�뒪�똿 �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �샇�뒪�똿 �젙蹂닿� 議고쉶�맗�땲�떎.</span>
+                        &nbsp;&nbsp;<!--<span class="select3-selection__choice" style="position: relative; bottom: 2px;"><code class="highlighter-rouge">*</code>&nbsp;&nbsp;�샇�뒪�똿 �씠由� �겢由��떆 �꽑�깮�맂 �씠由꾩쓽 �샇�뒪�똿 �젙蹂닿� 議고쉶�맗�땲�떎.</span>-->
                     </label>
                 </div>
             </div>
@@ -537,7 +632,15 @@
                 <div class="col-lg-4">
                     <div class="form-group mb10">
                         <label class="issue-label"> <span translate="hostingField.name">�샇�뒪�똿 �씠由�</span> </label>
-                        <js-autocomplete-single data-input-name="hostingField"
+                        <input name="hostingName"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-model="vm.hostingName"
+                               ng-maxlength="100"
+                               maxlength="100">
+                        <!--<js-autocomplete-single data-input-name="hostingField"
                                                 selected-model="vm.form.issueHostingFields"
                                                 search="vm.hostingName"
                                                 source="fn.getIssueHostingFieldList(vm.hostingName, vm.form.issueHostingFields, vm.autoCompletePage.hostingField.page, fn.getIssueHostingFieldListCallBack)"
@@ -547,7 +650,7 @@
                                                 translation-texts="{ empty : 'common.emptyHosting' }"
                                                 broad-cast="hostingFieldEvent"
                                                 extra-settings="{ displayProp : 'name' , idProp : 'id', imageable : false, imagePathProp : '',
-                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>
+                                                type : '', maxlength : 200, autoResize : false, stopRemoveBodyEvent : true }"></js-autocomplete-single>-->
                     </div>
                 </div>
                 <div class="col-lg-4">
@@ -617,6 +720,24 @@
                 </div>
                 <div class="col-lg-4">
                     <div class="form-group mgb5">
+                        <label for="hostingFieldUrlAddForm" class="issue-label"><span translate="companyField.url">url</span></label>
+                        <input id="hostingFieldUrlAddForm"
+                               name="hostingUrl"
+                               type="text"
+                               class="form-control"
+                               kr-input
+                               autocomplete="off"
+                               ng-maxlength="200"
+                               ng-model="vm.hostingUrl"
+                               ng-pattern="/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/"
+                               maxlength="200">
+                        <div ng-show="issueAddRelationForm.hostingUrl.$error.pattern" class="help-block form-text text-danger"
+                             translate="common.invalidUrlFormat">url �삎�떇�씠 留욎� �븡�뒿�땲�떎.
+                        </div>
+                    </div>
+                </div>
+                <div class="col-lg-4">
+                    <div class="form-group mgb5">
                         <label for="hostingFieldDescAdd" class="issue-label"><span translate="hostingField.memo">鍮꾧퀬</span></label>
                         <input id="hostingFieldDescAdd"
                                name="hostingMemo"

--
Gitblit v1.8.0