- 24시간제로 적용 안되는 문제 해결
- 문자열필드 maxlength 제거
| | |
| | | import java.io.IOException; |
| | | import java.util.*; |
| | | |
| | | import static kr.wisestone.owl.domain.enumType.CustomFieldType.INPUT; |
| | | |
| | | @Service |
| | | public class IssueServiceImpl extends AbstractServiceImpl<Issue, Long, JpaRepository<Issue, Long>> implements IssueService { |
| | | |
| | |
| | | useValues.add(issueCustomFieldValueVo.getUseValue()); |
| | | customField.put(issueCustomFieldValueVo.getCustomFieldVo().getName(), useValues); |
| | | } else { |
| | | if (issueCustomFieldValueVo.getCustomFieldVo().getCustomFieldType().equals(CustomFieldType.INPUT.toString())) { |
| | | if (issueCustomFieldValueVo.getCustomFieldVo().getCustomFieldType().equals(INPUT.toString())) { |
| | | customField.put(issueCustomFieldValueVo.getCustomFieldVo().getName(), issueCustomFieldValueVo.getUseValue()); |
| | | } else { |
| | | customField.put(issueCustomFieldValueVo.getCustomFieldVo().getName(), Lists.newArrayList(issueCustomFieldValueVo.getUseValue())); |
| | |
| | | case EMAIL: |
| | | case SITE: |
| | | case TEL: |
| | | if (cellValue.length() > 100) { |
| | | if (customField.getCustomFieldType() != INPUT && cellValue.length() > 100) { |
| | | throw new OwlRuntimeException( |
| | | this.messageAccessor.getMessage(MsgConstants.CUSTOM_FIELD_TEXT_TYPE_MAX_LENGTH_OUT)); |
| | | } |
| | |
| | | source : '&', |
| | | page : "=", |
| | | totalPage : "=", |
| | | inputDisabled : "=", |
| | | inputDisabled : "=?", |
| | | customInput : "=", |
| | | }, |
| | | templateUrl : "custom_components/js-autocomplete-single/js-autocomplete-single.html", |
| | |
| | | var blank_pattern = /^\s+|\s+$/g; |
| | | |
| | | // 입력 필드 비활성화 |
| | | if (!angular.isDefined($scope.inputDisabled)) { |
| | | if (!$rootScope.isDefined($scope.inputDisabled)) { |
| | | $scope.inputDisabled = false; |
| | | } |
| | | |
| | |
| | | function toggleDropdown() { |
| | | // 아이템이 선택되어 있을 경우 목록 레이어는 표시될 수 없다. |
| | | $scope.open = true; |
| | | if ($scope.selectedModel != null && $scope.selectedModel.length > 0) { |
| | | if ($rootScope.isDefined($scope.selectedModel) && $scope.selectedModel.length > 0) { |
| | | $scope.open = false; |
| | | $scope.options = []; |
| | | } |
| | |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.form.projects.push(result.data.data); |
| | | $scope.vm.projectName = result.data.data.name; |
| | | $scope.fn.getIssueTypeOfProject(); |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | $scope.vm.form.projects.push(result.data.data); |
| | | $scope.vm.projectName = result.data.data.name; |
| | | $scope.fn.getIssueTypeOfProject(); |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 타입 목록 조회 실패 |
| | |
| | | function getIssueTypes() { |
| | | var deferred = $q.defer(); |
| | | |
| | | /*if (!$rootScope.isDefined($scope.vm.form.projects[0])) { |
| | | if (!$rootScope.isDefined($scope.vm.form.projects[0])) { |
| | | return; |
| | | }*/ |
| | | } |
| | | |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueTypes = result.data.data; |
| | | //$scope.fn.getIssueTypeCustomFields(); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 타입 목록 조회 실패 |
| | |
| | | } |
| | | |
| | | function getPartners() { |
| | | if($scope.vm.form.issueTypeId === ""){ |
| | | if($scope.vm.form.issueTypeId === "" && $rootScope.issueTypeMenu != null){ |
| | | $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id |
| | | } |
| | | var content = { |
| | |
| | | } |
| | | |
| | | function getDepartments() { |
| | | if($scope.vm.form.issueTypeId === ""){ |
| | | if($scope.vm.form.issueTypeId === "" && $rootScope.issueTypeMenu != null){ |
| | | $scope.vm.form.issueTypeId = $rootScope.issueTypeMenu.id |
| | | } |
| | | var content = { |
| | |
| | | }); |
| | | } else if ($attrs["rangeType"] === "singleDate") { |
| | | $($element).daterangepicker({ |
| | | timePicker24Hour : true, |
| | | timePicker: true, |
| | | timePicker24Hour : true, |
| | | timePickerSeconds : true, |
| | | autoUpdateInput: true, |
| | | autoApply : true, |
| | |
| | | |
| | | //parentEl : $scope.parentEl !== undefined ? $scope.parentEl : "", |
| | | locale: { |
| | | format: 'YYYY-MM-DD hh:mm:ss', |
| | | format: 'YYYY-MM-DD H:mm:ss', |
| | | separator: "~", |
| | | applyLabel: options.applyLabel, |
| | | cancelLabel: options.cancelLabel, |
| | |
| | | }); |
| | | } else if ($attrs["rangeType"] === "multiDate") { |
| | | $($element).daterangepicker({ |
| | | timePicker24Hour : true, |
| | | timePicker: true, |
| | | timePicker24Hour : true, |
| | | timePickerSeconds : true, |
| | | autoUpdateInput: true, |
| | | autoApply : true, |
| | |
| | | |
| | | //parentEl : $scope.parentEl !== undefined ? $scope.parentEl : "", |
| | | locale: { |
| | | format: 'YYYY-MM-DD hh:mm:ss', |
| | | format: 'YYYY-MM-DD H:mm:ss', |
| | | separator: "~", |
| | | applyLabel: options.applyLabel, |
| | | cancelLabel: options.cancelLabel, |
| | |
| | | name="defaultValue" |
| | | class="form-control" |
| | | ng-model="vm.form.defaultValue" |
| | | maxlength="100" |
| | | kr-input |
| | | ng-maxlength="100" |
| | | autocomplete="off"> |
| | | |
| | | |
| | |
| | | translate="common.invalidTelFormat">전화번호 형식이 맞지 않습니다. |
| | | </div> |
| | | |
| | | <small ng-if="vm.form.customFieldType == 'INPUT'" translate="common.upTo100Characters"> |
| | | <!--<small ng-if="vm.form.customFieldType == 'INPUT'" translate="common.upTo100Characters"> |
| | | 최대 100글자까지 입력할 수 있습니다. |
| | | </small> |
| | | </small>--> |
| | | |
| | | <div class="help-block form-text text-danger" ng-if="vm.form.customFieldType == 'SINGLE_SELECT'" |
| | | translate="customField.selectSingleFieldListHashTag"> |
| | |
| | | name="defaultValue" |
| | | class="form-control" |
| | | ng-model="vm.form.defaultValue" |
| | | maxlength="100" |
| | | kr-input |
| | | ng-maxlength="100" |
| | | autocomplete="off"> |
| | | |
| | | <input ng-if="vm.form.customFieldType == 'NUMBER'" |
| | |
| | | <!-- class="help-block form-text text-danger" translate="common.upTo100Characters">--> |
| | | <!-- 최대 100글자까지 입력할 수 있습니다.--> |
| | | <!-- </small>--> |
| | | <small ng-if="vm.form.customFieldType == 'INPUT'" translate="common.upTo100Characters"> |
| | | <!--<small ng-if="vm.form.customFieldType == 'INPUT'" translate="common.upTo100Characters"> |
| | | 최대 100글자까지 입력할 수 있습니다. |
| | | </small> |
| | | </small>--> |
| | | <div class="help-block form-text text-danger" ng-if="vm.form.customFieldType == 'SINGLE_SELECT'" |
| | | translate="customField.selectSingleFieldListHashTag"> |
| | | 단일 선택 필드 목록에 있는 값을 기본적으로 선택하고 싶을 때는 해시태그를 사용해야합니다. ex) #대상값 |
| | |
| | | <input type="text" class="form-control input-sm" |
| | | name="item_{{$index}}" |
| | | ng-model="issueCustomField.useValues" |
| | | maxlength="100" |
| | | autocomplete="off" |
| | | kr-input |
| | | ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'"> |
| | |
| | | <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' || issueCustomField.customFieldVo.requiredData == 'Y'"> |
| | |
| | | <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' || issueCustomField.customFieldVo.requiredData == 'Y'"> |
| | |
| | | <input type="text" |
| | | class="form-control input-sm" |
| | | ng-model="customField.useValues" |
| | | maxlength="100"> |
| | | > |
| | | </div> |
| | | <div ng-switch-when="NUMBER"> |
| | | <input type="text" |
| | |
| | | <div ng-switch-when="INPUT"> |
| | | <input type="text" class="form-control input-sm" |
| | | ng-model="customField.useValues" |
| | | maxlength="100"> |
| | | > |
| | | </div> |
| | | |
| | | <div ng-switch-default> |
| | |
| | | <input type="text" class="form-control input-sm" |
| | | name="item_{{$index}}" |
| | | ng-model="issueCustomField.useValues" |
| | | maxlength="100" |
| | | autocomplete="off" |
| | | kr-input |
| | | ng-required="issueCustomField.fieldOption == '01' || issueCustomField.customFieldVo.requiredData == 'Y'"> |