New file |
| | |
| | | common.urgent=Urgent |
| | | common.high=High |
| | | common.medium=Medium |
| | | common.low=Low |
| | | common.critical=Critical |
| | | common.major=Major |
| | | common.minor=Minor |
| | | common.trivial=Trivial |
| | | common.issue=Issue |
| | | common.issueList=Issue List |
| | | common.status=Status |
| | | common.issueKey=Issue Number |
| | | common.issueTitle=Issue Title |
| | | common.content=Content |
| | | common.issueType=Issue Type |
| | | common.priority=Priority |
| | | common.importance=Importance |
| | | common.assignee=Assignee |
| | | common.period=Period |
| | | common.register=Registrar |
| | | common.modifyDate=Final Change Date |
| | | common.title=Title |
| | | common.project=Project |
| | | common.projectKey=Project Key |
| | | common.startDate=Start Date |
| | | common.endDate=End Date |
| | | common.registerDate=Registration date |
| | | common.admin=Admin |
| | | common.teamMember=Team Member |
| | | common.registration=Registration |
| | | common.assigned=Assigned |
| | | common.progressPercent=progress rate |
| | | common.reversalAssigneeUpdate=Change frequent contacts |
| | | common.reversalStatusUpdate=Change the status of the reversal |
| | | common.typeErrorDownloadWidget=Download widget type error |
| | | common.inProgressProjectStatus=Project status in progress |
| | | common.registerExcelIssue=Register Excel Issue |
| | | common.assignedToMeIssue=Issues assigned to me |
| | | common.managementRisk=Risk Management |
| | | common.registeredByMeIssue=Status of issues registered by me |
| | | common.delayDate=Delay Date |
| | | common.delayingIssue=Pending issue |
| | | common.assignedIssue=Assigned Issue |
| | | common.delaying=Delaying |
| | | common.progressByMember=Progress by Member |
| | | common.myIssueStatus=Current status of my issue |
| | | common.division=Division |
| | | common.complete=Complete |
| | | common.issueManagementProject=Issue Management Project |
| | | common.projectList=Project List |
| | | common.projectAdmin=Project Manager |
| | | common.projectTeamMember=Project Team Member |
| | | common.wait=Wait |
| | | common.progress=Progress |
| | | common.end=End |
| | | common.intoTheSystemIssueManagementProject=An issue management project that is built into the system. |
| | | common.create=Create |
| | | common.reProgress=re-progress |
| | | common.check=Check |
| | | common.approval=Approval |
| | | common.noApproval=No approval |
| | | common.issueStatusList=Issue Status List |
| | | common.issueStatus=Issue status |
| | | common.statusProperties=Status Properties |
| | | common.color=Color |
| | | common.workflow=Workflow |
| | | common.workflowList=Workflow List |
| | | common.btsWorkflow=BTS Workflow |
| | | common.rmsWorkflow=RMS Workflow |
| | | common.tcmWorkflow=TCM Workflow |
| | | common.usedToManageThisWorkflow=This workflow is used to manage bugs. |
| | | common.userToManageRequirementsThisWorkflow=This workflow is used to manage requirements. |
| | | common.userToManageTestCasesThisWorkflow=This workflow is used to manage test cases. |
| | | common.stringField=String field |
| | | common.singleSelectionField=Single Selection Field |
| | | common.multipleSelectionField=Multiple Selection Fields |
| | | common.customField=Custom field |
| | | common.customFieldList=Custom field List |
| | | common.fieldType=Field Type |
| | | common.bug=Bug |
| | | common.improvement=Improvement |
| | | common.requirement=Requirements |
| | | common.testcase=test case |
| | | common.issueTypeList=Issue Type List |
| | | common.excelDownloadNotPossibleExcludedFromTheWorkspace=Excel download is not possible because participation is excluded from the workspace. |
| | | common.sWorkspace='s Workspace |
| | | common.few= a few |
| | | common.createIssue=Creating an Issue |
| | | common.updateIssue=Change the issue |
| | | common.deleteIssue=Delete Issue |
| | | common.updateTitle=Title has changed. |
| | | common.updateContent=The contents have been changed. |
| | | common.updateProject=The project has been changed. |
| | | common.updateSeverity=severity has changed. |
| | | common.updatePriority=The priority has been changed |
| | | common.updateStatus=The status has changed. |
| | | common.updateWorkflowNotExist=The status of the issue has changed because the changed workflow does not exist. |
| | | common.updateIssueType=Issue type has been changed. |
| | | common.updatePeriod=The period has changed. |
| | | common.remainIssue=The remain issue |
New file |
| | |
| | | common.urgent=\u7DCA\u6025 |
| | | common.high=\u9AD8 |
| | | common.medium=\u666E\u901A |
| | | common.low=\u4F4E\u3055 |
| | | common.critical=\u6DF1\u523B |
| | | common.major=\u9AD8 |
| | | common.minor=\u666E\u901A |
| | | common.trivial=\u4F4E\u3055 |
| | | common.issue=\u30A4\u30B7\u30E5\u30FC |
| | | common.issueList=\u30A4\u30B7\u30E5\u30FC\u00B7\u30EA\u30B9\u30C8 |
| | | common.status=\u72B6\u614B |
| | | common.issueKey=\u30A4\u30B7\u30E5\u30FC\u756A\u53F7 |
| | | common.issueTitle=\u30A4\u30B7\u30E5\u30FC\u984C\u76EE |
| | | common.content=\u5185\u5BB9 |
| | | common.issueType=\u30A4\u30B7\u30E5\u30FC\u00B7\u30BF\u30A4\u30D7 |
| | | common.priority=\u512A\u5148\u9806\u4F4D |
| | | common.importance=\u91CD\u8981\u5EA6 |
| | | common.assignee=\u62C5\u5F53\u8005 |
| | | common.period=\u671F\u9593 |
| | | common.register=\u767B\u9332\u8005 |
| | | common.modifyDate=\u6700\u7D42\u5909\u66F4\u65E5 |
| | | common.title=\u984C\u76EE |
| | | common.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 |
| | | common.projectKey=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u00B7\u30AD\u30FC |
| | | common.startDate=\u958B\u59CB\u65E5 |
| | | common.endDate=\u7D42\u4E86\u65E5 |
| | | common.registerDate=\u767B\u9332\u65E5 |
| | | common.admin=\u7BA1\u7406\u8005 |
| | | common.teamMember=\u30C1\u30FC\u30E0\u30E1\u30F3\u30D0\u30FC |
| | | common.registration=\u767B\u9332 |
| | | common.assigned=\u62C5\u5F53 |
| | | common.progressPercent=\u9032\u884C\u7387 |
| | | common.reversalAssigneeUpdate=\u983B\u7E41\u306A\u62C5\u5F53\u8005\u306E\u5909\u66F4 |
| | | common.reversalStatusUpdate=\u8986\u9762\u5909\u66F4 |
| | | common.typeErrorDownloadWidget=\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u30BF\u30A4\u30D7\u30A8\u30E9\u30FC |
| | | common.inProgressProjectStatus=\u9032\u884C\u4E2D\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u73FE\u72B6 |
| | | common.registerExcelIssue=\u30A8\u30AF\u30BB\u30ED\u554F\u984C\u767B\u9332 |
| | | common.assignedToMeIssue=\u79C1\u306B\u5272\u308A\u5F53\u3066\u3089\u308C\u305F\u30A4\u30B7\u30E5\u30FC |
| | | common.managementRisk=\u5371\u967A\u7BA1\u7406 |
| | | common.registeredByMeIssue=\u79C1\u304C\u767B\u9332\u3057\u305F\u554F\u984C\u73FE\u6CC1 |
| | | common.delayDate=\u9045\u5EF6\u65E5 |
| | | common.delayingIssue=\u9045\u5EF6\u4E2D\u306E\u30A4\u30B7\u30E5\u30FC |
| | | common.assignedIssue=\u62C5\u5F53\u30A4\u30B7\u30E5\u30FC |
| | | common.delaying=\u9045\u5EF6\u4E2D |
| | | common.progressByMember=\u30E1\u30F3\u30D0\u30FC\u5225\u9032\u884C\u7387 |
| | | common.myIssueStatus=\u79C1\u306E\u30A4\u30B7\u30E5\u30FC\u73FE\u6CC1 |
| | | common.division=\u4ED5\u5206\u3051 |
| | | common.complete=\u5B8C\u4E86 |
| | | common.issueManagementProject=\u30A4\u30B7\u30E5\u30FC\u7BA1\u7406\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 |
| | | common.projectList=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30EA\u30B9\u30C8 |
| | | common.projectAdmin=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3 |
| | | common.projectTeamMember=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30C1\u30FC\u30E0\u54E1 |
| | | common.wait=\u5F85\u3061 |
| | | common.progress=\u9032\u884C |
| | | common.end=\u7D42\u4E86 |
| | | common.intoTheSystemIssueManagementProject=\u30B7\u30B9\u30C6\u30E0\u3067\u57FA\u672C\u306B\u63D0\u4F9B\u3055\u308C\u308B\u30A4\u30B7\u30E5\u30FC\u7BA1\u7406\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u3067\u3059\u3002 |
| | | common.create=\u751F\u6210 |
| | | common.reProgress=\u518D\u9032\u884C |
| | | common.check=\u78BA\u8A8D |
| | | common.approval=\u627F\u8A8D |
| | | common.noApproval=\u627F\u8A8D\u4E0D\u53EF |
| | | common.issueStatusList=\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u30EA\u30B9\u30C8 |
| | | common.issueStatus=\u4E89\u70B9\u72B6\u614B |
| | | common.statusProperties=\u72B6\u614B\u5C5E\u6027 |
| | | common.color=\u8272\u76F8 |
| | | common.workflow=\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC |
| | | common.workflowList=\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u30EA\u30B9\u30C8 |
| | | common.btsWorkflow=BTS \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC |
| | | common.rmsWorkflow=RMS \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC |
| | | common.tcmWorkflow=TCM \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC |
| | | common.usedToManageThisWorkflow=\u30D0\u30B0\u3092\u7BA1\u7406\u3059\u308B\u306E\u306B\u4F7F\u7528\u3059\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3067\u3059\u3002 |
| | | common.userToManageRequirementsThisWorkflow=\u8981\u6C42\u4E8B\u9805\u3092\u7BA1\u7406\u3059\u308B\u306E\u306B\u4F7F\u7528\u3059\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3067\u3059\u3002 |
| | | common.userToManageTestCasesThisWorkflow=\u30C6\u30B9\u30C8\u30B1\u30FC\u30B9\u3092\u7BA1\u7406\u3059\u308B\u306E\u306B\u4F7F\u7528\u3059\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3067\u3059\u3002 |
| | | common.stringField=\u6587\u5B57\u5217\u30D5\u30A3\u30FC\u30EB\u30C9 |
| | | common.singleSelectionField=\u5358\u4E00\u9078\u629E\u30D5\u30A3\u30FC\u30EB\u30C9 |
| | | common.multipleSelectionField=\u591A\u91CD\u9078\u629E\u30D5\u30A3\u30FC\u30EB\u30C9 |
| | | common.customField=\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9 |
| | | common.customFieldList=\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u30EA\u30B9\u30C8 |
| | | common.fieldType=\u30D5\u30A3\u30FC\u30EB\u30C9\u30BF\u30A4\u30D7 |
| | | common.bug=\u30D0\u30C3\u30B0 |
| | | common.improvement=\u6539\u5584 |
| | | common.requirement=\u8981\u6C42\u4E8B\u9805 |
| | | common.testcase=\u30C6\u30B9\u30C8\u30B1\u30FC\u30B9 |
| | | common.issueTypeList=\u30A4\u30B7\u30E5\u30FC\u00B7\u30BF\u30A4\u30D7\u00B7\u30EA\u30B9\u30C8 |
| | | common.excelDownloadNotPossibleExcludedFromTheWorkspace=\u696D\u52D9\u7A7A\u9593\u3067\u53C2\u52A0\u304C\u9664\u5916\u3055\u308C,\u30A8\u30AF\u30BB\u30EB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u304C\u4E0D\u53EF\u80FD\u3067\u3059\u3002 |
| | | common.sWorkspace=\u306E\u696D\u52D9\u7A7A\u9593 |
| | | common.few= \u4EF6 |
| | | common.createIssue=\u30A4\u30B7\u30E5\u30FC\u751F\u6210 |
| | | common.updateIssue=\u4E89\u70B9\u5909\u66F4 |
| | | common.deleteIssue=\u30A4\u30B7\u30E5\u30FC\u524A\u9664 |
| | | common.updateTitle=\u30BF\u30A4\u30C8\u30EB\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updateContent=\u5185\u5BB9\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updateProject=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updateSeverity=\u91CD\u8981\u5EA6\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updatePriority=\u512A\u5148\u9806\u4F4D\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updateStatus=\u72B6\u614B\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updateWorkflowNotExist=\u5909\u66F4\u3055\u308C\u305F\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u72B6\u614B\u304C\u5B58\u5728\u305B\u305A,\u30A4\u30B7\u30E5\u30FC\u306E\u72B6\u614B\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updateIssueType=\u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.updatePeriod=\u671F\u9593\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | common.remainIssue=\u6B8B\u4F59\u30A4\u30B7\u30E5\u30FC |
New file |
| | |
| | | common.urgent=\uAE34\uAE09 |
| | | common.high=\uB192\uC74C |
| | | common.medium=\uBCF4\uD1B5 |
| | | common.low=\uB0AE\uC74C |
| | | common.critical=\uC2EC\uAC01 |
| | | common.major=\uB192\uC74C |
| | | common.minor=\uBCF4\uD1B5 |
| | | common.trivial=\uB0AE\uC74C |
| | | common.issue=\uC77C\uAC10 |
| | | common.issueList=\uC77C\uAC10 \uBAA9\uB85D |
| | | common.status=\uC0C1\uD0DC |
| | | common.issueKey=\uC77C\uAC10 \uBC88\uD638 |
| | | common.issueTitle=\uC77C\uAC10 \uC81C\uBAA9 |
| | | common.content=\uB0B4\uC6A9 |
| | | common.issueType=\uC77C\uAC10 \uC720\uD615 |
| | | common.priority=\uC6B0\uC120\uC21C\uC704 |
| | | common.importance=\uC911\uC694\uB3C4 |
| | | common.assignee=\uB2F4\uB2F9\uC790 |
| | | common.period=\uAE30\uAC04 |
| | | common.register=\uB4F1\uB85D\uC790 |
| | | common.modifyDate=\uCD5C\uC885 \uBCC0\uACBD\uC77C |
| | | common.title=\uC81C\uBAA9 |
| | | common.project=\uD504\uB85C\uC81D\uD2B8 |
| | | common.projectKey=\uD504\uB85C\uC81D\uD2B8 \uD0A4 |
| | | common.startDate=\uC2DC\uC791\uC77C |
| | | common.endDate=\uC885\uB8CC\uC77C |
| | | common.registerDate=\uB4F1\uB85D\uC77C |
| | | common.admin=\uAD00\uB9AC\uC790 |
| | | common.teamMember=\uD300\uC6D0 |
| | | common.registration=\uB4F1\uB85D |
| | | common.assigned=\uB2F4\uB2F9 |
| | | common.progressPercent=\uC9C4\uD589\uB960 |
| | | common.reversalAssigneeUpdate=\uBE48\uBC88\uD55C \uB2F4\uB2F9\uC790 \uBCC0\uACBD |
| | | common.reversalStatusUpdate=\uBC88\uBCF5\uB418\uB294 \uC0C1\uD0DC \uBCC0\uACBD |
| | | common.typeErrorDownloadWidget=\uB2E4\uC6B4\uB85C\uB4DC \uC704\uC82F \uC720\uD615 \uC624\uB958 |
| | | common.inProgressProjectStatus=\uC9C4\uD589 \uC911\uC778 \uD504\uB85C\uC81D\uD2B8 \uD604\uD669 |
| | | common.registerExcelIssue=\uC5D1\uC140\uB85C \uC77C\uAC10 \uB4F1\uB85D\uD558\uAE30 |
| | | common.assignedToMeIssue=\uB098\uC5D0\uAC8C \uD560\uB2F9\uB41C \uC77C\uAC10 |
| | | common.managementRisk=\uC704\uD5D8 \uAD00\uB9AC |
| | | common.registeredByMeIssue=\uB0B4\uAC00 \uB4F1\uB85D\uD55C \uC77C\uAC10 \uD604\uD669 |
| | | common.delayDate=\uC9C0\uC5F0\uC77C |
| | | common.delayingIssue=\uC9C0\uC5F0 \uC911\uC778 \uC77C\uAC10 |
| | | common.assignedIssue=\uB2F4\uB2F9 \uC77C\uAC10 |
| | | common.delaying=\uC9C0\uC5F0\uC911 |
| | | common.progressByMember=\uBA64\uBC84\uBCC4 \uC9C4\uD589\uB960 |
| | | common.myIssueStatus=\uB098\uC758 \uC77C\uAC10 \uD604\uD669 |
| | | common.division=\uAD6C\uBD84 |
| | | common.complete=\uC644\uB8CC |
| | | common.issueManagementProject=\uC774\uC288 \uAD00\uB9AC \uD504\uB85C\uC81D\uD2B8 |
| | | common.projectList=\uD504\uB85C\uC81D\uD2B8 \uBAA9\uB85D |
| | | common.projectAdmin=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790 |
| | | common.projectTeamMember=\uD504\uB85C\uC81D\uD2B8 \uD300\uC6D0 |
| | | common.wait=\uB300\uAE30 |
| | | common.progress=\uC9C4\uD589 |
| | | common.end=\uC885\uB8CC |
| | | common.intoTheSystemIssueManagementProject=\uC2DC\uC2A4\uD15C\uC5D0\uC11C \uAE30\uBCF8\uC73C\uB85C \uC81C\uACF5\uB418\uB294 \uC774\uC288 \uAD00\uB9AC \uD504\uB85C\uC81D\uD2B8\uC785\uB2C8\uB2E4. |
| | | common.create=\uC0DD\uC131 |
| | | common.reProgress=\uC7AC\uC9C4\uD589 |
| | | common.check=\uD655\uC778 |
| | | common.approval=\uC2B9\uC778 |
| | | common.noApproval=\uC2B9\uC778 \uBD88\uAC00 |
| | | common.issueStatusList=\uC77C\uAC10 \uC0C1\uD0DC \uBAA9\uB85D |
| | | common.issueStatus=\uC77C\uAC10 \uC0C1\uD0DC |
| | | common.statusProperties=\uC0C1\uD0DC \uC18D\uC131 |
| | | common.color=\uC0C9\uC0C1 |
| | | common.workflow=\uC6CC\uD06C\uD50C\uB85C\uC6B0 |
| | | common.workflowList=\uC6CC\uD06C\uD50C\uB85C\uC6B0 \uBAA9\uB85D |
| | | common.btsWorkflow=\uACB0\uD568 \uAD00\uB9AC \uC6CC\uD06C\uD50C\uB85C\uC6B0 |
| | | common.rmsWorkflow=\uC694\uAD6C \uC0AC\uD56D \uAD00\uB9AC \uC6CC\uD06C\uD50C\uB85C\uC6B0 |
| | | common.tcmWorkflow=\uD14C\uC2A4\uD2B8\uCF00\uC774\uC2A4 \uAD00\uB9AC \uC6CC\uD06C\uD50C\uB85C\uC6B0 |
| | | common.usedToManageThisWorkflow=\uACB0\uD568\uC744 \uAD00\uB9AC\uD558\uB294\uB370 \uC0AC\uC6A9\uD558\uB294 \uC6CC\uD06C\uD50C\uB85C\uC6B0 \uC785\uB2C8\uB2E4. |
| | | common.userToManageRequirementsThisWorkflow=\uC694\uAD6C \uC0AC\uD56D\uC744 \uAD00\uB9AC\uD558\uB294\uB370 \uC0AC\uC6A9\uD558\uB294 \uC6CC\uD06C\uD50C\uB85C\uC6B0 \uC785\uB2C8\uB2E4. |
| | | common.userToManageTestCasesThisWorkflow=\uD14C\uC2A4\uD2B8 \uCF00\uC774\uC2A4\uB97C \uAD00\uB9AC\uD558\uB294\uB370 \uC0AC\uC6A9\uD558\uB294 \uC6CC\uD06C\uD50C\uB85C\uC6B0 \uC785\uB2C8\uB2E4. |
| | | common.stringField=\uBB38\uC790\uC5F4 \uD544\uB4DC |
| | | common.singleSelectionField=\uB2E8\uC77C \uC120\uD0DD \uD544\uB4DC |
| | | common.multipleSelectionField=\uB2E4\uC911 \uC120\uD0DD \uD544\uB4DC |
| | | common.customField=\uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC |
| | | common.customFieldList=\uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uBAA9\uB85D |
| | | common.fieldType=\uD544\uB4DC \uC720\uD615 |
| | | common.bug=\uBC84\uADF8 |
| | | common.improvement=\uAC1C\uC120 |
| | | common.requirement=\uC694\uAD6C \uC0AC\uD56D |
| | | common.testcase=\uD14C\uC2A4\uD2B8 \uCF00\uC774\uC2A4 |
| | | common.issueTypeList=\uC77C\uAC10 \uD0C0\uC785 \uBAA9\uB85D |
| | | common.excelDownloadNotPossibleExcludedFromTheWorkspace=\uC5C5\uBB34 \uACF5\uAC04\uC5D0\uC11C \uCC38\uC5EC\uAC00 \uC81C\uC678\uB418\uC5B4 \uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC\uAC00 \uBD88\uAC00\uB2A5\uD569\uB2C8\uB2E4. |
| | | common.sWorkspace=\uC758 \uC5C5\uBB34\uACF5\uAC04 |
| | | common.few= \uAC74 |
| | | common.createIssue=\uC77C\uAC10 \uC0DD\uC131 |
| | | common.updateIssue=\uC77C\uAC10 \uBCC0\uACBD |
| | | common.deleteIssue=\uC77C\uAC10 \uC0AD\uC81C |
| | | common.updateTitle=\uC81C\uBAA9\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updateContent=\uB0B4\uC6A9\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updateProject=\uD504\uB85C\uC81D\uD2B8\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updateSeverity=\uC911\uC694\uB3C4\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updatePriority=\uC6B0\uC120\uC21C\uC704\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updateStatus=\uC0C1\uD0DC\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updateWorkflowNotExist=\uBCC0\uACBD\uB41C \uC6CC\uD06C\uD50C\uB85C\uC6B0\uC5D0\uC11C \uC0C1\uD0DC\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC544 \uC77C\uAC10\uC758 \uC0C1\uD0DC\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updateIssueType=\uC77C\uAC10 \uD0C0\uC785\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.updatePeriod=\uAE30\uAC04\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | common.remainIssue=\uC794\uC5EC \uC77C\uAC10 |
| | | common.severityIssue=\uC911\uC694\uB3C4 \uBCC4 \uC77C\uAC10 \uD604\uD669 |
New file |
| | |
| | | common.urgent=t\u00ECnh tr\u1EA1ng c\u1EA5p b\u00E1ch |
| | | common.high=\u00E2m cao |
| | | common.medium=th\u00F4ng th\u01B0\u1EDDng |
| | | common.low=\u00E2m th\u1EA5p |
| | | common.critical=t\u00EDnh tr\u1EA7m tr\u1ECDng |
| | | common.major=\u00E2m cao |
| | | common.minor=th\u00F4ng th\u01B0\u1EDDng |
| | | common.trivial=\u00E2m th\u1EA5p |
| | | common.issue=v\u1EA5n \u0111\u1EC1 |
| | | common.issueList=danh m\u1EE5c v\u1EA5n \u0111\u1EC1 |
| | | common.status=\u0111i\u1EC1u ki\u1EC7n |
| | | common.issueKey=con s\u1ED1 v\u1EA5n \u0111\u1EC1 |
| | | common.issueTitle=T\u1EF1a \u0111\u1EC1 v\u1EA5n \u0111\u1EC1 |
| | | common.content=n\u1ED9i dung |
| | | common.issueType=ki\u1EC3u v\u1EA5n \u0111\u1EC1 |
| | | common.priority=th\u1EE9 t\u1EF1 \u01B0u ti\u00EAn |
| | | common.importance=t\u1EA7m quan tr\u1ECDng |
| | | common.assignee=ng\u01B0\u1EDDi ch\u1ECBu tr\u00E1ch nhi\u1EC7m |
| | | common.period=th\u1EDDi gian |
| | | common.register=ng\u01B0\u1EDDi \u0111\u0103ng k\u00FD |
| | | common.modifyDate=ng\u00E0y thay \u0111\u1ED5i cu\u1ED1i c\u00F9ng |
| | | common.title=T\u1EF1a \u0111\u1EC1 |
| | | common.project=d\u1EF1 \u00E1n |
| | | common.projectKey=Ch\u00ECa kh\u00F3a d\u1EF1 \u00E1n |
| | | common.startDate=ng\u00E0y b\u1EAFt \u0111\u1EA7u |
| | | common.endDate=ng\u00E0y k\u1EBFt th\u00FAc |
| | | common.registerDate=ng\u00E0y \u0111\u0103ng k\u00FD |
| | | common.admin=ng\u01B0\u1EDDi qu\u1EA3n l\u00FD |
| | | common.teamMember=th\u00E0nh vi\u00EAn trong nh\u00F3m |
| | | common.registration=\u0110\u0103ng k\u00FD |
| | | common.assigned=ph\u1EE5 tr\u00E1ch |
| | | common.progressPercent=t\u1EF7 l\u1EC7 th\u1EF1c hi\u1EC7n |
| | | common.reversalAssigneeUpdate=hay thay \u0111\u1ED5i ng\u01B0\u1EDDi ph\u1EE5 tr\u00E1ch |
| | | common.reversalStatusUpdate=thay \u0111\u1ED5i tr\u1EA1ng th\u00E1i |
| | | common.typeErrorDownloadWidget=l\u1ED7i v\u1EC1 m\u00E1y download |
| | | common.inProgressProjectStatus=T\u00ECnh h\u00ECnh d\u1EF1 \u00E1n \u0111ang \u0111\u01B0\u1EE3c ti\u1EBFn h\u00E0nh |
| | | common.registerExcelIssue=Ch\u1EE5p h\u00ECnh t\u1EF1 s\u01B0\u1EDBng |
| | | common.assignedToMeIssue=M\u1ED9t v\u1EA5n \u0111\u1EC1 sanh l\u1EE3i v\u1EDBi t\u00F4i |
| | | common.managementRisk=Qu\u1EA3n l\u00FD r\u1EE7i ro |
| | | common.registeredByMeIssue=T\u00ECnh h\u00ECnh l\u00E0 v\u1EA5n \u0111\u1EC1 m\u00E0 t\u00F4i \u0111\u00E3 \u0111\u0103ng k\u00FD |
| | | common.delayDate=ng\u00E0y h\u1ED9i |
| | | common.delayingIssue=v\u1EA5n \u0111\u1EC1 \u0111ang ch\u1EDD \u0111\u1EE3i |
| | | common.assignedIssue=V\u1EA5n \u0111\u1EC1 ph\u1EE5 tr\u00E1ch |
| | | common.delaying=\u0111ang tr\u00EC ho\u00E3n |
| | | common.progressByMember=t\u1ED1c \u0111\u1ED9 theo t\u1EEBng th\u00E0nh vi\u00EAn |
| | | common.myIssueStatus=Hi\u1EC7n tr\u1EA1ng V\u1EA5n \u0111\u1EC1 c\u1EE7a t\u00F4i |
| | | common.division=s\u1EF1 ph\u00E2n chia |
| | | common.complete=Ho\u00E0n th\u00E0nh |
| | | common.issueManagementProject=D\u1EF1 \u00E1n qu\u1EA3n l\u00FD v\u1EA5n \u0111\u1EC1 |
| | | common.projectList=Danh s\u00E1ch d\u1EF1 \u00E1n |
| | | common.projectAdmin=Ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n |
| | | common.projectTeamMember=Th\u00E0nh vi\u00EAn d\u1EF1 \u00E1n |
| | | common.wait=b\u00E1t t\u00F4 |
| | | common.progress=Ti\u1EBFn h\u00E0nh |
| | | common.end=K\u1EBFt th\u00FAc |
| | | common.intoTheSystemIssueManagementProject=L\u00E0 m\u1ED9t d\u1EF1 \u00E1n qu\u1EA3n l\u00FD c\u00E1c v\u1EA5n \u0111\u1EC1 c\u01A1 b\u1EA3n \u0111\u01B0\u1EE3c cung c\u1EA5p trong h\u1EC7 th\u1ED1ng. |
| | | common.create=T\u1EA1o |
| | | common.reProgress=s\u1EF1 thi h\u00E0nh l\u1EA1i |
| | | common.check=s\u1EF1 x\u00E1c nh\u1EADn |
| | | common.approval=s\u1EF1 th\u1EEBa nh\u1EADn |
| | | common.noApproval=Kh\u00F4ng th\u1EC3 ch\u1EA5p thu\u1EADn \u0111\u01B0\u1EE3c |
| | | common.issueStatusList=danh m\u1EE5c tr\u1EA1ng th\u00E1i v\u1EA5n \u0111\u1EC1 |
| | | common.issueStatus=t\u00ECnh tr\u1EA1ng c\u1EE7a v\u1EA5n \u0111\u1EC1 |
| | | common.statusProperties=\u0111\u00E0o t\u1EA1o tr\u1EA1ng th\u00E1i |
| | | common.color=m\u00E0u s\u1EAFc |
| | | common.workflow=Quy tr\u00ECnh l\u00E0m vi\u1EC7c |
| | | common.workflowList=danh m\u1EE5c workbook |
| | | common.btsWorkflow=Quy tr\u00ECnh l\u00E0m vi\u1EC7c BTS |
| | | common.rmsWorkflow=Quy tr\u00ECnh l\u00E0m vi\u1EC7c RMS |
| | | common.tcmWorkflow=Quy tr\u00ECnh l\u00E0m vi\u1EC7c TCM |
| | | common.usedToManageThisWorkflow=L\u00E0 workbook s\u1EED d\u1EE5ng \u0111\u1EC3 qu\u1EA3n l\u00FD c\u00F4ng vi\u1EC7c. |
| | | common.userToManageRequirementsThisWorkflow=L\u00E0 workbook s\u1EED d\u1EE5ng \u0111\u1EC3 qu\u1EA3n l\u00FD n\u1ED9i dung y\u00EAu c\u1EA7u. |
| | | common.userToManageTestCasesThisWorkflow=L\u00E0 workbook s\u1EED d\u1EE5ng \u0111\u1EC3 qu\u1EA3n l\u00FD case ki\u1EC3m tra. |
| | | common.stringField=n\u00FAt b\u1EA7n |
| | | common.singleSelectionField=Ch\u1EEF vi\u1EBFt t\u1EAFt c\u1EE7a m\u1ED9t ng\u01B0\u1EDDi |
| | | common.multipleSelectionField=c\u1EA7n nhi\u1EC1u l\u1EF1a ch\u1ECDn |
| | | common.customField=Tr\u01B0\u1EDDng \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng |
| | | common.customFieldList=Danh s\u00E1ch ng\u01B0\u1EDDi d\u00F9ng |
| | | common.fieldType=Lo\u1EA1i tr\u01B0\u1EDDng |
| | | common.bug=l\u1EDBp v\u00E1ng |
| | | common.improvement=s\u1EF1 c\u1EA3i thi\u1EC7n |
| | | common.requirement=h\u1EA1ng m\u1EE5c y\u00EAu c\u1EA7u |
| | | common.testcase=tr\u01B0\u1EDDng h\u1EE3p ki\u1EC3m tra |
| | | common.issueTypeList=h\u1EA1ng m\u1EE5c t\u00ECm ki\u1EBFm |
| | | common.excelDownloadNotPossibleExcludedFromTheWorkspace=Kh\u00F4ng th\u1EC3 quay selfie m\u00E0 kh\u00F4ng c\u00F3 ng\u01B0\u1EDDi tham gia v\u00E0o kh\u00F4ng gian l\u00E0m vi\u1EC7c. |
| | | common.sWorkspace=Kh\u00F4ng gian l\u00E0m vi\u1EC7c c\u1EE7a |
| | | common.few= S\u1ED1 |
| | | common.createIssue=t\u1EA1o n\u00EAn m\u1ED9t v\u1EA5n \u0111\u1EC1 |
| | | common.updateIssue=thay \u0111\u1ED5i v\u1EA5n \u0111\u1EC1 |
| | | common.deleteIssue=x\u00F3a b\u1ECF v\u1EA5n \u0111\u1EC1 |
| | | common.updateTitle=T\u1EF1a \u0111\u1EC1 \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updateContent=N\u1ED9i dung \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updateProject=D\u1EF1 \u00E1n \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updateSeverity=T\u1EA7m quan tr\u1ECDng \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updatePriority=Th\u1EE9 t\u1EF1 \u01B0u ti\u00EAn \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updateStatus=Tr\u1EA1ng th\u00E1i \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updateWorkflowNotExist=T\u00ECnh tr\u1EA1ng kh\u00F4ng t\u1ED3n t\u1EA1i trong workbook \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i, v\u1EA5n \u0111\u1EC1 \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updateIssueType=V\u1EA5n \u0111\u1EC1 \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.updatePeriod=Th\u1EDDi gian \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | common.remainIssue=ch\u1EE7 ngh\u0129a cao c\u1EA5p |
New file |
| | |
| | | |
| | | workspace.join.title=Welcome to [OWL ITS] membership. |
| | | workspace.join.01=Thank you for joining OWL ITS. You can use a variety of features provided by OWL ITS. |
| | | workspace.expired=OWL ITS workspace has expired. |
| | | workspace.expiredAlarm=OWL ITS Workspace Usage is 3 days left. |
| | | workspace.subscription=Your subscription has expired. |
| | | workspace.expiration.date=Expiration date |
| | | workspace.regular.payment.request=If you do not have a regular payment request, please apply for a regular payment. |
| | | workspace.invitation.card=invitation card |
| | | workspace.hello=Hello. |
| | | workspace.asked.you=asked you |
| | | workspace.invited.to=You are invited to |
| | | workspace.click.button=Click the button below to sign up to join the invited workspace. OWL ITS is an issue-based project management tool that can manage and collaborate on all issues. |
| | | workspace.invited.join=You can join the invited workspace by clicking the button below. |
| | | workspace.capacity.remove=Free up capacity by removing unnecessary files or adding users. |
| | | workspace.storage.capacity.user=5GB of storage capacity per user |
| | | workspace.storage.space=OWL ITS workspace is out of storage space. |
| | | workspace.storage.space.cannot.upload=There is a lack of storage space. If there is not enough storage space, you cannot upload the file. |
| | | workspace.workspace=[work space] |
| | | workspace.total.storage=Total Storage Capacity |
| | | workspace.current.usage=Current Usage |
| | | workspace.capacity.remain=Capacity Remaining |
| | | workspace.add.capacity.method=Add Capacity Method |
| | | workspace.maximum.number.user=Maximum number of users exceeded in OWL ITS workspace. |
| | | workspace.maximum.number.user.invite.inactive=Invitees are inactive because the maximum number of active users has been exceeded. |
| | | workspace.maximum.number.active=Maximum number of active |
| | | workspace.number.inactive=Number of inactive users |
| | | workspace.user.add.payment=User add payment is required to change an inactive user to an active user. |
| | | workspace.shortcut=OWL ITS Shortcut |
| | | workspace.check.user.id=Please check your ID. |
| | | workspace.user.id=ID |
| | | workspace.subscription.date=subscription date |
| | | |
| | | |
| | | |
| | | user.search.password.title=A [OWL ITS] temporary password has been issued. |
| | | |
| | | user.withDraw.title=[OWL ITS] withdrawal has been completed. |
| | | |
| | | regular.payment.title=[OWL ITS] Periodic Payment has been completed. |
| | | |
| | | regular.payment.cancel.title=[OWL ITS] Periodic Payment Termination has been completed. |
| | | |
| | | regular.payment.cancel.accounting.manager.title=[OWL ITS] The following users have completed their regular payment cancellation: I'd like to ask you for a refund. |
| | | |
| | | regular.payment.modify.title=[OWL ITS] You will be notified of changes to regular payments. |
| | | |
| | | regular.payment.termination.guide=Regular Payment Termination Notice |
| | | regular.payment.termination.complete=Your application for a regular payment cancellation has been completed. |
| | | regular.payment.user=Number of users |
| | | regular.payment.workspace=service storage space |
| | | regular.payment.service.end=Service End Date |
| | | regular.payment.service.remain.day=remaining service period |
| | | regular.payment.service.shortcut.workspace=Shortcut to workspace |
| | | regular.payment.service.service.end.date=Two weeks after the end of the service <span style="color: #D625;font-weight:old;">All data in the workspace will be deleted</span>. Before the end date, please back up the data you need. |
| | | regular.payment.service.day=service period |
| | | regular.payment.date=Payment date |
| | | regular.payment.information=Regular payment details information |
| | | regular.payment.service.information=service information |
| | | regular.payment.next.date=Next Regular Payment Date |
| | | regular.payment.amount=Payment amount |
| | | regular.payment.using.service=Thank you for using OWL ITS service. |
| | | regular.payment.complete=Your application for OWL ITS regular payment has been completed. |
| | | regular.payment.person=person |
| | | regular.payment.won=won |
| | | regular.payment.day=st |
| | | regular.payment.change.notice=Regular Payment Change Notice |
| | | regular.payment.change.payment=Regular payment to announce changes and payment application for change has been completed. |
| | | regular.payment.service.charge=service charge |
| | | regular.payment.mean.payment=means of payment |
| | | regular.payment.credit.card=Credit card |
| | | regular.payment.application.time=Application time |
| | | regular.payment.apply.payment=Apply from regular payment |
| | | regular.payment.automatically=The service will be automatically paid and billed on the due date of the regular payment. If there are any changes to the service you are using, please make sure to change it before the regular payment date. |
| | | |
| | | workspace.inviteNewUser.title=You are invited to [OWL ITS]. |
| | | |
| | | workspace.maxUserExcess.title=Maximum number of users exceeded in [OWL ITS] workspace. |
| | | |
| | | workspace.inviteSystemUser.title=[OWL ITS] You are invited to another user's workspace. |
| | | |
| | | workspace.expire.title=[OWL ITS] Workspace Expires. |
| | | |
| | | workspace.expire.alarm.title=[OWL ITS] Workspace Usage is 3 days away. |
| | | |
| | | project.default.exclude.title=You have been excluded from the [OWL ITS] project. |
| | | |
| | | project.default.include.title=I was part of the [OWL ITS] project. |
| | | |
| | | project.manager.exclude.title=You have been excluded from the [OWL ITS] project manager. |
| | | |
| | | project.manager.include.title=[OWL ITS] became a project manager. |
| | | |
| | | project.manager.exclude.default.include.title=Participation role changed from [OWL ITS] Project Manager to end user. |
| | | |
| | | project.default.exclude.manager.include.title=[OWL ITS] Participation role changed from end user to project manager. |
| | | project.default.project.manager.change=The Join as Project Manager role has been changed from OWL ITS End User. |
| | | project.default.project.user.change=The Join as Project Manager role has been changed from the end user. |
| | | project.default.workspaceName=Work space name |
| | | project.default.date=Date |
| | | project.default.projectName=Project name |
| | | project.default.projectAdmin=Project Manager |
| | | project.default.project.manager=Project participation was excluded by the project manager. |
| | | project.default.project.delete=You have been excluded from the OWL ITS project. |
| | | project.default.project.join=I was part of the OWL ITS project. |
| | | project.default.project.manager.join=You have been involved in a project by the project manager. |
| | | project.default.project.manager.user=Participation role changed from OWL ITS Project Manager to End User. |
| | | project.default.project.manager.user.change=The Engagement role has been changed from Project Manager to End User. |
| | | project.default.project.manager.delete=You have been excluded from the OWL ITS project manager. |
| | | project.default.project.manager.exclude.delete=You have been excluded from the project manager. |
| | | project.default.project.manager.include.manager=I became an OWL ITS project manager. |
| | | project.include.manager=I became a project manager. |
| | | |
| | | issue.add.title=Issue [OWL ITS] is registered. |
| | | issue.add.occurrence=Time of occurrence time |
| | | issue.add.registerIssue=OWL ITS Issue Registered |
| | | issue.add.new=A new issue has been created. |
| | | issue.add.issueName=Name of issue |
| | | issue.add.content=content |
| | | issue.add.issueType=Issue Type |
| | | issue.add.issueStatus=Issue Status |
| | | issue.add.assignee=The person in charge |
| | | issue.add.schedule=Schedule |
| | | issue.add.priority=Priority |
| | | issue.add.severity=Severity |
| | | issue.add.project=Project |
| | | issue.add.projectKey=Project Key |
| | | issue.add.register=Registered person |
| | | issue.add.customField=custom field |
| | | issue.add.attachedFile=The attached file |
| | | issue.add.deleteIssue=The OWL ITS issue has been deleted. |
| | | issue.add.delete=Issue has been deleted |
| | | issue.remove.title=Issue [OWL ITS] has been deleted. |
| | | issue.send.title=[OWL ITS] Please check the issue. |
| | | user.join.statistics.title=[OWL ITS] This is your daily subscription information. |
| | | total.statistics.title=[OWL ITS] This is a daily system status update. |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | workspace.inviteSystemUser.01=You have been invited to a new workspace from OWL ITS. |
| | | workspace.inviteNewUser.01=Invite to Issue Management System OWL ITS If you sign up with an invitation email account, you will automatically join the workspace/project that issued the invitation. |
| | | workspace.maxUserExcess.01=Maximum user exceeded for managed workspace. Authorization is required to add a user. |
| | | workspace.expire.01=The managed workspace has expired. Approval is required for use. |
| | | workspace.out.01=Participation was excluded by the administrator in the following workspace: |
| | | project.default.exclude.01=You have been excluded from the project. |
| | | project.default.include.01=I was part of the project. |
| | | project.manager.exclude.01=You have been excluded from the project's manager. |
| | | project.manager.include.01=You have been assigned to a project as an administrator. |
| | | project.etc.managerExcludeAndDefaultInclude.01=Participated as a general user after project manager was excluded. |
| | | project.etc.defaultExcludeAndManagerInclude.01=You have been designated as the project manager after exclusion from the end user. |
| | | |
| | | user.return.emailPassword.01=This is a temporary password. |
| | | |
| | | user.password.guidanceTemporaryPassword=Temporary password issue guidance |
| | | user.password.pleaseMakeSureChangeYourPassword=We will issue you a temporary password to change your OWL ITS account password.Please make sure to change your password after logging in. |
| | | user.password.account=Account |
| | | user.password.temporaryPassword=temporary password |
| | | user.password.login=OWL ITS Login |
| | | user.hello=Hello, everyone. |
| | | user.withDraw.guide=notice of withdrawal from membership |
| | | user.withDraw.success=Your request to sign out of the OWL ITS membership has been successfully completed.<br/><br/>Thank you for using it in the whole time.<br>I will try harder so that you can visit again. |
| | | |
| | | common.common.sendMail=This email is for outgoing only. |
New file |
| | |
| | | |
| | | workspace.join.title=[OWL ITS]\u4F1A\u54E1\u52A0\u5165\u3092\u6B53\u8FCE\u3057\u307E\u3059\u3002 |
| | | workspace.join.01=OWL ITS\u306B\u3054\u52A0\u5165\u3044\u305F\u3060\u304D,\u8AA0\u306B\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002 OWL ITS\u3067\u63D0\u4F9B\u3059\u308B\u69D8\u3005\u306A\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | workspace.expired=OWL ITS \u696D\u52D9\u7A7A\u9593\u4F7F\u7528\u671F\u9593\u304C\u6E80\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | workspace.expiredAlarm=OWL ITS \u696D\u52D9\u7A7A\u9593\u306E\u4F7F\u7528\u671F\u9593\u304C 3\u65E5\u6B8B\u308A\u307E\u3057\u305F\u3002 |
| | | workspace.subscription=\u4F7F\u7528\u671F\u9593\u304C\u6E80\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | workspace.expiration.date=\u6E80\u4E86\u65E5 |
| | | workspace.regular.payment.request=\u5B9A\u671F\u6C7A\u6E08\u304C\u7533\u8ACB\u3055\u308C\u3066\u3044\u306A\u3044\u304A\u5BA2\u69D8\u306F\u5B9A\u671F\u6C7A\u6E08\u3092\u7533\u8ACB\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | workspace.invitation.card=\u62DB\u5F85\u72B6 |
| | | workspace.hello=\u304A\u306F\u3088\u3046\u3054\u3056\u3044\u307E\u3059 |
| | | workspace.asked.you=\u3042\u306A\u305F\u304C\u304A\u5BA2\u69D8\u3092 |
| | | workspace.invited.to=\u306B\u62DB\u5F85\u3057\u307E\u3057\u305F\u3002 |
| | | workspace.click.button=\u4E0B\u8A18\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057\u3066\u4F1A\u54E1\u52A0\u5165\u3059\u308B\u3068\u62DB\u5F85\u3055\u308C\u305F\u696D\u52D9\u7A7A\u9593\u306B\u53C2\u52A0\u3067\u304D\u307E\u3059\u3002 OWL ITS \u306F,\u30A4\u30B7\u30E5\u30FC\u30D9\u30FC\u30B9\u306E\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30B8\u30E1\u30F3\u30C8\u30C4\u30FC\u30EB\u3068\u3057\u3066,\u3042\u3089\u3086\u308B\u30A4\u30B7\u30E5\u30FC\u3092\u7BA1\u7406\u3057\u5354\u696D\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | workspace.invited.join=\u4E0B\u8A18\u306E\u30DC\u30BF\u30F3\u3092\u30AF\u30EA\u30C3\u30AF\u3057,\u62DB\u5F85\u3055\u308C\u305F\u696D\u52D9\u30B9\u30DA\u30FC\u30B9\u306B\u53C2\u52A0\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | workspace.capacity.remove=\u4E0D\u8981\u306A\u30D5\u30A1\u30A4\u30EB\u3092\u9664\u53BB\u3057\u305F\u308A,\u30E6\u30FC\u30B6\u30FC\u3092\u8FFD\u52A0\u3057\u3066\u5BB9\u91CF\u3092\u78BA\u4FDD\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | workspace.storage.capacity.user=\u30E6\u30FC\u30B61\u4EBA\u5F53\u305F\u308A\u306E\u30B9\u30C8\u30EC\u30FC\u30B8\u5BB9\u91CF5GB\u3092\u63D0\u4F9B\u3057\u307E\u3059\u3002 |
| | | workspace.storage.space=OWL ITS \u696D\u52D9\u7A7A\u9593\u306B\u4FDD\u5B58\u30B9\u30DA\u30FC\u30B9\u304C\u4E0D\u8DB3\u3057\u3066\u3044\u307E\u3059\u3002 |
| | | workspace.storage.space.cannot.upload=\u4FDD\u5B58\u30B9\u30DA\u30FC\u30B9\u304C\u8DB3\u308A\u307E\u305B\u3093\u3002 \u4FDD\u5B58\u30B9\u30DA\u30FC\u30B9\u304C\u8DB3\u308A\u306A\u3051\u308C\u3070\u30D5\u30A1\u30A4\u30EB\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u304C\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | workspace.workspace=[\u696D\u52D9\u7A7A\u9593] |
| | | workspace.total.storage=\u30B9\u30C8\u30EC\u30FC\u30B8\u7DCF\u5BB9\u91CF |
| | | workspace.current.usage=\u73FE\u5728\u4F7F\u7528\u91CF |
| | | workspace.capacity.remain=\u6B8B\u3063\u305F\u5BB9\u91CF |
| | | workspace.add.capacity.method=\u5BB9\u91CF\u8FFD\u52A0\u65B9\u6CD5 |
| | | workspace.maximum.number.user=OWL ITS \u696D\u52D9\u7A7A\u9593\u306B\u6700\u5927\u30E6\u30FC\u30B6\u30FC\u6570\u304C\u8D85\u904E\u3057\u307E\u3057\u305F\u3002 |
| | | workspace.maximum.number.user.invite.inactive=\u6700\u5927\u6D3B\u6027\u53EF\u80FD\u306A\u30E6\u30FC\u30B6\u30FC\u6570\u304C\u8D85\u904E\u3057,\u62DB\u304B\u308C\u305F\u30E6\u30FC\u30B6\u30FC\u304C\u4E0D\u6D3B\u6027\u72B6\u614B\u3067\u3059\u3002 |
| | | workspace.maximum.number.active=\u6700\u5927\u6D3B\u6027\u30E6\u30FC\u30B6\u30FC\u6570 |
| | | workspace.number.inactive=\u975E\u6D3B\u6027\u30E6\u30FC\u30B6\u6570 |
| | | workspace.user.add.payment=\u975E\u6D3B\u6027\u30E6\u30FC\u30B6\u30FC\u3092\u6D3B\u6027\u30E6\u30FC\u30B6\u30FC\u306B\u5909\u66F4\u3059\u308B\u305F\u3081\u306B\u306F,\u30E6\u30FC\u30B6\u30FC\u306E\u8FFD\u52A0\u6C7A\u6E08\u304C\u5FC5\u8981\u3067\u3059\u3002 |
| | | workspace.shortcut=OWL ITS \u306E\u30B7\u30E7\u30FC\u30C8\u30AB\u30C3\u30C8\u3078 |
| | | workspace.check.user.id=\u52A0\u5165\u3057\u305FID\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | workspace.user.id=\u30A2\u30A4\u30C7\u30A3 |
| | | workspace.subscription.date=\u52A0\u5165\u65E5\u6642 |
| | | |
| | | |
| | | |
| | | user.search.password.title=[OWL ITS] \u4E00\u6642\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u767A\u884C\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | |
| | | user.withDraw.title=[OWL ITS] \u8131\u9000\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | |
| | | regular.payment.title=[OWL ITS] \u5B9A\u671F\u6C7A\u6E08\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | |
| | | regular.payment.cancel.title=[OWL ITS] \u5B9A\u671F\u6C7A\u6E08\u89E3\u9664\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | |
| | | regular.payment.cancel.accounting.manager.title=[OWL ITS] \u6B21\u306E\u30E6\u30FC\u30B6\u306E\u5B9A\u671F\u6C7A\u6E08\u306E\u89E3\u7D04\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 \u6255\u3044\u623B\u3057\u8981\u8ACB\u3057\u307E\u3059\u3002 |
| | | |
| | | regular.payment.modify.title=[OWL ITS] \u5B9A\u671F\u6C7A\u6E08\u306E\u5909\u66F4\u4E8B\u9805\u3092\u304A\u77E5\u3089\u305B\u3044\u305F\u3057\u307E\u3059\u3002 |
| | | |
| | | regular.payment.termination.guide=\u5B9A\u671F\u6C7A\u6E08\u89E3\u7D04\u6848\u5185 |
| | | regular.payment.termination.complete=\u5B9A\u671F\u6C7A\u6E08\u89E3\u7D04\u306E\u7533\u3057\u8FBC\u307F\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | regular.payment.user=\u30E6\u30FC\u30B6\u30FC\u6570 |
| | | regular.payment.workspace=\u30B5\u30FC\u30D3\u30B9\u4FDD\u5B58\u7A7A\u9593 |
| | | regular.payment.service.end=\u30B5\u30FC\u30D3\u30B9\u7D42\u4E86\u65E5 |
| | | regular.payment.service.remain.day=\u6B8B\u308A\u306E\u4F7F\u7528\u671F\u9593 |
| | | regular.payment.service.shortcut.workspace=\u696D\u52D9\u7A7A\u9593\u76F4\u3057 |
| | | regular.payment.service.service.end.date=\u30B5\u30FC\u30D3\u30B9\u7D42\u4E86\u65E5\u304B\u30892\u9031\u9593\u304C\u7D4C\u3064\u3068<span style='color:#D62525;font-weight:bold;>\u696D\u52D9\u7A7A\u9593\u306E\u3059\u3079\u3066\u306E\u30C7\u30FC\u30BF\u304C\u524A\u9664</span>\u3055\u308C\u307E\u3059\u3002 \u7D42\u4E86\u65E5\u4EE5\u524D\u306B<span style='color:#D62525;font-weight:bold;'>\u5FC5\u8981\u306A\u30C7\u30FC\u30BF\u3092\u30D0\u30C3\u30AF\u30A2\u30C3\u30D7</span>\u3057\u3066\u304A\u3044\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | regular.payment.service.day=\u30B5\u30FC\u30D3\u30B9\u671F\u9593 |
| | | regular.payment.date=\u6C7A\u6E08\u65E5\u6642 |
| | | regular.payment.information=\u5B9A\u671F\u6C7A\u6E08\u6848\u5185 |
| | | regular.payment.service.information=\u30B5\u30FC\u30D3\u30B9\u60C5\u5831 |
| | | regular.payment.next.date=\u6B21\u306E\u5B9A\u671F\u6C7A\u6E08\u65E5 |
| | | regular.payment.amount=\u6C7A\u6E08\u91D1\u984D |
| | | regular.payment.using.service=OWL ITS \u30B5\u30FC\u30D3\u30B9\u3092\u3054\u5229\u7528\u3044\u305F\u3060\u304D\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002 |
| | | regular.payment.complete=\u304A\u5BA2\u69D8\u306E\u3054\u7533\u8ACB\u3044\u305F\u3060\u3044\u305FOWL ITS\u5B9A\u671F\u6C7A\u6E08\u304C\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | regular.payment.person=\u540D |
| | | regular.payment.won=\u30A6\u30A9\u30F3 |
| | | regular.payment.day=\u65E5 |
| | | regular.payment.change.notice=\u5B9A\u671F\u6C7A\u6E08\u5909\u66F4\u6848\u5185 |
| | | regular.payment.change.payment=\u6C7A\u6E08\u306E\u5909\u66F4\u7533\u8ACB\u304C\u5B8C\u4E86\u3057\u3001\u5B9A\u671F\u6C7A\u6E08\u306E\u5909\u66F4\u4E8B\u9805\u3092\u304A\u77E5\u3089\u305B\u3044\u305F\u3057\u307E\u3059\u3002 |
| | | regular.payment.service.charge=\u30B5\u30FC\u30D3\u30B9\u6599\u91D1 |
| | | regular.payment.mean.payment=\u6C7A\u6E08\u624B\u6BB5 |
| | | regular.payment.credit.card=\u30AF\u30EC\u30B8\u30C3\u30C8\u30AB\u30FC\u30C9 |
| | | regular.payment.application.time=\u9069\u7528\u6642\u671F |
| | | regular.payment.apply.payment=\u5B9A\u671F\u6C7A\u6E08\u304B\u3089\u9069\u7528 |
| | | regular.payment.automatically=\u5B9A\u671F\u6C7A\u6E08\u4E88\u5B9A\u65E5\u306B\u81EA\u52D5\u7684\u306B\u30B5\u30FC\u30D3\u30B9\u304C\u6C7A\u6E08\u3055\u308C\u8ACB\u6C42\u3055\u308C\u307E\u3059\u3002 \u5229\u7528\u4E2D\u306E\u30B5\u30FC\u30D3\u30B9\u306B\u5909\u52D5\u4E8B\u9805\u304C\u3042\u308C\u3070\u5B9A\u671F\u6C7A\u6E08\u65E5\u306E\u524D\u306B\u5FC5\u305A\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | |
| | | workspace.inviteNewUser.title=[OWL ITS]\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | |
| | | workspace.maxUserExcess.title=[OWL ITS] \u696D\u52D9\u7A7A\u9593\u306B\u6700\u5927\u30E6\u30FC\u30B6\u30FC\u6570\u304C\u8D85\u904E\u3057\u307E\u3057\u305F\u3002 |
| | | |
| | | workspace.inviteSystemUser.title=[OWL ITS] \u4ED6\u306E\u30E6\u30FC\u30B6\u30FC\u306E\u696D\u52D9\u7A7A\u9593\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | |
| | | workspace.expire.title=[OWL ITS] \u696D\u52D9\u7A7A\u9593\u4F7F\u7528\u671F\u9593\u304C\u6E80\u4E86\u3057\u307E\u3059\u3002 |
| | | |
| | | workspace.expire.alarm.title=[OWL ITS]\u3001\u696D\u52D9\u7A7A\u9593\u306E\u4F7F\u7528\u671F\u9593\u304C 3\u65E5\u6B8B\u308A\u307E\u3057\u305F\u3002 |
| | | |
| | | project.default.exclude.title=[OWL ITS] \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\u9664\u5916\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | |
| | | project.default.include.title=[OWL ITS]\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3057\u307E\u3057\u305F\u3002 |
| | | |
| | | project.manager.exclude.title=[OWL ITS] \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u3089\u9664\u304B\u308C\u307E\u3057\u305F\u3002 |
| | | |
| | | project.manager.include.title=[OWL ITS] \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\u306B\u306A\u308A\u307E\u3057\u305F\u3002 |
| | | |
| | | project.manager.exclude.default.include.title=[OWL ITS] \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u3089\u4E00\u822C\u30E6\u30FC\u30B6\u3078\u306E\u53C2\u753B\u5F79\u5272\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | |
| | | project.default.exclude.manager.include.title=[OWL ITS] \u4E00\u822C\u30E6\u30FC\u30B6\u30FC\u304B\u3089\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u306B\u53C2\u52A0\u5F79\u5272\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.manager.change=OWL ITS \u4E00\u822C\u30E6\u30FC\u30B6\u304B\u3089\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u306B\u53C2\u52A0\u5F79\u5272\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.user.change=\u4E00\u822C\u30E6\u30FC\u30B6\u304B\u3089\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u306B\u53C2\u753B\u3059\u308B\u5F79\u5272\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.workspaceName=\u696D\u52D9\u7A7A\u9593\u540D |
| | | project.default.date=\u65E5\u6642 |
| | | project.default.projectName=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D |
| | | project.default.projectAdmin=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3 |
| | | project.default.project.manager=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u306B\u3088\u3063\u3066\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u53C2\u52A0\u304C\u9664\u5916\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.delete=OWL ITS \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\u9664\u5916\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.join=OWL ITS \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3057\u307E\u3057\u305F\u3002 |
| | | project.default.project.manager.join=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u306B\u3088\u308A\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.manager.user=OWL ITS \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u3089\u4E00\u822C\u30E6\u30FC\u30B6\u3078\u53C2\u52A0\u5F79\u5272\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.manager.user.change=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u3089\u4E00\u822C\u30E6\u30FC\u30B6\u3078\u306E\u53C2\u753B\u5F79\u5272\u304C\u5909\u66F4\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.manager.delete=OWL ITS \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u3089\u9664\u304B\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.manager.exclude.delete=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304B\u3089\u306F\u305A\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.project.manager.include.manager=OWL ITS \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u306B\u306A\u308A\u307E\u3057\u305F\u3002 |
| | | project.include.manager=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30DE\u30CD\u30FC\u30B8\u30E3\u306B\u306A\u308A\u307E\u3057\u305F\u3002 |
| | | |
| | | issue.add.title=[OWL ITS] \u30A4\u30B7\u30E5\u30FC\u304C\u767B\u9332\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | issue.add.occurrence=\u767A\u751F\u6642\u9593 |
| | | issue.add.registerIssue=OWL ITS \u554F\u984C\u304C\u767B\u9332\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | issue.add.new=\u65B0\u3057\u3044\u30A4\u30B7\u30E5\u30FC\u304C\u751F\u6210\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | issue.add.issueName=\u30A4\u30B7\u30E5\u30FC\u540D |
| | | issue.add.content=\u5185\u5BB9 |
| | | issue.add.issueType=\u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7 |
| | | issue.add.issueStatus=\u4E89\u70B9\u72B6\u614B |
| | | issue.add.assignee=\u62C5\u5F53\u8005 |
| | | issue.add.schedule=\u65E5\u7A0B |
| | | issue.add.priority=\u91CD\u8981\u5EA6 |
| | | issue.add.severity=\u512A\u5148\u9806\u4F4D |
| | | issue.add.project=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8 |
| | | issue.add.projectKey=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u00B7\u30AD\u30FC |
| | | issue.add.register=\u767B\u9332\u8005 |
| | | issue.add.customField=\u4F7F\u7528\u8005\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9 |
| | | issue.add.attachedFile=\u6DFB\u4ED8\u30D5\u30A1\u30A4\u30EB |
| | | issue.add.deleteIssue=OWL ITS \u554F\u984C\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | issue.add.delete=\u8A71\u984C\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | issue.remove.title=[OWL ITS] \u30A4\u30B7\u30E5\u30FC\u304C\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | issue.send.title=[OWL ITS] \u30A4\u30B7\u30E5\u30FC\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | user.join.statistics.title=[OWL ITS] 1\u65E5\u306E\u4F7F\u7528\u8005\u306E\u52A0\u5165\u60C5\u5831\u3092\u304A\u77E5\u3089\u305B\u3057\u307E\u3059\u3002 |
| | | total.statistics.title=[OWL ITS] \u65E5\u4ED8\u30B7\u30B9\u30C6\u30E0\u306E\u73FE\u72B6\u60C5\u5831\u3092\u304A\u77E5\u3089\u305B\u3044\u305F\u3057\u307E\u3059\u3002 |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | workspace.inviteSystemUser.01=\u4F7F\u7528\u3057\u3066\u3044\u308BOWL ITS\u3067\u65B0\u898F\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u62DB\u5F85\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | workspace.inviteNewUser.01=\u30A4\u30B7\u30E5\u30FC\u7BA1\u7406\u30B7\u30B9\u30C6\u30E0OWL ITS \u306B\u62DB\u5F85\u3057\u307E\u3059\u3002 \u62DB\u5F85\u3055\u308C\u305F\u96FB\u5B50\u30E1\u30FC\u30EB\u306E\u30A2\u30AB\u30A6\u30F3\u30C8\u3067\u4F1A\u54E1\u52A0\u5165\u3092\u3059\u308B\u3068,\u62DB\u5F85\u72B6\u3092\u767A\u7D66\u3057\u305F\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9/\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u81EA\u52D5\u7684\u306B\u53C2\u52A0\u3057\u307E\u3059\u3002 |
| | | workspace.maxUserExcess.01=\u7BA1\u7406\u3059\u308B\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u6700\u5927\u30E6\u30FC\u30B6\u304C\u8D85\u904E\u3057\u307E\u3057\u305F\u3002 \u4F7F\u7528\u8005\u3092\u8FFD\u52A0\u3059\u308B\u306B\u306F\u6C7A\u6E08\u304C\u5FC5\u8981\u3067\u3059\u3002 |
| | | workspace.expire.01=\u7BA1\u7406\u3059\u308B\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306E\u4F7F\u7528\u671F\u9593\u304C\u6E80\u4E86\u3057\u307E\u3057\u305F\u3002 \u4F7F\u7528\u306E\u305F\u3081\u306B\u306F\u6C7A\u88C1\u304C\u5FC5\u8981\u3067\u3059\u3002 |
| | | workspace.out.01=\u6B21\u306E\u30EF\u30FC\u30AF\u30B9\u30DA\u30FC\u30B9\u306B\u304A\u3044\u3066,\u7BA1\u7406\u8005\u306B\u3088\u3063\u3066\u53C2\u52A0\u304C\u9664\u5916\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.exclude.01=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304B\u3089\u9664\u5916\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.default.include.01=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3057\u307E\u3057\u305F\u3002 |
| | | project.manager.exclude.01=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u304B\u3089\u9664\u304B\u308C\u307E\u3057\u305F\u3002 |
| | | project.manager.include.01=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u7BA1\u7406\u8005\u306B\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | project.etc.managerExcludeAndDefaultInclude.01=\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u3092\u9664\u3044\u3066\u304B\u3089\u4E00\u822C\u30E6\u30FC\u30B6\u30FC\u3068\u3057\u3066\u53C2\u52A0\u3057\u307E\u3057\u305F\u3002 |
| | | project.etc.defaultExcludeAndManagerInclude.01=\u4E00\u822C\u30E6\u30FC\u30B6\u304B\u3089\u9664\u304B\u308C\u305F\u5F8C,\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u306B\u6307\u5B9A\u3055\u308C\u307E\u3057\u305F\u3002 |
| | | |
| | | user.return.emailPassword.01=\u81E8\u6642\u6697\u8A3C\u756A\u53F7\u3067\u3059\u3002 |
| | | |
| | | user.password.guidanceTemporaryPassword=\u81E8\u6642\u306E\u6697\u8A3C\u756A\u53F7\u767A\u7D66\u6848\u5185 |
| | | user.password.pleaseMakeSureChangeYourPassword=\u304A\u5BA2\u69D8\u306EOWL ITS \u30A2\u30AB\u30A6\u30F3\u30C8\u30D1\u30B9\u30EF\u30FC\u30C9\u5909\u66F4\u306E\u305F\u3081,\u81E8\u6642\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u767A\u7D66\u3044\u305F\u3057\u307E\u3059\u3002\u30ED\u30B0\u30A4\u30F3\u5F8C,\u5FC5\u305A\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | user.password.account=\u52D8\u5B9A |
| | | user.password.temporaryPassword=\u81E8\u6642\u6697\u8A3C\u756A\u53F7 |
| | | user.password.login=OWL ITS \u30ED\u30B0\u30A4\u30F3 |
| | | user.hello=\u3042\u306A\u305F\u69D8,\u3053\u3093\u306B\u3061\u306F\u3002 |
| | | user.withDraw.guide=\u4F1A\u54E1\u9000\u4F1A\u6848\u5185 |
| | | user.withDraw.success=\u4F1A\u54E1\u69D8\u304C\u8981\u8ACB\u3055\u308C\u305FOWL ITS\u4F1A\u54E1\u8131\u9000\u304C\u6210\u529F\u7684\u306B\u5B8C\u4E86\u3057\u307E\u3057\u305F\u3002<br/><br/>\u4ECA\u307E\u3067\u3054\u5229\u7528\u3044\u305F\u3060\u304D\u3042\u308A\u304C\u3068\u3046\u3054\u3056\u3044\u307E\u3059\u3002<br>\u307E\u305F\u8A2A\u554F\u3067\u304D\u308B\u3088\u3046\u306B\u4E00\u5C64\u52AA\u529B\u3057\u307E\u3059\u3002 |
| | | |
| | | common.common.sendMail=\u672C\u30E1\u30FC\u30EB\u306F\u767A\u4FE1\u5C02\u7528\u30E1\u30FC\u30EB\u3067\u3059\u3002 |
New file |
| | |
| | | workspace.expire.title=OWL ITS \uC5C5\uBB34\uACF5\uAC04\uC758 \uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | workspace.expire.msg1=<span style="font-size:24px;font-weight:bold;">OWL ITS \uC5C5\uBB34 \uACF5\uAC04 <br/>\uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.</span><br/><br/> |
| | | workspace.expire.msg2=<span style="color:#4B72FA;font-weight:bold">{0}</span>\uB2D8, OWL ITS\uB97C \uC774\uC6A9\uD574 \uC8FC\uC154\uC11C \uAC10\uC0AC\uD569\uB2C8\uB2E4.<br/> |
| | | workspace.expire.msg3=<span style="color:#4B72FA;font-weight:bold">[{0}]</span>\uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.<br/><br/> |
| | | workspace.expire.msg4=<span>\uACC4\uC18D \uC0AC\uC6A9\uC744 \uC6D0\uD558\uC2E0\uB2E4\uBA74 OWL ITS \uC815\uAE30\uACB0\uC81C\uB97C \uC2E0\uCCAD\uD574 \uC8FC\uC138\uC694. \uC815\uAE30 \uACB0\uC81C\uB97C \uC2E0\uCCAD\uD558\uC2DC\uBA74 OWL ITS\uC758 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uADF8\uB300\uB85C \uC0AC\uC6A9\uD558\uC2E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4.<br/><br/></span> |
| | | workspace.expire.msg5=<span style="color:#ff3c00; font-size:12px;">\u203B\uC720\uC758\uC0AC\uD56D<br/>\uC0AC\uC6A9\uAE30\uAC04 \uB9CC\uB8CC 6\uAC1C\uC6D4 \uC774\uD6C4\uC5D0\uB294 \uC5C5\uBB34\uACF5\uAC04\uC5D0 \uC800\uC7A5\uB41C \uB370\uC774\uD130\uAC00 \uBAA8\uB450 \uC0AD\uC81C\uB418\uB2C8 \uC720\uC758\uD574 \uC8FC\uC138\uC694!</span> |
| | | workspace.expire.msg6=<div style="color: #9a9a9a; font-size: 12px; font-weight:bold;">\uC5C5\uBB34\uACF5\uAC04 \uB9CC\uB8CC\uC77C</div><div style="font-weight:bold">{0}</div> |
| | | workspace.expire.msg7=\uC815\uAE30 \uACB0\uC81C \uC2E0\uCCAD\uD558\uAE30 |
| | | workspace.expire.msg8=<span style="font-size:12px;color: #8D929D;">OWL ITS \uC0AC\uC6A9\uC5D0 \uC5B4\uB824\uC6C0\uC774 \uC788\uB2E4\uBA74 <a href="mailto:supportowl@wisestone.kr" style="text-decoration: underline; color: #4B72FA;">supportowl@wisestone.kr</a>\uB85C \uC774\uBA54\uC77C\uC744 \uBCF4\uB0B4\uC8FC\uC138\uC694.</span> |
| | | workspace.expire.msg9=\uBCF8 \uBA54\uC77C\uC740 \uBC1C\uC2E0\uC804\uC6A9 \uBA54\uC77C\uC785\uB2C8\uB2E4.<br/><span style="color: #A5A5A5; font-size: 11px;">Copyright \u00A9 WISESTONE CO., Ltd. All Rights Reserved.</span> |
| | | |
| | | |
| | | workspace.join.title=OWL ITS \uAC00\uC785\uC744 \uD658\uC601\uD569\uB2C8\uB2E4. |
| | | workspace.join.msg1=<span style="font-size:24px;font-weight:bold;"> OWL ITS \uAC00\uC785\uC744 \uD658\uC601\uD569\uB2C8\uB2E4.</span><br/><br/>\uC548\uB155\uD558\uC138\uC694. <span style="color:#4B72FA;font-weight:bold">{0}</span>\uB2D8! OWL ITS \uAC00\uC785\uC744 \uC9C4\uC2EC\uC73C\uB85C \uD658\uC601\uD569\uB2C8\uB2E4.<br/>OWL ITS\uB97C \uC774\uC6A9\uD558\uBA74 \uD504\uB85C\uC81D\uD2B8\uC5D0\uC11C \uBC1C\uC0DD\uD558\uB294 \uC774\uC288\uB97C \uD6A8\uC728\uC801\uC73C\uB85C \uAD00\uB9AC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | workspace.join.msg2=\uAC00\uC785\uD558\uC2E0 \uC815\uBCF4\uB97C \uD655\uC778\uD574 \uC8FC\uC138\uC694. |
| | | workspace.join.msg3=<div style="color: #9a9a9a; font-size: 12px; font-weight:bold;">\uC544\uC774\uB514</div><div style="font-weight:bold">{0}</div> |
| | | workspace.join.msg4=<div style="color: #9a9a9a; font-size: 12px; font-weight:bold;">\uAC00\uC785 \uC77C\uC2DC</div><div style="font-weight: bold;">{0}</div> |
| | | workspace.join.msg5=\uC9C0\uAE08, OWL ITS\uC5D0 \uB85C\uADF8\uC778\uD574 \uB2E4\uC591\uD55C \uAE30\uB2A5\uC744 \uC0AC\uC6A9\uD574 \uBCF4\uC138\uC694! |
| | | workspace.join.msg6=\uC544\uC6B8ITS \uB85C\uADF8\uC778\uD558\uAE30 |
| | | workspace.join.msg7=<span style="font-size:12px;color: #8D929D;">OWL ITS \uC0AC\uC6A9\uC5D0 \uC5B4\uB824\uC6C0\uC774 \uC788\uB2E4\uBA74 <a href="mailto:supportowl@wisestone.kr" style="text-decoration: underline; color: #4B72FA;">supportowl@wisestone.kr</a>\uB85C \uC774\uBA54\uC77C\uC744 \uBCF4\uB0B4\uC8FC\uC138\uC694.</span> |
| | | workspace.join.msg8=\uBCF8 \uBA54\uC77C\uC740 \uBC1C\uC2E0\uC804\uC6A9 \uBA54\uC77C\uC785\uB2C8\uB2E4.<br/><span style="color: #A5A5A5; font-size: 11px;">Copyright \u00A9 WISESTONE CO., Ltd. All Rights Reserved.</span> |
| | | |
| | | workspace.expiredAlarm.title=OWL ITS \uC5C5\uBB34\uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB9CC\uB8CC\uB420 \uC608\uC815\uC785\uB2C8\uB2E4. |
| | | workspace.expiredAlarm.msg1=<span style="font-size:24px;font-weight:bold;">OWL ITS \uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774<br/><span style="color:#ff3c00; font-weight:bold;">{0}</span>\uC77C \uB0A8\uC558\uC2B5\uB2C8\uB2E4.</span> |
| | | workspace.expiredAlarm.msg2=<span style="color:#4B72FA;font-weight:bold">{0}</span>\uB2D8, OWL ITS\uC758 <span style="color:#4B72FA;font-weight:bold">{1}</span> \uC5C5\uBB34\uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774<span style="color:#ff3c00; font-weight:bold;"> {2}</span>\uC77C \uBC16\uC5D0 \uB0A8\uC9C0 \uC54A\uC558\uC5B4\uC694. |
| | | workspace.expiredAlarm.msg3=\uC815\uAE30 \uACB0\uC81C\uB97C \uC2E0\uCCAD\uD558\uC2DC\uBA74 OWL ITS\uC758 \uBAA8\uB4E0 \uAE30\uB2A5\uC744 \uADF8\uB300\uB85C \uC0AC\uC6A9\uD558\uC2E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | workspace.expiredAlarm.msg4=<div style="color: #9a9a9a; font-size: 12px; font-weight:bold;">\uC5C5\uBB34\uACF5\uAC04 \uB9CC\uB8CC \uC608\uC815\uC77C</div><div style="font-weight:bold">{0}</div> |
| | | workspace.expiredAlarm,msg5=\uC9C0\uAE08 OWL ITS \uC815\uAE30\uACB0\uC81C\uB97C \uC2E0\uCCAD\uD558\uC2DC\uACE0 \uB2E4\uC591\uD55C \uC774\uC288 \uAD00\uB9AC \uAE30\uB2A5\uC744 \uB9C8\uC74C\uAECF \uC0AC\uC6A9\uD558\uC138\uC694! |
| | | workspace.expiredAlarm.msg6=\uC815\uAE30 \uACB0\uC81C \uC2E0\uCCAD\uD558\uAE30 |
| | | workspace.expiredAlarm.msg7=<span style="font-size:12px;color: #8D929D;">OWL ITS \uC0AC\uC6A9\uC5D0 \uC5B4\uB824\uC6C0\uC774 \uC788\uB2E4\uBA74 <a href="mailto:supportowl@wisestone.kr" style="text-decoration: underline; color: #4B72FA;">supportowl@wisestone.kr</a>\uB85C \uC774\uBA54\uC77C\uC744 \uBCF4\uB0B4\uC8FC\uC138\uC694.</span> |
| | | workspace.expiredAlarm.msg8= \uBCF8 \uBA54\uC77C\uC740 \uBC1C\uC2E0\uC804\uC6A9 \uBA54\uC77C\uC785\uB2C8\uB2E4.<br/><span style="color: #A5A5A5; font-size: 11px;">Copyright \u00A9 WISESTONE CO., Ltd. All Rights Reserved.</span> |
| | | |
| | | |
| | | |
| | | workspace.join.01=OWL ITS\uC5D0 \uAC00\uC785\uD574\uC8FC\uC154\uC11C \uAC10\uC0AC\uB4DC\uB9BD\uB2C8\uB2E4. OWL ITS\uC5D0\uC11C \uC81C\uACF5\uD558\uB294 \uB2E4\uC591\uD55C \uAE30\uB2A5\uB4E4\uC744 \uC0AC\uC6A9\uD558\uC2E4 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | workspace.expired=OWL ITS \uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | workspace.expiredAlarm=OWL ITS \uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774 {0}\uC77C \uB0A8\uC558\uC2B5\uB2C8\uB2E4. |
| | | workspace.subscription=\uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | workspace.expiration.date=\uB9CC\uB8CC\uC77C |
| | | workspace.regular.payment.request=\uC815\uAE30 \uACB0\uC81C\uAC00 \uC2E0\uCCAD\uB418\uC5B4 \uC788\uC9C0 \uC54A\uC740 \uACE0\uAC1D\uB2D8\uAED8\uC11C\uB294 \uC815\uAE30 \uACB0\uC81C\uB97C \uC2E0\uCCAD\uD574\uC8FC\uC2DC\uAE30 \uBC14\uB78D\uB2C8\uB2E4. |
| | | workspace.invitation.card=\uCD08\uB300\uC7A5 |
| | | workspace.hello=\uC548\uB155\uD558\uC138\uC694. |
| | | workspace.asked.you=\uB2D8\uC774 \uACE0\uAC1D\uB2D8\uC744 |
| | | workspace.invited.to=\uC5D0 \uCD08\uB300\uD558\uC600\uC2B5\uB2C8\uB2E4. |
| | | workspace.click.button=\uC544\uB798 \uBC84\uD2BC\uC744 \uD074\uB9AD\uD558\uC5EC \uD68C\uC6D0\uAC00\uC785\uC744 \uD558\uC2DC\uBA74 \uCD08\uB300\uB41C \uC5C5\uBB34 \uACF5\uAC04\uC5D0 \uCC38\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. OWL ITS\uB294 \uC774\uC288 \uAE30\uBC18\uC758 \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC \uD234\uB85C \uBAA8\uB4E0 \uC774\uC288\uB97C \uAD00\uB9AC\uD558\uACE0 \uD611\uC5C5\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | workspace.invited.join=\uC544\uB798 \uBC84\uD2BC\uC744 \uD074\uB9AD\uD558\uC5EC \uCD08\uB300\uB41C \uC5C5\uBB34 \uACF5\uAC04\uC5D0 \uCC38\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | workspace.capacity.remove=\uBD88\uD544\uC694\uD55C \uD30C\uC77C\uC744 \uC81C\uAC70\uD558\uAC70\uB098 \uC0AC\uC6A9\uC790\uB97C \uCD94\uAC00\uD558\uC5EC \uC6A9\uB7C9\uC744 \uD655\uBCF4\uD558\uC138\uC694. |
| | | workspace.storage.capacity.user=\uC0AC\uC6A9\uC790 1\uBA85\uB2F9 \uC2A4\uD1A0\uB9AC\uC9C0 \uC6A9\uB7C9 5GB\uB97C \uC81C\uACF5\uD569\uB2C8\uB2E4. |
| | | workspace.storage.space=OWL ITS \uC5C5\uBB34 \uACF5\uAC04\uC5D0 \uC800\uC7A5 \uACF5\uAC04\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4. |
| | | workspace.storage.space.cannot.upload=\uC800\uC7A5 \uACF5\uAC04\uC774 \uBD80\uC871\uD569\uB2C8\uB2E4. \uC800\uC7A5 \uACF5\uAC04\uC774 \uBD80\uC871\uD558\uBA74 \uD30C\uC77C \uC5C5\uB85C\uB4DC\uB97C \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | workspace.workspace=[\uC5C5\uBB34 \uACF5\uAC04] |
| | | workspace.total.storage=\uC2A4\uD1A0\uB9AC\uC9C0 \uCD1D \uC6A9\uB7C9 |
| | | workspace.current.usage=\uD604\uC7AC \uC0AC\uC6A9 \uB7C9 |
| | | workspace.capacity.remain=\uB0A8\uC740 \uC6A9\uB7C9 |
| | | workspace.add.capacity.method=\uC6A9\uB7C9 \uCD94\uAC00 \uBC29\uBC95 |
| | | workspace.maximum.number.user=OWL ITS \uC5C5\uBB34 \uACF5\uAC04\uC5D0 \uCD5C\uB300 \uC0AC\uC6A9\uC790 \uC218\uAC00 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | workspace.maximum.number.user.invite.inactive=\uCD5C\uB300 \uD65C\uC131 \uAC00\uB2A5\uD55C \uC0AC\uC6A9\uC790 \uC218\uAC00 \uCD08\uACFC\uB418\uC5B4 \uCD08\uB300\uBC1B\uC740 \uC0AC\uC6A9\uC790\uAC00 \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC785\uB2C8\uB2E4. |
| | | workspace.maximum.number.active=\uCD5C\uB300 \uD65C\uC131 \uC0AC\uC6A9\uC790 \uC218 |
| | | workspace.number.inactive=\uBE44\uD65C\uC131 \uC0AC\uC6A9\uC790\uC218 |
| | | workspace.user.add.payment=\uBE44\uD65C\uC131 \uC0AC\uC6A9\uC790\uB97C \uD65C\uC131 \uC0AC\uC6A9\uC790\uB85C \uBCC0\uACBD\uD558\uAE30 \uC704\uD574\uC11C\uB294 \uC0AC\uC6A9\uC790 \uCD94\uAC00 \uACB0\uC81C\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. |
| | | workspace.shortcut=OWL ITS \uBC14\uB85C\uAC00\uAE30 |
| | | workspace.check.user.id=\uAC00\uC785\uD558\uC2E0 \uC544\uC774\uB514\uB97C \uD655\uC778\uD574\uC8FC\uC138\uC694. |
| | | workspace.user.id=\uC544\uC774\uB514 |
| | | workspace.subscription.date=\uAC00\uC785 \uC77C\uC2DC |
| | | user.search.password.title=[OWL ITS] \uC784\uC2DC \uBE44\uBC00\uBC88\uD638\uAC00 \uBC1C\uAE09\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | user.withDraw.title=[OWL ITS] \uD0C8\uD1F4\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | regular.payment.title=[OWL ITS] \uC815\uAE30 \uACB0\uC81C\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | regular.payment.cancel.title=[OWL ITS] \uC815\uAE30 \uACB0\uC81C \uD574\uC9C0\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | regular.payment.cancel.accounting.manager.title=[OWL ITS] \uB2E4\uC74C \uC0AC\uC6A9\uC790\uC758 \uC815\uAE30 \uACB0\uC81C \uD574\uC9C0\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uD658\uBD88 \uC694\uCCAD \uB4DC\uB9BD\uB2C8\uB2E4. |
| | | regular.payment.modify.title=[OWL ITS] \uC815\uAE30 \uACB0\uC81C \uBCC0\uACBD \uC0AC\uD56D\uC744 \uC54C\uB824\uB4DC\uB9BD\uB2C8\uB2E4. |
| | | regular.payment.termination.guide=\uC815\uAE30 \uACB0\uC81C \uD574\uC9C0 \uC548\uB0B4 |
| | | regular.payment.termination.complete=\uC815\uAE30 \uACB0\uC81C \uD574\uC9C0 \uC2E0\uCCAD\uC774 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | regular.payment.user=\uC0AC\uC6A9\uC790 \uC218 |
| | | regular.payment.workspace=\uC11C\uBE44\uC2A4 \uC800\uC7A5 \uACF5\uAC04 |
| | | regular.payment.service.end=\uC11C\uBE44\uC2A4 \uC885\uB8CC\uC77C |
| | | regular.payment.service.use.day=\uC0AC\uC6A9 \uAE30\uAC04 |
| | | regular.payment.service.shortcut.workspace=\uC5C5\uBB34 \uACF5\uAC04 \uBC14\uB85C\uAC00\uAE30 |
| | | regular.payment.service.service.end.date=\uC11C\uBE44\uC2A4 \uC885\uB8CC\uC77C \uC774\uD6C4 30\uC77C\uC774 \uC9C0\uB098\uBA74 <span style="color: #D62525;font-weight:bold;">\uC5C5\uBB34 \uACF5\uAC04\uC758 \uBAA8\uB4E0 \uB370\uC774\uD130\uAC00 \uC0AD\uC81C\uB429\uB2C8\uB2E4. </span> |
| | | regular.payment.service.day=\uC11C\uBE44\uC2A4 \uAE30\uAC04 |
| | | regular.payment.date=\uACB0\uC81C \uC77C\uC2DC |
| | | regular.payment.information=\uC815\uAE30 \uACB0\uC81C \uB0B4\uC5ED \uC548\uB0B4 |
| | | regular.payment.service.information=\uC11C\uBE44\uC2A4 \uC815\uBCF4 |
| | | regular.payment.next.date=\uB2E4\uC74C \uC815\uAE30 \uACB0\uC81C\uC77C |
| | | regular.payment.amount=\uACB0\uC81C \uAE08\uC561 |
| | | regular.payment.using.service=OWL ITS \uC11C\uBE44\uC2A4\uB97C \uC774\uC6A9\uD574 \uC8FC\uC154\uC11C \uAC10\uC0AC\uD569\uB2C8\uB2E4. |
| | | regular.payment.complete=\uACE0\uAC1D\uB2D8\uC774 \uC2E0\uCCAD\uD558\uC2E0 OWL ITS \uC815\uAE30 \uACB0\uC81C\uAC00 \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | regular.payment.person=\uBA85 |
| | | regular.payment.won=\uC6D0 |
| | | regular.payment.day=\uC77C |
| | | regular.payment.change.notice=\uC815\uAE30 \uACB0\uC81C \uBCC0\uACBD\uC0AC\uD56D \uC548\uB0B4 |
| | | regular.payment.change.payment=\uACB0\uC81C \uBCC0\uACBD \uC2E0\uCCAD\uC774 \uC644\uB8CC\uB418\uC5B4 \uC815\uAE30 \uACB0\uC81C \uBCC0\uACBD\uC0AC\uD56D\uC744 \uC54C\uB824\uB4DC\uB9BD\uB2C8\uB2E4. |
| | | regular.payment.service.charge=\uC11C\uBE44\uC2A4 \uC694\uAE08 |
| | | regular.payment.mean.payment=\uACB0\uC81C \uC218\uB2E8 |
| | | regular.payment.credit.card=\uC2E0\uC6A9\uCE74\uB4DC |
| | | regular.payment.application.time=\uC801\uC6A9\uC2DC\uAE30 |
| | | regular.payment.apply.payment=\uC815\uAE30 \uACB0\uC81C\uBD80\uD130 \uC801\uC6A9 |
| | | regular.payment.automatically=\uC815\uAE30 \uACB0\uC81C \uC608\uC815\uC77C\uC5D0 \uC790\uB3D9\uC73C\uB85C \uC11C\uBE44\uC2A4\uAC00 \uACB0\uC81C\uB418\uC5B4 \uCCAD\uAD6C\uB429\uB2C8\uB2E4. \uC774\uC6A9 \uC911\uC778 \uC11C\uBE44\uC2A4\uC5D0 \uBCC0\uB3D9\uC0AC\uD56D\uC774 \uC788\uB2E4\uBA74 \uC815\uAE30 \uACB0\uC81C\uC77C \uC804\uC5D0 \uAF2D \uBCC0\uACBD\uD574 \uC8FC\uC138\uC694. |
| | | workspace.inviteNewUser.title=[OWL ITS]\uC5D0 \uCD08\uB300\uB418\uC168\uC2B5\uB2C8\uB2E4. |
| | | workspace.maxUserExcess.title=[OWL ITS] \uC5C5\uBB34 \uACF5\uAC04\uC5D0 \uCD5C\uB300 \uC0AC\uC6A9\uC790 \uC218\uAC00 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | workspace.inviteSystemUser.title=[OWL ITS] \uB2E4\uB978 \uC0AC\uC6A9\uC790\uC758 \uC5C5\uBB34 \uACF5\uAC04\uC5D0 \uCD08\uB300\uB418\uC168\uC2B5\uB2C8\uB2E4. |
| | | workspace.expire.alarm.title=[OWL ITS] \uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04 \uB9CC\uB8CC \uC608\uC815 \uC548\uB0B4 |
| | | project.default.exclude.title=[OWL ITS] \uD504\uB85C\uC81D\uD2B8\uC5D0\uC11C \uC81C\uC678\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.include.title=[OWL ITS] \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.manager.exclude.title=[OWL ITS] \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0\uC11C \uC81C\uC678\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.manager.include.title=[OWL ITS] \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uAC00 \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.manager.exclude.default.include.title=[OWL ITS] \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0\uC11C \uC77C\uBC18 \uC0AC\uC6A9\uC790\uB85C \uCC38\uC5EC \uC5ED\uD560\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.exclude.manager.include.title=[OWL ITS] \uC77C\uBC18 \uC0AC\uC6A9\uC790\uC5D0\uC11C \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uB85C \uCC38\uC5EC \uC5ED\uD560\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.manager.change=OWL ITS \uC77C\uBC18 \uC0AC\uC6A9\uC790\uC5D0\uC11C \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uB85C \uCC38\uC5EC \uC5ED\uD560\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.user.change=\uC77C\uBC18 \uC0AC\uC6A9\uC790\uC5D0\uC11C \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uB85C \uCC38\uC5EC \uC5ED\uD560\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.workspaceName=\uC5C5\uBB34 \uACF5\uAC04 \uBA85 |
| | | project.default.date=\uC77C\uC2DC |
| | | project.default.projectName=\uD504\uB85C\uC81D\uD2B8 \uBA85 |
| | | project.default.projectAdmin=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790 |
| | | project.default.project.manager=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0 \uC758\uD574 \uD504\uB85C\uC81D\uD2B8 \uCC38\uC5EC\uAC00 \uC81C\uC678\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.delete=OWL ITS \uD504\uB85C\uC81D\uD2B8\uC5D0\uC11C \uC81C\uC678 \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.join=OWL ITS \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.manager.join=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0 \uC758\uD574 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.manager.user=OWL ITS \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0\uC11C \uC77C\uBC18 \uC0AC\uC6A9\uC790\uB85C \uCC38\uC5EC \uC5ED\uD560\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.manager.user.change=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0\uC11C \uC77C\uBC18 \uC0AC\uC6A9\uC790\uB85C \uCC38\uC5EC \uC5ED\uD560\uC774 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.manager.delete=OWL ITS \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0\uC11C \uC81C\uC678 \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.manager.exclude.delete=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uC5D0\uC11C \uC81C\uC678 \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.project.manager.include.manager=OWL ITS \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uAC00 \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.include.manager=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uAC00 \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | issue.add.title=[OWL ITS] \uC774\uC288\uAC00 \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | issue.add.occurrence=\uBC1C\uC0DD \uC2DC\uAC04 |
| | | issue.add.registerIssue=OWL ITS \uC774\uC288\uAC00 \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | issue.add.new=\uC0C8\uB85C\uC6B4 \uC774\uC288\uAC00 \uC0DD\uC131\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | issue.add.issueName=\uC774\uC288 \uBA85 |
| | | issue.add.content=\uB0B4\uC6A9 |
| | | issue.add.issueType=\uC774\uC288 \uC720\uD615 |
| | | issue.add.issueStatus=\uC774\uC288 \uC0C1\uD0DC |
| | | issue.add.assignee=\uB2F4\uB2F9\uC790 |
| | | issue.add.schedule=\uC77C\uC815 |
| | | issue.add.priority=\uC911\uC694\uB3C4 |
| | | issue.add.severity=\uC6B0\uC120 \uC21C\uC704 |
| | | issue.add.project=\uD504\uB85C\uC81D\uD2B8 |
| | | issue.add.projectKey=\uD504\uB85C\uC81D\uD2B8 \uD0A4 |
| | | issue.add.register=\uB4F1\uB85D\uC790 |
| | | issue.add.customField=\uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC |
| | | issue.add.attachedFile=\uCCA8\uBD80\uD30C\uC77C |
| | | issue.add.deleteIssue=OWL ITS \uC774\uC288\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | issue.add.delete=\uC774\uC288\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | issue.remove.title=[OWL ITS] \uC774\uC288\uAC00 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | issue.send.title=[OWL ITS] \uC774\uC288\uB97C \uD655\uC778\uD574\uC8FC\uC138\uC694. |
| | | user.join.statistics.title=[OWL ITS] \uC77C\uC77C \uC0AC\uC6A9\uC790 \uAC00\uC785 \uC815\uBCF4\uB97C \uC54C\uB824\uB4DC\uB9BD\uB2C8\uB2E4. |
| | | total.statistics.title=[OWL ITS] \uC77C\uC77C \uC2DC\uC2A4\uD15C \uD604\uD669 \uC815\uBCF4\uB97C \uC54C\uB824\uB4DC\uB9BD\uB2C8\uB2E4. |
| | | workspace.inviteSystemUser.01=\uC0AC\uC6A9\uD558\uACE0 \uACC4\uC2E0 OWL ITS \uC5D0\uC11C \uC2E0\uADDC \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC5D0 \uCD08\uB300\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | workspace.inviteNewUser.01=\uC774\uC288 \uAD00\uB9AC \uC2DC\uC2A4\uD15C OWL ITS \uC5D0 \uCD08\uB300\uD569\uB2C8\uB2E4. \uCD08\uB300\uBC1B\uC740 \uC774\uBA54\uC77C \uACC4\uC815\uC73C\uB85C \uD68C\uC6D0\uAC00\uC785\uC744 \uD558\uC2DC\uBA74 \uCD08\uB300\uC7A5\uC744 \uBC1C\uAE09\uD55C \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4/\uD504\uB85C\uC81D\uD2B8\uC5D0 \uC790\uB3D9\uC73C\uB85C \uCC38\uC5EC\uD558\uAC8C \uB429\uB2C8\uB2E4. |
| | | workspace.maxUserExcess.01=\uAD00\uB9AC\uD558\uB294 \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC5D0 \uCD5C\uB300 \uC0AC\uC6A9\uC790\uAC00 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC0AC\uC6A9\uC790\uB97C \uCD94\uAC00\uD558\uB824\uBA74 \uACB0\uC7AC\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. |
| | | workspace.expire.01=\uAD00\uB9AC\uD558\uB294 \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC758 \uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uC0AC\uC6A9\uC744 \uC704\uD574\uC11C\uB294 \uACB0\uC7AC\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. |
| | | workspace.out.01=\uB2E4\uC74C \uC6CC\uD06C\uC2A4\uD398\uC774\uC2A4\uC5D0\uC11C \uAD00\uB9AC\uC790\uC5D0 \uC758\uD574 \uCC38\uC5EC\uAC00 \uC81C\uC678\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.exclude.01=\uD504\uB85C\uC81D\uD2B8\uC5D0\uC11C \uC81C\uC678\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.default.include.01=\uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.manager.exclude.01=\uD504\uB85C\uC81D\uD2B8\uC758 \uAD00\uB9AC\uC790\uC5D0\uC11C \uC81C\uC678\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.manager.include.01=\uD504\uB85C\uC81D\uD2B8\uC5D0 \uAD00\uB9AC\uC790\uB85C \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.etc.managerExcludeAndDefaultInclude.01=\uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790 \uC81C\uC678 \uD6C4 \uC77C\uBC18 \uC0AC\uC6A9\uC790\uB85C \uCC38\uC5EC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | project.etc.defaultExcludeAndManagerInclude.01=\uC77C\uBC18 \uC0AC\uC6A9\uC790\uC5D0\uC11C \uC81C\uC678 \uD6C4 \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uB85C \uC9C0\uC815\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | user.return.emailPassword.01=\uC784\uC2DC \uBE44\uBC00\uBC88\uD638\uC785\uB2C8\uB2E4. |
| | | user.password.guidanceTemporaryPassword=\uC784\uC2DC \uBE44\uBC00\uBC88\uD638 \uBC1C\uAE09 \uC548\uB0B4 |
| | | user.password.pleaseMakeSureChangeYourPassword=\uACE0\uAC1D\uB2D8\uC758 OWL ITS \uACC4\uC815 \uBE44\uBC00\uBC88\uD638 \uBCC0\uACBD\uC744 \uC704\uD574 \uC784\uC2DC \uBE44\uBC00\uBC88\uD638\uB97C \uBC1C\uAE09\uD574 \uB4DC\uB9BD\uB2C8\uB2E4. \uB85C\uADF8\uC778 \uD6C4 \uAF2D \uBE44\uBC00\uBC88\uD638\uB97C \uBCC0\uACBD\uD558\uC2DC\uAE30 \uBC14\uB78D\uB2C8\uB2E4. |
| | | user.password.account=\uACC4\uC815 |
| | | user.password.temporaryPassword=\uC784\uC2DC \uBE44\uBC00\uBC88\uD638\uAC00 \uBC1C\uAE09\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | user.password.login=OWL ITS \uB85C\uADF8\uC778 |
| | | user.hello=\uB2D8, \uC548\uB155\uD558\uC138\uC694. |
| | | user.withDraw.guide=\uD68C\uC6D0 \uD0C8\uD1F4 \uC548\uB0B4 |
| | | user.withDraw.success=\uD68C\uC6D0\uB2D8\uC774 \uC694\uCCAD\uD558\uC2E0 OWL ITS \uD68C\uC6D0 \uD0C8\uD1F4\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uC644\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4.<br/><br/>\uADF8\uB3D9\uC548 \uC774\uC6A9\uD574 \uC8FC\uC154\uC11C \uAC10\uC0AC\uB4DC\uB9BD\uB2C8\uB2E4.<br>\uB2E4\uC2DC \uBC29\uBB38\uD558\uC2E4 \uC218 \uC788\uB3C4\uB85D \uB354\uC6B1\uB354 \uB178\uB825\uD558\uACA0\uC2B5\uB2C8\uB2E4. |
| | | common.common.sendMail=\uBCF8 \uBA54\uC77C\uC740 \uBC1C\uC2E0\uC804\uC6A9 \uBA54\uC77C\uC785\uB2C8\uB2E4. |
New file |
| | |
| | | workspace.join.title=[OWL ITS] Ch\u00E0o m\u1EEBng b\u1EA1n \u0111\u1EBFn v\u1EDBi t\u01B0 c\u00E1ch th\u00E0nh vi\u00EAn. |
| | | workspace.join.01=C\u1EA3m \u01A1n b\u1EA1n \u0111\u00E3 tham gia v\u00E0o OWL ITS Entertainment. B\u1EA1n c\u00F3 th\u1EC3 s\u1EED d\u1EE5ng nhi\u1EC1u ch\u1EE9c n\u0103ng kh\u00E1c nhau m\u00E0 cung c\u1EA5p trong OWL ITS |
| | | workspace.expired=Th\u1EDDi gian s\u1EED d\u1EE5ng kh\u00F4ng gian l\u00E0m vi\u1EC7c OWL ITS \u0111\u00E3 h\u1EBFt h\u1EA1n. |
| | | workspace.expiredAlarm=OWL ITS Th\u1EDDi gian s\u1EED d\u1EE5ng kh\u00F4ng gian l\u00E0m vi\u1EC7c ch\u1EC9 c\u00F2n l\u1EA1i 3 gi\u1EDD th\u00F4i. |
| | | workspace.subscription=Th\u1EDDi gian s\u1EED d\u1EE5ng \u0111\u00E3 h\u1EBFt h\u1EA1n. |
| | | workspace.expiration.date=ng\u00E0y h\u1EBFt h\u1EA1n |
| | | workspace.regular.payment.request=Kh\u00E1ch h\u00E0ng kh\u00F4ng \u0111\u0103ng k\u00FD thanh to\u00E1n \u0111\u1ECBnh k\u1EF3, xin vui l\u00F2ng \u0111\u0103ng k\u00FD thanh to\u00E1n \u0111\u1ECBnh k\u1EF3. |
| | | workspace.invitation.card=gi\u1EA5y m\u1EDDi |
| | | workspace.hello=Xin ch\u00E0o. |
| | | workspace.asked.you=B\u1EA1n c\u00F3 ID l\u00E0 'kh\u00E1ch h\u00E0ng' |
| | | workspace.invited.to=T\u00F4i \u0111\u00E3 m\u1EDDi \u0111\u1EBFn |
| | | workspace.click.button=B\u1EA1n c\u00F3 th\u1EC3 nh\u1EA5n v\u00E0o n\u00FAt b\u00EAn d\u01B0\u1EDBi \u0111\u1EC3 tham gia kh\u00F4ng gian l\u00E0m vi\u1EC7c \u0111\u01B0\u1EE3c m\u1EDDi. OMB c\u00F3 th\u1EC3 qu\u1EA3n l\u00ED v\u00E0 h\u1EE3p t\u00E1c t\u1EA5t c\u1EA3 c\u00E1c v\u1EA5n \u0111\u1EC1 nh\u01B0 m\u1ED9t c\u00F4ng c\u1EE5 qu\u1EA3n l\u00FD d\u1EF1 \u00E1n n\u1EC1n t\u1EA3ng c\u1EE7a v\u1EA5n \u0111\u1EC1 |
| | | workspace.invited.join=B\u1EA1n c\u00F3 th\u1EC3 nh\u1EA5n v\u00E0o n\u00FAt d\u01B0\u1EDBi \u0111\u1EC3 tham gia kh\u00F4ng gian l\u00E0m vi\u1EC7c \u0111\u01B0\u1EE3c m\u1EDDi. |
| | | workspace.capacity.remove=H\u00E3y lo\u1EA1i b\u1ECF c\u00E1c t\u1EADp tin kh\u00F4ng c\u1EA7n thi\u1EBFt ho\u1EB7c th\u00EAm ng\u01B0\u1EDDi d\u00F9ng \u0111\u1EC3 \u0111\u1EA3m b\u1EA3o dung l\u01B0\u1EE3ng. |
| | | workspace.storage.capacity.user=Ng\u01B0\u1EDDi s\u1EED d\u1EE5ng cung c\u1EA5p 5GB. |
| | | workspace.storage.space=Thi\u1EBFu kh\u00F4ng gian l\u01B0u tr\u1EEF trong kh\u00F4ng gian l\u00E0m vi\u1EC7c OWL ITS |
| | | workspace.storage.space.cannot.upload=Kh\u00F4ng gian l\u01B0u tr\u1EEF thi\u1EBFu. N\u1EBFu thi\u1EBFu kh\u00F4ng gian l\u01B0u tr\u1EEF th\u00EC kh\u00F4ng th\u1EC3 t\u1EA3i file \u0111\u01B0\u1EE3c. |
| | | workspace.workspace=[n\u01A1i l\u00E0m vi\u1EC7c] |
| | | workspace.total.storage=t\u1ED5ng dung l\u01B0\u1EE3ng b\u1ED9 nh\u1EDB |
| | | workspace.current.usage=l\u01B0\u1EE3ng s\u1EED d\u1EE5ng hi\u1EC7n t\u1EA1i |
| | | workspace.capacity.remain=dung l\u01B0\u1EE3ng c\u00F2n l\u1EA1i |
| | | workspace.add.capacity.method=ph\u01B0\u01A1ng ph\u00E1p b\u1ED5 sung dung l\u01B0\u1EE3ng |
| | | workspace.maximum.number.user=S\u1ED1 ng\u01B0\u1EDDi s\u1EED d\u1EE5ng t\u1ED1i \u0111a \u0111\u00E3 b\u1ECB v\u01B0\u1EE3t qu\u00E1 trong kh\u00F4ng gian l\u00E0m vi\u1EC7c c\u1EE7a OWL ITS |
| | | workspace.maximum.number.user.invite.inactive=S\u1ED1 ng\u01B0\u1EDDi d\u00F9ng c\u00F3 kh\u1EA3 n\u0103ng k\u00EDch ho\u1EA1t t\u1ED1i \u0111a b\u1ECB v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u01B0\u1EE3ng ng\u01B0\u1EDDi d\u00F9ng \u0111\u01B0\u1EE3c m\u1EDDi n\u00EAn t\u00ECnh tr\u1EA1ng kh\u00F4ng ho\u1EA1t \u0111\u1ED9ng \u0111\u01B0\u1EE3c. |
| | | workspace.maximum.number.active=s\u1ED1 ng\u01B0\u1EDDi d\u00F9ng ho\u1EA1t t\u00EDnh t\u1ED1i \u0111a |
| | | workspace.number.inactive=s\u1ED1 ng\u01B0\u1EDDi d\u00F9ng kh\u00F4ng c\u00F3 t\u00EDnh n\u0103ng |
| | | workspace.user.add.payment=\u0110\u1EC3 thay \u0111\u1ED5i ng\u01B0\u1EDDi s\u1EED d\u1EE5ng kh\u00F4ng c\u00F3 n\u0103ng l\u1EF1c th\u00E0nh ng\u01B0\u1EDDi s\u1EED d\u1EE5ng, th\u00EC c\u1EA7n ph\u1EA3i thanh to\u00E1n b\u1ED5 sung cho ng\u01B0\u1EDDi s\u1EED d\u1EE5ng. |
| | | workspace.shortcut=\u0111i ngay OWL ITS |
| | | workspace.check.user.id=H\u00E3y ki\u1EC3m tra ID \u0111\u00E3 \u0111\u0103ng k\u00FD. |
| | | workspace.user.id=con ng\u01B0\u1EDDi |
| | | workspace.subscription.date=th\u1EDDi gian gia nh\u1EADp |
| | | user.search.password.title=[OWL ITS] m\u1EADt kh\u1EA9u t\u1EA1m th\u1EDDi \u0111\u00E3 \u0111\u01B0\u1EE3c c\u1EA5p. |
| | | user.withDraw.title=[OWL ITS] Vi\u1EC7c r\u00FAt ti\u1EC1n c\u1EE7a b\u1EA1n \u0111\u00E3 ho\u00E0n t\u1EA5t. |
| | | regular.payment.title=[OWL ITS] Thanh to\u00E1n \u0111\u1ECBnh k\u1EF3 \u0111\u01B0\u1EE3c ho\u00E0n th\u00E0nh. |
| | | regular.payment.cancel.accounting.manager.title=[OWL ITS] Ng\u01B0\u1EDDi s\u1EED d\u1EE5ng sau \u0111\u00E3 ho\u00E0n th\u00E0nh vi\u1EC7c h\u1EE7y b\u1ECF thanh to\u00E1n \u0111\u1ECBnh k\u1EF3: mu\u1ED1n y\u00EAu c\u1EA7u ho\u00E0n l\u1EA1i. |
| | | regular.payment.cancel.title=\u0110\u00E3 ho\u00E0n th\u00E0nh vi\u1EC7c gi\u1EA3i quy\u1EBFt thanh to\u00E1n \u0111\u1ECBnh k\u1EF3 [OWL ITS] |
| | | regular.payment.modify.title=Ch\u00FAng t\u00F4i s\u1EBD th\u00F4ng b\u00E1o cho b\u1EA1n v\u1EC1 c\u00E1c thay \u0111\u1ED5i thanh to\u00E1n th\u01B0\u1EDDng xuy\u00EAn. [OWL ITS] |
| | | regular.payment.termination.guide=h\u01B0\u1EDBng d\u1EABn gi\u1EA3i quy\u1EBFt \u0111\u1ECBnh k\u1EF3 |
| | | regular.payment.termination.complete=T\u00F4i \u0111\u00E3 ho\u00E0n th\u00E0nh \u0111\u01A1n xin thanh to\u00E1n \u0111\u1ECBnh k\u1EF3. |
| | | regular.payment.user=s\u1ED1 ng\u01B0\u1EDDi s\u1EED d\u1EE5ng |
| | | regular.payment.workspace=kh\u00F4ng gian l\u01B0u tr\u1EEF d\u1ECBch v\u1EE5 |
| | | regular.payment.service.end=ng\u00E0y h\u1EBFt h\u1EA1n d\u1ECBch v\u1EE5 |
| | | regular.payment.service.remain.day=th\u1EDDi gian s\u1EED d\u1EE5ng c\u00F2n l\u1EA1i |
| | | regular.payment.service.shortcut.workspace=\u0110i th\u1EB3ng \u0111\u1EBFn kh\u020Fng gian l\u00E0m vi\u1EC7c |
| | | regular.payment.service.service.end.date=2 tu\u1EA7n sau khi d\u1ECBch v\u1EE5 k\u1EBFt th\u00FAc <span style="color: #D62525;font-weight:bold;">X\u00F3a t\u1EA5t c\u1EA3 d\u1EEF li\u1EC7u \u0111i l\u00E0m</span>\u0110\u01B0\u1EE3c r\u1ED3i. Tr\u01B0\u1EDBc ng\u00E0y k\u1EBFt th\u00FAc <span style="color: #D62525;font-weight:bold;">Back up d\u1EEF li\u1EC7u c\u1EA7n thi\u1EBFt </span>Mong l\u00E0 c\u00E1c b\u1EA1n s\u1EBD th\u00EDch. |
| | | regular.payment.service.day=th\u1EDDi gian ph\u1EE5c v\u1EE5 |
| | | regular.payment.date=m\u1ED9t th\u1EDDi thanh to\u00E1n |
| | | regular.payment.information=h\u01B0\u1EDBng d\u1EABn chi tr\u1EA3 \u0111\u1ECBnh k\u1EF3 |
| | | regular.payment.service.information=th\u00F4ng tin d\u1ECBch v\u1EE5 |
| | | regular.payment.next.date=Ng\u00E0y thanh to\u00E1n tr\u1EC5 k\u1EF3 sau |
| | | regular.payment.amount=s\u1ED1 ti\u1EC1n thanh to\u00E1n |
| | | regular.payment.using.service=Xin c\u1EA3m \u01A1n qu\u00FD kh\u00E1ch \u0111\u00E3 s\u1EED d\u1EE5ng d\u1ECBch v\u1EE5 OWL ITS. |
| | | regular.payment.complete=\u0110\u00E3 ho\u00E0n th\u00E0nh thanh to\u00E1n \u0111\u1ECBnh k\u1EF3 OLASM m\u00E0 qu\u00FD kh\u00E1ch \u0111\u0103ng k\u00FD. |
| | | regular.payment.person=ng\u01B0\u1EDDi |
| | | regular.payment.won=won |
| | | regular.payment.day=ng\u00E0y |
| | | regular.payment.change.notice=H\u01B0\u1EDBng d\u1EABn thay \u0111\u1ED5i h\u1EA1ng m\u1EE5c thanh to\u00E1n \u0111\u1ECBnh k\u1EF3 |
| | | regular.payment.change.payment=thanh to\u00E1n \u0111\u0103ng k\u00FD thay \u0111\u1ED5i ho\u00E0n th\u00E0nh \u0111\u01B0\u1EE3c \u0111\u1ECBnh k\u1EF3 thanh to\u00E1n b\u1EA5t k\u1EF3 thay \u0111\u1ED5i |
| | | regular.payment.service.charge=ph\u00ED ph\u1EE5c v\u1EE5 |
| | | regular.payment.mean.payment=ph\u01B0\u01A1ng ti\u1EC7n thanh to\u00E1n |
| | | regular.payment.credit.card=th\u1EBB t\u00EDn d\u1EE5ng |
| | | regular.payment.application.time=th\u1EDDi k\u1EF3 \u00E1p d\u1EE5ng |
| | | regular.payment.apply.payment=\u00C1p d\u1EE5ng thanh to\u00E1n \u0111\u1ECBnh k\u1EF3 tr\u01B0\u1EDBc |
| | | regular.payment.automatically=V\u00E0o ng\u00E0y thanh to\u00E1n \u0111\u1ECBnh k\u1EF3, d\u1ECBch v\u1EE5 s\u1EBD \u0111\u01B0\u1EE3c t\u1EF1 \u0111\u1ED9ng thanh to\u00E1n. N\u1EBFu c\u00F3 h\u1EA1ng m\u1EE5c bi\u1EBFn \u0111\u1ED9ng trong d\u1ECBch v\u1EE5 th\u00EC h\u00E3y ch\u1EAFc ch\u1EAFn thay \u0111\u1ED5i tr\u01B0\u1EDBc ng\u00E0y thanh to\u00E1n \u0111\u1ECBnh k\u1EF3. |
| | | workspace.inviteNewUser.title=B\u1EA1n \u0111\u01B0\u1EE3c m\u1EDDi tham gia [OWL ITS]. |
| | | workspace.maxUserExcess.title=S\u1ED1 ng\u01B0\u1EDDi d\u00F9ng t\u1ED1i \u0111a \u0111\u00E3 v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u01B0\u1EE3ng ng\u01B0\u1EDDi d\u00F9ng \u1EDF kh\u00F4ng gian l\u00E0m vi\u1EC7c [OWL ITS] |
| | | workspace.inviteSystemUser.title=B\u1EA1n \u0111\u00E3 \u0111\u01B0\u1EE3c m\u1EDDi \u0111\u1EBFn kh\u00F4ng gian l\u00E0m vi\u1EC7c c\u1EE7a ng\u01B0\u1EDDi d\u00F9ng kh\u00E1c [OWL ITS] |
| | | workspace.expire.title=Th\u1EDDi gian s\u1EED d\u1EE5ng kh\u00F4ng gian l\u00E0m vi\u1EC7c [OWL ITS] s\u1EBD h\u1EBFt h\u1EA1n. |
| | | project.default.exclude.title=N\u00F3 \u0111\u00E3 \u0111\u01B0\u1EE3c lo\u1EA1i tr\u1EEB kh\u1ECFi d\u1EF1 \u00E1n [OWL ITS] |
| | | project.default.include.title=\u0110\u00E3 tham gia d\u1EF1 \u00E1n [OWL ITS] |
| | | project.manager.exclude.title=N\u00F3 \u0111\u00E3 b\u1ECB lo\u1EA1i kh\u1ECFi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n [OWL ITS] |
| | | project.manager.include.title=T\u00F4i tr\u1EDF th\u00E0nh nh\u00E0 qu\u1EA3n l\u00FD d\u1EF1 \u00E1n [OWL ITS] |
| | | project.manager.exclude.default.include.title=Vai tr\u00F2 tham gia c\u1EE7a ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng trong qu\u1EA3n l\u00FD d\u1EF1 \u00E1n [OWL ITS] |
| | | project.default.exclude.manager.include.title=Vai tr\u00F2 tham gia c\u1EE7a ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng \u0111\u01B0\u1EE3c thay \u0111\u1ED5i th\u00E0nh ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. [OWL ITS] |
| | | project.default.project.manager.change=Vai tr\u00F2 tham gia v\u1EDBi t\u01B0 c\u00E1ch l\u00E0 ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n trong ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng OWL ITS \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i |
| | | project.default.project.user.change=Vai tr\u00F2 tham gia c\u1EE7a ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng \u0111\u01B0\u1EE3c thay \u0111\u1ED5i th\u00E0nh ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | project.default.workspaceName=n\u1ED5i danh n\u01A1i l\u00E0m vi\u1EC7c |
| | | project.default.date=ng\u00E0y \u0111\u00E3 qua |
| | | project.default.projectName=T\u00EAn d\u1EF1 \u00E1n |
| | | project.default.projectAdmin=Ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n |
| | | project.default.project.manager=Ngo\u1EA1i tr\u1EEB vi\u1EC7c tham gia d\u1EF1 \u00E1n c\u1EE7a ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | project.default.project.delete=Lo\u1EA1i tr\u1EEB kh\u1ECFi d\u1EF1 \u00E1n OWL ITS |
| | | project.default.project.join=T\u00F4i \u0111\u00E3 tham gia d\u1EF1 \u00E1n OWL ITS |
| | | project.default.project.manager.join=D\u1EF1 \u00E1n \u0111\u01B0\u1EE3c tham gia b\u1EDFi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | project.default.project.manager.user=Vai tr\u00F2 tham gia c\u1EE7a ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng trong qu\u1EA3n l\u00FD d\u1EF1 \u00E1n OWL ITS \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | project.default.project.manager.user.change=Vai tr\u00F2 tham gia c\u1EE7a ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng trong qu\u1EA3n l\u00FD d\u1EF1 \u00E1n \u0111\u00E3 \u0111\u01B0\u1EE3c thay \u0111\u1ED5i. |
| | | project.default.project.manager.delete=\u0110\u00E3 b\u1ECB lo\u1EA1i kh\u1ECFi ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n OWL ITS |
| | | project.default.project.manager.exclude.delete=Lo\u1EA1i tr\u1EEB ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | project.default.project.manager.include.manager=T\u00F4i tr\u1EDF th\u00E0nh ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n OWL ITS. |
| | | project.include.manager=T\u00F4i \u0111\u00E3 tr\u1EDF th\u00E0nh ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | issue.add.title=H\u1ECD \u0111\u00E3 \u0111\u0103ng k\u00FD v\u1EA5n \u0111\u1EC1 [OWL ITS] |
| | | issue.add.occurrence=th\u1EDDi gian ph\u00E1t sinh |
| | | issue.add.registerIssue=C\u00F3 \u0111\u0103ng k\u00FD v\u1EA5n \u0111\u1EC1 OWL ITS |
| | | issue.add.new=\u0110\u00E3 t\u1EA1o ra m\u1ED9t ch\u1EE7 \u0111\u1EC1 m\u1EDBi. |
| | | issue.add.issueName=t\u00EAn c\u1EE7a m\u1ED9t v\u1EA5n \u0111\u1EC1 |
| | | issue.add.content=n\u1ED9i dung |
| | | issue.add.issueType=lo\u1EA1i h\u00ECnh v\u1EA5n \u0111\u1EC1 |
| | | issue.add.issueStatus=t\u00ECnh tr\u1EA1ng c\u1EE7a v\u1EA5n \u0111\u1EC1 |
| | | issue.add.assignee=ng\u01B0\u1EDDi ch\u1ECBu tr\u00E1ch nhi\u1EC7m |
| | | issue.add.schedule=s\u1EF1 c\u1ED1 \u0111\u1ECBnh |
| | | issue.add.priority=t\u1EA7m quan tr\u1ECDng |
| | | issue.add.severity=\u0110\u1EA7u ti\u00EAn l\u00E0 |
| | | issue.add.project=d\u1EF1 \u00E1n |
| | | issue.add.projectKey=Ch\u00ECa kh\u00F3a d\u1EF1 \u00E1n |
| | | issue.add.register=ng\u01B0\u1EDDi \u0111\u0103ng k\u00FD |
| | | issue.add.customField=n\u00E9t c\u1EA7n thi\u1EBFt c\u1EE7a ng\u01B0\u1EDDi d\u00F9ng |
| | | issue.add.attachedFile=t\u1EADp tin \u0111\u00EDnh k\u00E8m |
| | | issue.add.deleteIssue=V\u1EA5n \u0111\u1EC1 OWL ITS \u0111\u00E3 b\u1ECB x\u00F3a. |
| | | issue.add.delete=\u0110\u00E3 x\u00F3a b\u1ECF v\u1EA5n \u0111\u1EC1. |
| | | issue.remove.title=V\u1EA5n \u0111\u1EC1 [OWL ITS] \u0111\u00E3 b\u1ECB x\u00F3a b\u1ECF. |
| | | issue.send.title=[OWL ITS] H\u00E3y ki\u1EC3m tra v\u1EA5n \u0111\u1EC1 \u0111i. |
| | | user.join.statistics.title=[OWL ITS] \u0110\u00E2y l\u00E0 th\u00F4ng tin t\u00ECm \u0111\u1ECDc h\u00E0ng ng\u00E0y c\u1EE7a b\u1EA1n. |
| | | total.statistics.title=[OWL ITS] \u0110i\u1EC1u n\u00E0y c\u1EADp nh\u1EADt tr\u1EA1ng th\u00E1i h\u1EC7 th\u1ED1ng h\u00E0ng ng\u00E0y. |
| | | |
| | | |
| | | |
| | | workspace.inviteSystemUser.01=N\u00F3 \u0111\u01B0\u1EE3c m\u1EDDi \u0111\u1EBFn v\u1EDBi m\u1ED9t b\u1ED9 l\u00E0m vi\u1EC7c m\u1EDBi trong OWL ITS \u0111ang s\u1EED d\u1EE5ng. |
| | | workspace.inviteNewUser.01=T\u00F4i xin m\u1EDDi b\u1EA1n \u0111\u1EBFn v\u1EDBi OWL ITS, h\u1EC7 th\u1ED1ng qu\u1EA3n l\u00FD v\u1EA5n \u0111\u1EC1. N\u1EBFu b\u1EA1n gia nh\u1EADp h\u1ED9i vi\u00EAn b\u1EB1ng t\u00E0i kho\u1EA3n e-mail b\u1EA1n nh\u1EADn \u0111\u01B0\u1EE3c th\u00EC b\u1EA1n c\u00F3 th\u1EC3 tham gia t\u1EF1 \u0111\u1ED9ng trong worksheet / Project. |
| | | workspace.maxUserExcess.01=\u0110\u00E3 v\u01B0\u1EE3t qu\u00E1 ng\u01B0\u1EDDi s\u1EED d\u1EE5ng t\u1ED1i \u0111a tr\u00EAn tinh th\u1EA7n l\u00E0m vi\u1EC7c qu\u1EA3n l\u00FD. N\u1EBFu mu\u1ED1n th\u00EAm ng\u01B0\u1EDDi d\u00F9ng th\u00EC c\u1EA7n ph\u1EA3i c\u00F3 ph\u00E1n quy\u1EBFt. |
| | | workspace.expire.01=Th\u1EDDi gian s\u1EED d\u1EE5ng c\u1EE7a g\u01B0\u01A1ng nh\u00E2n vi\u00EAn qu\u1EA3n l\u00FD \u0111\u00E3 h\u1EBFt h\u1EA1n. S\u1EED d\u1EE5ng c\u00E1i n\u00E0y th\u00EC c\u1EA7n ph\u1EA3i c\u00F3 b\u1EA3n th\u1EA3o. |
| | | workspace.expire.alarm.title=[OWL ITS] Kh\u00F4ng gian l\u00E0m vi\u1EC7c ch\u1EC9 c\u00F2n 3. |
| | | workspace.out.01=Trong khu\u00F4n vi\u00EAn workstation ti\u1EBFp theo \u0111\u00E3 b\u1ECB lo\u1EA1i b\u1ECF tham gia c\u1EE7a ng\u01B0\u1EDDi qu\u1EA3n l\u00FD |
| | | project.default.exclude.01=\u0110\u00E3 b\u1ECB lo\u1EA1i kh\u1ECFi d\u1EF1 \u00E1n |
| | | project.default.include.01=\u0110\u00E3 tham gia v\u00E0o d\u1EF1 \u00E1n. |
| | | project.manager.exclude.01=Lo\u1EA1i tr\u1EEB kh\u1ECFi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | project.manager.include.01=D\u1EF1 \u00E1n \u0111\u00E3 \u0111\u01B0\u1EE3c ch\u1EC9 \u0111\u1ECBnh l\u00E0 ng\u01B0\u1EDDi qu\u1EA3n l\u00FD. |
| | | project.etc.managerExcludeAndDefaultInclude.01=Ngo\u1EA1i tr\u1EEB ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n, \u0111\u00E3 tham gia ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng |
| | | project.etc.defaultExcludeAndManagerInclude.01=\u0110\u00E3 \u0111\u01B0\u1EE3c ch\u1EC9 \u0111\u1ECBnh l\u00E0 ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n sau khi lo\u1EA1i tr\u1EEB ng\u01B0\u1EDDi s\u1EED d\u1EE5ng th\u00F4ng th\u01B0\u1EDDng. |
| | | user.return.emailPassword.01=\u0110\u00E2y l\u00E0 m\u1EADt kh\u1EA9u t\u1EA1m th\u1EDDi. |
| | | user.password.guidanceTemporaryPassword=H\u01B0\u1EDBng d\u1EABn vi\u00EAn \u0111\u01B0\u1EE3c c\u1EA5p m\u1EADt kh\u1EA9u t\u1EA1m th\u1EDDi |
| | | user.password.pleaseMakeSureChangeYourPassword=Ch\u00FAng t\u00F4i s\u1EBD c\u1EA5p m\u1ED9t m\u1EADt kh\u1EA9u t\u1EA1m th\u1EDDi \u0111\u1EC3 thay \u0111\u1ED5i m\u1EADt kh\u1EA9u t\u00E0i kho\u1EA3n OW c\u1EE7a qu\u00ED kh\u00E1ch.Sau khi \u0111\u0103ng nh\u1EADp, vui l\u00F2ng thay \u0111\u1ED5i m\u1EADt kh\u1EA9u. |
| | | user.password.account=t\u00E0i kho\u1EA3n |
| | | user.password.temporaryPassword=m\u1EADt kh\u1EA9u t\u1EA1m th\u1EDDi |
| | | user.password.login=\u0110\u0103ng nh\u1EADp v\u00E0o OWL ITS |
| | | user.hello=Xin ch\u00E0o. |
| | | user.withDraw.guide=h\u01B0\u1EDBng d\u1EABn r\u00FAt lui th\u00E0nh vi\u00EAn |
| | | user.withDraw.success=Vi\u1EC7c r\u00FAt kh\u1ECFi c\u00E1c th\u00E0nh vi\u00EAn OLASI do h\u1ED9i vi\u00EAn y\u00EAu c\u1EA7u \u0111\u00E3 \u0111\u01B0\u1EE3c ho\u00E0n th\u00E0nh th\u00E0nh c\u00F4ng.<br/><br/>C\u1EA3m \u01A1n v\u00EC \u0111\u00E3 s\u1EED d\u1EE5ng trong th\u1EDDi gian qua.<br>\u0111\u1EC3 c\u00F3 th\u1EC3 gh\u00E9 th\u0103m l\u1EA1i l\u1EA7n n\u1EEFa. |
| | | common.common.sendMail=Email n\u00E0y l\u00E0 email s\u1EED d\u1EE5ng \u0111\u1EC3 g\u1EEDi. |
New file |
| | |
| | | ERR_FAILED_CONVERT_OBJECT = Data conversion failed. |
| | | TARGET_OBJECT_IS_NULL = Target object is null. |
| | | SOURCE_OBJECT_IS_NULL = Source object is null. |
| | | ERR_FAILED_CONVERT_JSON = Json conversion of request data failed. |
| | | NOT_READABLE_JSON_DATA = Unable to read Json data. |
| | | SUCCESS_REQUEST = The request was successful. |
| | | SESSION_EXPIRED = User session has ended. |
| | | |
| | | |
| | | |
| | | |
| | | PROJECT_NAME_MAX_LENGTH_OUT = Project names can be up to 50 characters long. |
| | | DATE_PICKER_NOT_AVAILABLE = Invalid date selection. |
| | | PROJECT_NOT_EXIST = Project does not exist |
| | | PROJECT_NOT_MANAGER = Project Manager does not exist. |
| | | PROJECT_NOT_MODIFY_PERMISSION = You do not have project management privileges. |
| | | PROJECT_NOT_NAME = Project name is not entered. |
| | | PROJECT_NOT_STATUS = The status of the project is not selected. |
| | | DATE_NOT_EXIST = No period selected. |
| | | PROJECT_OVER_LENGTH_PROJECT_KEY = Project keys can only be up to 10 characters long. |
| | | PROJECT_KEY_NOT_EXIST = Project key not entered. |
| | | PROJECT_USED_NAME = Project name is already in use. |
| | | DEFAULT_PROJECT_NOT_REMOVE = You cannot delete a built-in project. |
| | | PROJECT_REMOVE_NOT_SELECT = No project selected to delete. |
| | | PROJECT_NOT_INCLUDE_USER = This is a user who is not participating in a project. |
| | | PROJECT_USED_PROJECT_KEY = Project key is already in use. |
| | | |
| | | PAYMENT_TYPE_NOT_EXIST = No payment method selected. |
| | | PAYMENT_NOT_EXIST = There is no payment information |
| | | PAYMENT_EXECUTE_ONLY_WORKSPACE_MANAGER = Payment can only be made by the workspace manager. |
| | | PAYMENT_BUY_USER_MUST_BE_GREATER_THAN_ZERO = The number of users you want to pay must be greater than 0. |
| | | PAYMENT_NO_TYPE = Payment type not entered. |
| | | PAYMENT_HISTORY_NOT_EXIST = No payment history information. |
| | | |
| | | USER_WORKSPACE_MANAGER_NOT_EXIST = Workspace Manager information does not exist |
| | | OAUTH_STATE_VALUE_NOT_EQUAL = OAuth authentication failed. |
| | | WORKSPACE_NOT_EXIST = Workspace does not exist |
| | | WORKSPACE_STORAGE_SIZE_EXCESS = The workspace storage space has been Organize unnecessary files. |
| | | WORKSPACE_MANAGER_NOT_CHANGE_USE_YN = Workspace Manager cannot be changed to Disabled. |
| | | WORKSPACE_PERIOD_REMAIN = There is a period of working space remaining. |
| | | WORKSPACE_USE_PERIOD_EXCESS = The Create, Modify, Delete, and Image/Excel download features are out of service. |
| | | WORKSPACE_INCLUDE_DISABLED = The Create, Modify, Delete, and Image/Excel download functions are not available because they are inactive in that workspace. |
| | | |
| | | ATTACHED_FILE_NOT_EXIST = Profile files can only be jpg and png. |
| | | |
| | | START_ISSUE_STATUS_NOT_EXIST = The starting issue state does not exist. |
| | | END_ISSUE_STATUS_NOT_EXIST = The exiting issue state does not exist. |
| | | |
| | | EMAIL_NOT_SEND = Unable to send mail. |
| | | INVITE_USER_USED_WORKSPACE = The user is already involved in the workspace. |
| | | |
| | | PROJECT_ROLE_NOT_EXIST = Project role does not exist. |
| | | WORKSPACE_NOT_NAME = No workspace name entered. |
| | | WORKSPACE_MAX_USER_EXCESS = The maximum number of users in the workspace has been exceeded. If the maximum number of users is exceeded, the invitee will not be able to access the workspace. |
| | | WORKSPACE_MAX_USER_EXCESS_NOT_INCLUDE = The maximum number of users in the workspace has been exceeded and cannot be changed to a participating state. |
| | | WORKSPACE_NAME_MAX_LENGTH_OUT = Workspaces can be up to 50 characters long. |
| | | |
| | | DEFAULT_PROJECT_MANAGER_NOT_CHANGE = The manager of the built-in project must have a workspace manager. |
| | | |
| | | |
| | | ISSUE_STATUS_NOT_ID = Issue status ID is not entered. |
| | | ISSUE_STATUS_NAME_MAX_LENGTH_OUT = Issue status names can be up to 50 characters long. |
| | | ISSUE_STATUS_NOT_NAME = Issue status name is not entered. |
| | | ISSUE_STATUS_NOT_COLOR = Issue status color is not entered. |
| | | ISSUE_STATUS_USED_NAME = Issue status name is already in use. |
| | | ISSUE_STATUS_REMOVE_NOT_SELECT = Issue state to delete is not selected. |
| | | DEFAULT_ISSUE_STATUS_NOT_REMOVE = You cannot delete the built-in issue status. |
| | | ISSUE_STATUS_NOT_EXIST = Issue state does not exist. |
| | | READY_ISSUE_STATUS_NOT_EXIST = Issue state with issue status type waiting could not be found. |
| | | ISSUE_STATUS_CHANGE_NOT_TARGET = Unable to change to the selected issue state. Check out your workflow. |
| | | ISSUE_STATUS_USE_ISSUES = There are issues that are using the status of the issue. |
| | | ISSUE_STATUS_USE_WORKFLOW = There is a workflow that is using the issue state. |
| | | |
| | | WORKFLOW_NOT_EXIST = Workflow does not exist. |
| | | WORKFLOW_NOT_NAME = Workflow name is not entered. |
| | | WORKFLOW_NAME_MAX_LENGTH_OUT = Workflow names can be up to 20 characters long. |
| | | WORKFLOW_USED_NAME = Workflow name is already in use. |
| | | WORKFLOW_TRANSITION_NOT_EXIST = Workflow transfer does not exist. |
| | | WORKFLOW_USED_ISSUE_TYPE = Cannot delete workflow because it is used by issue type. |
| | | WORKFLOW_ISOLATION = Isolated issue state exists in workflow. |
| | | WORKFLOW_REMOVE_NOT_SELECT = No workflow selected to delete. |
| | | |
| | | CUSTOM_FIELD_NOT_EXIST = Custom field does not exist. |
| | | CUSTOM_FIELD_NOT_NAME = User-defined field name is not entered. |
| | | CUSTOM_FIELD_NAME_MAX_LENGTH_OUT = User-defined field names can be up to 50 characters long. |
| | | CUSTOM_FIELD_USED_NAME = User-defined field name is already in use. |
| | | CUSTOM_FIELD_REMOVE_NOT_SELECT = No custom fields are selected to delete. |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_INPUT_FIELD = The string field cannot use the option value. |
| | | CUSTOM_FIELD_OPTIONS_NOT_EXIST_DEFAULT_VALUE = User-defined field default value does not exist in option. |
| | | CUSTOM_FIELD_OPTIONS_USED_EXIST_DEFAULT_VALUE = Duplicate values exist in user-defined field default values. |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_MULTI_DEFAULT_VALUE = You cannot specify more than one default value for user-defined field option values. |
| | | CUSTOM_FIELD_OPTIONS_NOT_EMPTY_VALUE = Unable to register spaces with user-defined field option values. |
| | | CUSTOM_FIELD_OPTIONS_NOT_VALUE = User-defined field option value is not entered. |
| | | CUSTOM_FIELD_TEXT_TYPE_MAX_LENGTH_OUT = User-defined string fields can be up to 100 characters long. |
| | | CUSTOM_FIELD_DEFAULT_VALUE_MAX_LENGTH_OUT = The default value field for a custom field can contain up to 100 characters. |
| | | CUSTOM_FIELD_OPTION_VALUE_MAX_LENGTH_OUT = User-defined field option values can be up to 15 characters long. |
| | | |
| | | ISSUE_TYPE_NOT_EXIST = Issue type does not exist. |
| | | ISSUE_TYPE_NOT_NAME = Issue type name is not entered. |
| | | ISSUE_TYPE_NAME_MAX_LENGTH_OUT = Issue type can be up to 50 characters long. |
| | | ISSUE_TYPE_USED_NAME = Issue type name is already used. |
| | | ISSUE_TYPE_REMOVE_NOT_SELECT = No issue type selected to delete. |
| | | ISSUE_TYPE_NOT_COLOR = No color entered for issue type. |
| | | ISSUE_TYPE_USE_ISSUES = There are issues using issue types. |
| | | |
| | | PRIORITY_NOT_EXIST = Priority does not exist. |
| | | SEVERITY_NOT_EXIST = Importance does not exist. |
| | | |
| | | ISSUE_NOT_EXIST = Issue does not exist |
| | | ISSUE_NUMBER_GENERATOR_NOT_EXIST = An error occurred while generating the issue number. |
| | | ISSUE_NUMBER_NOT_EXIST = Issue number does not exist |
| | | ISSUE_TITLE_MAX_LENGTH_OUT = Issue title can be up to 300 characters long. |
| | | ISSUE_NOT_MODIFY_PERMISSION = You do not have permission to correct the issue. |
| | | ISSUE_REMOVE_NOT_SELECT = No issues selected to delete. |
| | | ISSUE_NO_TITLE = Issue title is not entered. |
| | | ISSUE_NOT_SEND_USER = Issue Send To is not selected. |
| | | |
| | | ISSUE_COMMENT_REMOVE_NOT_SELECT = You have not selected a comment to delete. |
| | | ISSUE_COMMENT_NOT_EXIST = The comment does not exist. |
| | | ISSUE_COMMENT_NOT_REMOVE_PERMISSION = You do not have permission to delete comments. |
| | | ISSUE_COMMENT_NOT_COMMENT = No comments have been entered. |
| | | ISSUE_COMMENT_MAX_LENGTH_OUT = Comments can be up to 300 characters long. |
| | | |
| | | USER_WORKSPACE_NOT_EXIST = Workspace user connection information does not exist. |
| | | |
| | | WIDGET_SEARCH_DATE_NOT_FOUND = Widget search date not found. |
| | | |
| | | USER_NO_NAME = No name was entered. |
| | | USER_NAME_LENGTH_EXCESS = Username can only be up to 50 characters long. |
| | | USER_NO_EMAIL = Email address is not entered. |
| | | USER_INVALID_EMAIL = Invalid email address. |
| | | USER_USED_EMAIL = This email address is already registered. |
| | | USER_NO_PASSWORD = The password has not been entered |
| | | USER_NOT_MODIFY_SELF = You cannot modify other people's information. |
| | | USER_PHONE_MAX_LENGTH_OUT = Contact can be up to 20 characters long. |
| | | USER_PHONE_ONLY_NUMBER = Contact can only be entered with numbers. |
| | | USER_PASSWORD_MAX_LENGTH_OUT = Passwords can be up to 20 characters long. |
| | | USER_PASSWORD_NOT_SAME_CONFIRM_PASSWORD = The password entered in the Confirm new password field is different. |
| | | USER_INVALID_CURRENT_PASSWORD = The current password entered is invalid. |
| | | USER_PASSWORD_SAME_NEW_PASSWORD = The password you are using must be different from the one you are trying to change. |
| | | USER_INVALID_LICENSEKEY = The current license key entered is invalid. |
| | | USER_WITH_DRAW_EXIST = The account has a membership withdrawal record. |
| | | USER_PROFILE_SIZE_NOT_ALLOW = User profile size is too large. Please upload to a file that is less than 10MB |
| | | USER_PROFILE_UPLOAD_FILE_TYPE_NOT_ALLOW = Profile files can only be jpg and png. |
| | | USER_NOT_EQUAL_PASSWORD = The password does not match. |
| | | USER_NOT_EXIST = User does not exist. |
| | | USER_NOT_AUTHORIZED = You do not have user authentication privileges. |
| | | USER_EXPIRED_PASSWORD = Your password has expired. |
| | | USER_RETURN_PASSWORD_NOT_PROVIDER_SOCIAL_JOIN_USER = The Find Password feature is not available to social account subscribers. |
| | | USER_NOT_USE_ACTIVE_STATUS = Users cannot log in unless they are active. |
| | | |
| | | EXCEL_NOT_EXTENSION = Only Excel file extensions (xlsx) can be uploaded. |
| | | EXCEL_DOWNLOAD_MAX_ROWS_OVER = Only 10,000 Excel downloads are available. Change the list to 10,000 or fewer queries using the search criteria to proceed with the download. |
| | | EXCEL_CONDITIONS_NOT_EXIST = Unable to find the search criteria required for Excel download. |
| | | EXCEL_EMPTY_CELL = Excel header partial cell not found. There is a problem with the Excel Creation Form. |
| | | EXCEL_HEADER_EMPTY_CELL = There is an empty cell in the Excel header. |
| | | EXCEL_IMPORT_ISSUE_TITLE_IS_NULL=Issue title is not entered in the following Excel line: \n Line Information : {0} |
| | | EXCEL_IMPORT_PROJECT_KEY_IS_NULL=The project key has not been entered on the following Excel line: \n Line Information : {0} |
| | | EXCEL_IMPORT_PROJECT_NOT_EXIST=No projects are retrieved with the entered project key on the following Excel line: \n Line Information : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_IS_NULL=Issue type name is not entered in the following Excel line: \n Line Information : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_NOT_EXIST=No issue type is retrieved with the issue type entered in the following Excel line: \n Line Information : {0} |
| | | EXCEL_IMPORT_PRIORITY_IS_NULL=Priority name is not entered on the following Excel line: \n Line Information : {0} |
| | | EXCEL_IMPORT_PRIORITY_NOT_EXIST=No priority is retrieved with the entered priority name on the following Excel line. \n Line Information : {0} |
| | | EXCEL_IMPORT_SEVERITY_IS_NULL=No criticality names were entered on the following Excel lines: \n Line Information : {0} |
| | | EXCEL_IMPORT_SEVERITY_NOT_EXIST=No priority is retrieved with the entered criticality name on the following Excel line. \n Line Information : {0} |
| | | EXCEL_CUSTOM_FIELD_VALUE_NOT_VALIDITY=The user-defined field value entered on the following Excel lines is invalid. \n Line Information : {0} |
| | | EXCEL_IMPORT_HEADER_CUSTOM_FIELD_NOT_EXIST=The custom field you are trying to register could not be found. The user-defined field has been renamed or deleted. \n Line Information : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY= There is a problem with the start and end dates entered on the next Excel line. The start date must be earlier than the end date. \n Line Information : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY=There is a problem with the start and end dates entered on the next Excel line. Make sure that the space is included before removing the space. \n Line Information : {0} |
| | | EXCEL_IMPORT_MAX_ROWS_OVER = With Excel upload, you can register up to 10,000 issues. If you receive this message if there are less than 10,000 Excels created, please delete all rows after the last row created and try again. |
| | | RESERVATION_EMAIL_TITLE=[OWL ITS] Next Day Issue and Activity Status. |
| | | |
| | | ISSUE_RESERVATION_VALUE_INVALID=Invalid reservation date for issue. |
| | | ISSUE_RESERVATION_NOT_EXIST=Issue generated reservation information does not exist. |
| | | |
| | | FILE_TYPE_NOT_ALLOW = Unauthorized file type. |
| | | WORKSPACE_OUT=You have been excluded from the following workspace: ({0}) |
| | | |
| | | NOTICE_NOT_EXIST=Notice does not exist. |
| | | NOTICE_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | FAQ_NOT_EXIST=FAQ does not exist. |
| | | FAQ_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | GUIDE_NOT_EXIST=Guide does not exist. |
| | | GUIDE_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | EVENT_NOT_EXIST=Event does not exist. |
| | | EVENT_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | QNA_NOT_EXIST=QNA does not exist. |
| | | QNA_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
New file |
| | |
| | | ERR_FAILED_CONVERT_OBJECT = \u30C7\u30FC\u30BF\u5909\u63DB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 |
| | | TARGET_OBJECT_IS_NULL = \u30BF\u30B2\u30C3\u30C8\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304CNull\u3067\u3059\u3002 |
| | | SOURCE_OBJECT_IS_NULL = \u30BD\u30FC\u30B9\u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u304CNull\u3067\u3059\u3002 |
| | | ERR_FAILED_CONVERT_JSON = \u8981\u8ACB\u30C7\u30FC\u30BF\u306Ejson\u5909\u63DB\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 |
| | | NOT_READABLE_JSON_DATA = Json\u30C7\u30FC\u30BF\u304C\u8AAD\u3081\u307E\u305B\u3093\u3002 |
| | | SUCCESS_REQUEST = \u8981\u8ACB\u304C\u6210\u529F\u3057\u307E\u3057\u305F |
| | | SESSION_EXPIRED = \u30E6\u30FC\u30B6\u30BB\u30C3\u30B7\u30E7\u30F3\u304C\u7D42\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | |
| | | |
| | | |
| | | |
| | | PROJECT_NAME_MAX_LENGTH_OUT = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u306F\u6700\u592750\u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | DATE_PICKER_NOT_AVAILABLE = \u65E5\u4ED8\u306E\u9078\u629E\u304C\u9593\u9055\u3063\u3066\u3044\u307E\u3057\u305F\u3002 |
| | | PROJECT_NOT_EXIST = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | PROJECT_NOT_MANAGER = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u8005\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | PROJECT_NOT_MODIFY_PERMISSION = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u7BA1\u7406\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002 |
| | | PROJECT_NOT_NAME = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | PROJECT_NOT_STATUS = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u72B6\u614B\u304C\u9078\u629E\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | DATE_NOT_EXIST = \u671F\u9593\u304C\u9078\u3070\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | PROJECT_OVER_LENGTH_PROJECT_KEY = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30AD\u30FC\u306F\u6700\u592710 \u6587\u5B57\u306E\u307F\u5165\u529B\u53EF\u80FD\u3067\u3059\u3002 |
| | | PROJECT_KEY_NOT_EXIST = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30AD\u30FC\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | PROJECT_USED_NAME = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u540D\u304C\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u3002 |
| | | DEFAULT_PROJECT_NOT_REMOVE = \u57FA\u672C\u306B\u63D0\u4F9B\u3055\u308C\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306F\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | PROJECT_REMOVE_NOT_SELECT = \u524A\u9664\u3059\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u9078\u3070\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | PROJECT_NOT_INCLUDE_USER = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306B\u53C2\u52A0\u3057\u3066\u3044\u306A\u3044\u30E6\u30FC\u30B6\u3067\u3059\u3002 |
| | | PROJECT_USED_PROJECT_KEY = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30AD\u30FC\u304C\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u3002 |
| | | |
| | | PAYMENT_TYPE_NOT_EXIST = \u6C7A\u6E08\u65B9\u5F0F\u304C\u9078\u3070\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | PAYMENT_NOT_EXIST = \u6C7A\u6E08\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093\u3002 |
| | | PAYMENT_EXECUTE_ONLY_WORKSPACE_MANAGER = \u6C7A\u6E08\u306F\u696D\u52D9\u7A7A\u9593\u7BA1\u7406\u8005\u306E\u307F\u884C\u3046\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | PAYMENT_BUY_USER_MUST_BE_GREATER_THAN_ZERO = \u6C7A\u6E08\u3057\u3088\u3046\u3068\u3059\u308B\u30E6\u30FC\u30B6\u30FC\u6570\u306F0\u3088\u308A\u5927\u304D\u304F\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002 |
| | | PAYMENT_NO_TYPE = \u6C7A\u6E08\u30BF\u30A4\u30D7\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | PAYMENT_HISTORY_NOT_EXIST = \u6C7A\u6E08\u5C65\u6B74\u60C5\u5831\u304C\u3042\u308A\u307E\u305B\u3093\u3002 |
| | | |
| | | USER_WORKSPACE_MANAGER_NOT_EXIST = \u696D\u52D9\u7A7A\u9593\u7BA1\u7406\u8005\u60C5\u5831\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | OAUTH_STATE_VALUE_NOT_EQUAL = OAuth \u8A8D\u8A3C\u306B\u5931\u6557\u3057\u307E\u3057\u305F\u3002 |
| | | WORKSPACE_NOT_EXIST = \u696D\u52D9\u7A7A\u9593\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | WORKSPACE_STORAGE_SIZE_EXCESS = \u696D\u52D9\u7A7A\u9593\u4FDD\u5B58\u7A7A\u9593\u304C\u8D85\u904E\u3057\u307E\u3057\u305F\u3002 \u4E0D\u8981\u306A\u30D5\u30A1\u30A4\u30EB\u3092\u6574\u7406\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | WORKSPACE_MANAGER_NOT_CHANGE_USE_YN = \u696D\u52D9\u7A7A\u9593\u7BA1\u7406\u8005\u306F\u975E\u6D3B\u6027\u5316\u306B\u5909\u66F4\u3055\u308C\u307E\u305B\u3093\u3002 |
| | | WORKSPACE_PERIOD_REMAIN = \u696D\u52D9\u7A7A\u9593\u4F7F\u7528\u671F\u9593\u304C\u6B8B\u3063\u3066\u3044\u307E\u3059\u3002 |
| | | WORKSPACE_USE_PERIOD_EXCESS = \u696D\u52D9\u7A7A\u9593\u4F7F\u7528\u671F\u9593\u304C\u7D42\u4E86\u3057,\u751F\u6210,\u4FEE\u6B63,\u524A\u9664,\u30A4\u30E1\u30FC\u30B8/\u30A8\u30AF\u30BB\u30EB\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u6A5F\u80FD\u304C\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | WORKSPACE_INCLUDE_DISABLED = \u5F53\u8A72\u696D\u52D9\u7A7A\u9593\u3067\u4E0D\u6D3B\u6027\u72B6\u614B\u3067\u3042\u308B\u305F\u3081,\u751F\u6210,\u4FEE\u6B63,\u524A\u9664,\u30A4\u30E1\u30FC\u30B8/\u30A8\u30AF\u30BB\u30EB\u306E\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u6A5F\u80FD\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | |
| | | ATTACHED_FILE_NOT_EXIST = \u30D7\u30ED\u30D5\u30A3\u30FC\u30EB\u30D5\u30A1\u30A4\u30EB\u306Fjpg,png\u306E\u307F\u53EF\u80FD\u3067\u3059\u3002 |
| | | |
| | | START_ISSUE_STATUS_NOT_EXIST = \u59CB\u3081\u308B\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | END_ISSUE_STATUS_NOT_EXIST = \u7D42\u4E86\u3059\u308B\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | |
| | | EMAIL_NOT_SEND = \u30E1\u30FC\u30EB\u304C\u8EE2\u9001\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | INVITE_USER_USED_WORKSPACE = \u5F53\u8A72\u30E6\u30FC\u30B6\u30FC\u306F\u65E2\u306B\u696D\u52D9\u7A7A\u9593\u306B\u53C2\u52A0\u3057\u3066\u3044\u307E\u3059\u3002 |
| | | |
| | | PROJECT_ROLE_NOT_EXIST = \u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u5F79\u5272\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | WORKSPACE_NOT_NAME = \u696D\u52D9\u7A7A\u9593\u540D\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | WORKSPACE_MAX_USER_EXCESS = \u696D\u52D9\u7A7A\u9593\u306E\u6700\u5927\u30E6\u30FC\u30B6\u30FC\u6570\u304C\u8D85\u904E\u3057\u307E\u3057\u305F\u3002 \u6700\u5927\u30E6\u30FC\u30B6\u30FC\u6570\u304C\u8D85\u904E\u3059\u308B\u3068,\u62DB\u5F85\u3055\u308C\u305F\u30E6\u30FC\u30B6\u30FC\u304C\u305D\u306E\u696D\u52D9\u30B9\u30DA\u30FC\u30B9\u306B\u30A2\u30AF\u30BB\u30B9\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | WORKSPACE_MAX_USER_EXCESS_NOT_INCLUDE = \u696D\u52D9\u7A7A\u9593\u306E\u6700\u5927\u30E6\u30FC\u30B6\u6570\u304C\u8D85\u904E\u3057,\u53C2\u52A0\u72B6\u614B\u306B\u5909\u66F4\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | WORKSPACE_NAME_MAX_LENGTH_OUT = \u696D\u52D9\u7A7A\u9593\u540D\u306F\u6700\u592750 \u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | |
| | | DEFAULT_PROJECT_MANAGER_NOT_CHANGE = \u57FA\u672C\u63D0\u4F9B\u3055\u308C\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u7BA1\u7406\u8005\u306F\u696D\u52D9\u7A7A\u9593\u7BA1\u7406\u8005\u304C\u3044\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002 |
| | | |
| | | |
| | | ISSUE_STATUS_NOT_ID = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u306EID\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_STATUS_NAME_MAX_LENGTH_OUT = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u540D\u306F\u6700\u592750 \u6587\u5B57\u307E\u3067\u5165\u529B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | ISSUE_STATUS_NOT_NAME = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u540D\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_STATUS_NOT_COLOR = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u306E\u8272\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_STATUS_USED_NAME = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u540D\u304C\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u3002 |
| | | ISSUE_STATUS_REMOVE_NOT_SELECT = \u524A\u9664\u3059\u308B\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u304C\u9078\u3070\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | DEFAULT_ISSUE_STATUS_NOT_REMOVE = \u57FA\u672C\u7684\u306B\u63D0\u4F9B\u3055\u308C\u308B\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u306F\u524A\u9664\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | ISSUE_STATUS_NOT_EXIST = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | READY_ISSUE_STATUS_NOT_EXIST = "\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u306E\u985E\u578B\u304C\u5927\u6C17\u306E\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | ISSUE_STATUS_CHANGE_NOT_TARGET = \u9078\u629E\u3057\u305F\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u306B\u5909\u66F4\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | ISSUE_STATUS_USE_ISSUES = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30A4\u30B7\u30E5\u30FC\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002 |
| | | ISSUE_STATUS_USE_WORKFLOW = \u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002 |
| | | |
| | | WORKFLOW_NOT_EXIST = \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | WORKFLOW_NOT_NAME = \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u540D\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | WORKFLOW_NAME_MAX_LENGTH_OUT = \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u540D\u306F\u6700\u592720\u6587\u5B57\u307E\u3067\u5165\u529B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | WORKFLOW_USED_NAME = \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u540D\u304C\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u3002 |
| | | WORKFLOW_TRANSITION_NOT_EXIST = \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u8EE2\u79FB\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | WORKFLOW_USED_ISSUE_TYPE = \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C\u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u524A\u9664\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | WORKFLOW_ISOLATION = \u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u306B\u5B64\u7ACB\u3057\u305F\u30A4\u30B7\u30E5\u30FC\u72B6\u614B\u304C\u5B58\u5728\u3057\u307E\u3059\u3002 |
| | | WORKFLOW_REMOVE_NOT_SELECT = \u524A\u9664\u3059\u308B\u30EF\u30FC\u30AF\u30D5\u30ED\u30FC\u304C\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | |
| | | CUSTOM_FIELD_NOT_EXIST = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | CUSTOM_FIELD_NOT_NAME = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | CUSTOM_FIELD_NAME_MAX_LENGTH_OUT = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u306F\u6700\u592750 \u6587\u5B57\u307E\u3067\u5165\u529B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | CUSTOM_FIELD_USED_NAME = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u540D\u304C\u65E2\u306B\u4F7F\u7528\u3055\u308C\u3066\u3044\u307E\u3059\u3002 |
| | | CUSTOM_FIELD_REMOVE_NOT_SELECT = \u524A\u9664\u3059\u308B\u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u9078\u629E\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_INPUT_FIELD = \u6587\u5B57\u5217\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u30AA\u30D7\u30B7\u30E7\u30F3\u5024\u3092\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | CUSTOM_FIELD_OPTIONS_NOT_EXIST_DEFAULT_VALUE = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u57FA\u672C\u5024\u304C\u30AA\u30D7\u30B7\u30E7\u30F3\u306B\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | CUSTOM_FIELD_OPTIONS_USED_EXIST_DEFAULT_VALUE = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u57FA\u672C\u5024\u306B\u91CD\u8907\u3057\u305F\u5024\u304C\u5B58\u5728\u3057\u307E\u3059\u3002 |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_MULTI_DEFAULT_VALUE = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u30AA\u30D7\u30B7\u30E7\u30F3\u5024\u306B\u5BFE\u3059\u308B\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u3068\u3057\u30662\u3064\u4EE5\u4E0A\u6307\u5B9A\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093 |
| | | CUSTOM_FIELD_OPTIONS_NOT_EMPTY_VALUE = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u30AA\u30D7\u30B7\u30E7\u30F3\u5024\u306B\u7A7A\u767D\u3092\u767B\u9332\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | CUSTOM_FIELD_OPTIONS_NOT_VALUE = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u30AA\u30D7\u30B7\u30E7\u30F3\u5024\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | CUSTOM_FIELD_TEXT_TYPE_MAX_LENGTH_OUT = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u6587\u5B57\u5217\u30D5\u30A3\u30FC\u30EB\u30C9\u306F\u6700\u5927100 \u6587\u5B57\u307E\u3067\u5165\u529B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | CUSTOM_FIELD_DEFAULT_VALUE_MAX_LENGTH_OUT = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u57FA\u672C\u5024\u30D5\u30A3\u30FC\u30EB\u30C9\u306F,\u6700\u5927100 \u6587\u5B57\u307E\u3067\u5165\u529B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | CUSTOM_FIELD_OPTION_VALUE_MAX_LENGTH_OUT = \u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u30AA\u30D7\u30B7\u30E7\u30F3\u5024\u306F\u6700\u592715 \u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | |
| | | ISSUE_TYPE_NOT_EXIST = \u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | ISSUE_TYPE_NOT_NAME = \u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u540D\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_TYPE_NAME_MAX_LENGTH_OUT = \u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u306F\u6700\u592750\u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | ISSUE_TYPE_USED_NAME = \u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u540D\u304C\u65E2\u306B\u4F7F\u308F\u308C\u3066\u3044\u307E\u3059\u3002 |
| | | ISSUE_TYPE_REMOVE_NOT_SELECT = \u524A\u9664\u3059\u308B\u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u304C\u9078\u3070\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_TYPE_NOT_COLOR = \u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u306B\u8272\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_TYPE_USE_ISSUES = \u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u3092\u4F7F\u7528\u3057\u3066\u3044\u308B\u30A4\u30B7\u30E5\u30FC\u304C\u5B58\u5728\u3057\u3066\u3044\u307E\u3059\u3002 |
| | | |
| | | PRIORITY_NOT_EXIST = \u512A\u5148\u9806\u4F4D\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | SEVERITY_NOT_EXIST = \u91CD\u8981\u5EA6\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | |
| | | ISSUE_NOT_EXIST = \u30A4\u30B7\u30E5\u30FC\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | ISSUE_NUMBER_GENERATOR_NOT_EXIST = \u30A4\u30B7\u30E5\u30FC\u756A\u53F7\u306E\u751F\u6210\u4E2D\u306B\u30A8\u30E9\u30FC\u304C\u767A\u751F\u3057\u307E\u3057\u305F\u3002 |
| | | ISSUE_NUMBER_NOT_EXIST = \u30A4\u30B7\u30E5\u30FC\u756A\u53F7\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | ISSUE_TITLE_MAX_LENGTH_OUT = \u30A4\u30B7\u30E5\u30FC\u306E\u30BF\u30A4\u30C8\u30EB\u306F\u6700\u5927300\u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | ISSUE_NOT_MODIFY_PERMISSION = \u30A4\u30B7\u30E5\u30FC\u4FEE\u6B63\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002 |
| | | ISSUE_REMOVE_NOT_SELECT = \u524A\u9664\u3059\u308B\u30A4\u30B7\u30E5\u30FC\u304C\u9078\u3070\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_NO_TITLE = \u30A4\u30B7\u30E5\u30FC\u306E\u30BF\u30A4\u30C8\u30EB\u304C\u5165\u529B\u3055\u308C\u3066\u3044\u307E\u305B\u3093\u3002 |
| | | ISSUE_NOT_SEND_USER = \u554F\u984C\u767A\u9001\u5BFE\u8C61\u8005\u3092\u9078\u3073\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | |
| | | ISSUE_COMMENT_REMOVE_NOT_SELECT = \u524A\u9664\u3059\u308B\u66F8\u304D\u8FBC\u307F\u3092\u9078\u3073\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | ISSUE_COMMENT_NOT_EXIST = \u30B3\u30E1\u30F3\u30C8\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | ISSUE_COMMENT_NOT_REMOVE_PERMISSION = \u30B3\u30E1\u30F3\u30C8\u3092\u524A\u9664\u3067\u304D\u308B\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002 |
| | | ISSUE_COMMENT_NOT_COMMENT = \u30B3\u30E1\u30F3\u30C8\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | ISSUE_COMMENT_MAX_LENGTH_OUT = \u30B3\u30E1\u30F3\u30C8\u306F\u6700\u5927300\u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | |
| | | USER_WORKSPACE_NOT_EXIST = \u696D\u52D9\u7A7A\u9593\u30E6\u30FC\u30B6\u30FC\u9023\u7D50\u60C5\u5831\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | |
| | | WIDGET_SEARCH_DATE_NOT_FOUND = \u30A6\u30A3\u30B8\u30A7\u30C3\u30C8\u691C\u7D22\u306E\u65E5\u4ED8\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | |
| | | USER_NO_NAME = \u540D\u524D\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | USER_NAME_LENGTH_EXCESS = \u30E6\u30FC\u30B6\u30FC\u540D\u306F\u6700\u592750\u6587\u5B57\u306E\u307F\u53EF\u80FD\u3067\u3059\u3002 |
| | | USER_NO_EMAIL = E\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | USER_INVALID_EMAIL = \u9593\u9055\u3063\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3067\u3059\u3002 |
| | | USER_USED_EMAIL = \u65E2\u306B\u52A0\u5165\u3057\u305F\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u3067\u3059\u3002 |
| | | USER_NO_PASSWORD = \u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 |
| | | USER_NOT_MODIFY_SELF = \u4ED6\u306E\u4EBA\u306E\u60C5\u5831\u3092\u4FEE\u6B63\u3059\u308B\u3053\u3068\u306F\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | USER_PHONE_MAX_LENGTH_OUT = \u9023\u7D61\u5148\u306F\u6700\u592720\u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | USER_PHONE_ONLY_NUMBER = \u9023\u7D61\u5148\u306F\u6570\u5B57\u3060\u3051\u5165\u529B\u3059\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u3059\u3002 |
| | | USER_PASSWORD_MAX_LENGTH_OUT = \u6697\u8A3C\u756A\u53F7\u306F\u6700\u592720\u6587\u5B57\u307E\u3067\u5165\u529B\u3067\u304D\u307E\u3059\u3002 |
| | | USER_PASSWORD_NOT_SAME_CONFIRM_PASSWORD = \u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9\u3068\u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9\u78BA\u8A8D\u30D5\u30A3\u30FC\u30EB\u30C9\u306B\u5165\u529B\u3057\u305F\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u7570\u306A\u308A\u307E\u3059\u3002 |
| | | USER_INVALID_CURRENT_PASSWORD = \u5165\u529B\u3057\u305F\u73FE\u5728\u30D1\u30B9\u30EF\u30FC\u30C9\u304C\u9593\u9055\u3063\u3066\u3044\u307E\u3059\u3002 |
| | | USER_INVALID_LICENSEKEY = The current license key entered is invalid. |
| | | USER_PASSWORD_SAME_NEW_PASSWORD = \u73FE\u5728\u4F7F\u7528\u3059\u308B\u6697\u8A3C\u756A\u53F7\u3068\u5909\u66F4\u3057\u3088\u3046\u3068\u3059\u308B\u6697\u8A3C\u756A\u53F7\u306F\u9055\u308F\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002 |
| | | USER_WITH_DRAW_EXIST = \u5F53\u8A72\u52D8\u5B9A\u306F\u4F1A\u54E1\u8131\u9000\u8A18\u9332\u304C\u3042\u308A\u307E\u3059\u3002 |
| | | USER_PROFILE_SIZE_NOT_ALLOW = \u30E6\u30FC\u30B6\u30FC\u30D7\u30ED\u30D5\u30A3\u30EB\u306E\u30B5\u30A4\u30BA\u304C\u3068\u3066\u3082\u5927\u304D\u3044\u3067\u3059\u3002 10MB\u4EE5\u4E0B\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | USER_PROFILE_UPLOAD_FILE_TYPE_NOT_ALLOW = \u30D7\u30ED\u30D5\u30A3\u30FC\u30EB\u30D5\u30A1\u30A4\u30EB\u306Fjpg,png\u306E\u307F\u53EF\u80FD\u3067\u3059\u3002 |
| | | USER_NOT_EQUAL_PASSWORD = \u6697\u8A3C\u756A\u53F7\u304C\u5408\u3044\u307E\u305B\u3093\u3002 |
| | | USER_NOT_EXIST = \u4F7F\u7528\u8005\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | USER_NOT_AUTHORIZED = \u30E6\u30FC\u30B6\u8A8D\u8A3C\u6A29\u9650\u304C\u3042\u308A\u307E\u305B\u3093\u3002 |
| | | USER_EXPIRED_PASSWORD = \u6697\u8A3C\u756A\u53F7\u304C\u6E80\u4E86\u3057\u307E\u3057\u305F\u3002 |
| | | USER_RETURN_PASSWORD_NOT_PROVIDER_SOCIAL_JOIN_USER = \u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u63A2\u3059\u6A5F\u80FD\u3092\u30BD\u30FC\u30B7\u30E3\u30EB\u30A2\u30AB\u30A6\u30F3\u30C8\u52A0\u5165\u30E6\u30FC\u30B6\u30FC\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | USER_NOT_USE_ACTIVE_STATUS = \u4F7F\u7528\u8005\u306F\u6D3B\u6027\u72B6\u614B\u3067\u306A\u3044\u3068\u30ED\u30B0\u30A4\u30F3\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | |
| | | EXCEL_NOT_EXTENSION = \u30A8\u30AF\u30BB\u30EB\u30D5\u30A1\u30A4\u30EB\u62E1\u5F35\u5B50(xlsx)\u306E\u307F\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u304C\u53EF\u80FD\u3067\u3059\u3002 |
| | | EXCEL_DOWNLOAD_MAX_ROWS_OVER = \u30A8\u30AF\u30BB\u30EB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306F10,000 \u4EF6\u7A0B\u5EA6\u53EF\u80FD\u3067\u3059\u3002 \u691C\u7D22\u6761\u4EF6\u3092\u4F7F\u7528\u3057\u3066\u7167\u4F1A\u3055\u308C\u308B\u30EA\u30B9\u30C8\u309210,000 \u4EF6\u4EE5\u4E0B\u306B\u5909\u66F4\u3057\u3066\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u3092\u9032\u3081\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | EXCEL_CONDITIONS_NOT_EXIST = \u30A8\u30AF\u30BB\u30EB\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9\u306B\u5FC5\u8981\u306A\u691C\u7D22\u6761\u4EF6\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002 |
| | | EXCEL_EMPTY_CELL = \u30A8\u30AF\u30BB\u30EB\u30D8\u30C3\u30C0\u90E8\u5206\u30BB\u30EB\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002 \u30A8\u30AF\u30BB\u30EB\u4F5C\u6210\u69D8\u5F0F\u306B\u554F\u984C\u304C\u3042\u308A\u307E\u3059\u3002 |
| | | EXCEL_HEADER_EMPTY_CELL = \u30A8\u30AF\u30BB\u30EB\u30D8\u30C3\u30C0\u306B\u30A6\u30A3\u30FC\u30F3\u30BB\u30EB\u304C\u3042\u308A\u307E\u3059\u3002 |
| | | EXCEL_IMPORT_ISSUE_TITLE_IS_NULL=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u30A4\u30B7\u30E5\u30FC\u306E\u30BF\u30A4\u30C8\u30EB\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002\n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_PROJECT_KEY_IS_NULL=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30AD\u30FC\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_PROJECT_NOT_EXIST=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u5165\u529B\u3055\u308C\u305F\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u30AD\u30FC\u3067\u691C\u7D22\u3055\u308C\u308B\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u304C\u3042\u308A\u307E\u305B\u3093\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_IS_NULL=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u540D\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_NOT_EXIST=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u5165\u529B\u3055\u308C\u305F\u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u540D\u3067\u691C\u7D22\u3055\u308C\u308B\u30A4\u30B7\u30E5\u30FC\u30BF\u30A4\u30D7\u306F\u3042\u308A\u307E\u305B\u3093\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_PRIORITY_IS_NULL=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u512A\u5148\u9806\u4F4D\u540D\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_PRIORITY_NOT_EXIST=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u5165\u529B\u3055\u308C\u305F\u512A\u5148\u9806\u4F4D\u540D\u3067\u691C\u7D22\u3055\u308C\u308B\u512A\u5148\u9806\u4F4D\u304C\u3042\u308A\u307E\u305B\u3093\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_SEVERITY_IS_NULL=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u91CD\u8981\u5EA6\u540D\u304C\u5165\u529B\u3055\u308C\u307E\u305B\u3093\u3067\u3057\u305F\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_SEVERITY_NOT_EXIST=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u5165\u529B\u3055\u308C\u305F\u91CD\u8981\u5EA6\u540D\u3067\u691C\u7D22\u3055\u308C\u308B\u512A\u5148\u9806\u4F4D\u304C\u3042\u308A\u307E\u305B\u3093\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_CUSTOM_FIELD_VALUE_NOT_VALIDITY=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u5165\u529B\u3057\u305F\u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u5024\u306F\u6709\u52B9\u3067\u306F\u3042\u308A\u307E\u305B\u3093\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_HEADER_CUSTOM_FIELD_NOT_EXIST=\u767B\u9332\u3057\u3088\u3046\u3068\u3059\u308B\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u3092\u898B\u3064\u3051\u308B\u3053\u3068\u304C\u3067\u304D\u307E\u305B\u3093\u3002 \u5F53\u8A72\u30E6\u30FC\u30B6\u5B9A\u7FA9\u30D5\u30A3\u30FC\u30EB\u30C9\u306E\u540D\u524D\u304C\u5909\u66F4\u3055\u308C\u305F\u304B,\u524A\u9664\u3055\u308C\u307E\u3057\u305F\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY= \u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u5165\u529B\u3057\u305F\u958B\u59CB\u65E5,\u7D42\u4E86\u65E5\u306B\u554F\u984C\u304C\u3042\u308A\u307E\u3059\u3002 \u958B\u59CB\u65E5\u306F\u7D42\u4E86\u65E5\u3088\u308A\u65E9\u304F\u306A\u3051\u308C\u3070\u306A\u308A\u307E\u305B\u3093\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY=\u6B21\u306E\u30A8\u30AF\u30BB\u30EB\u30E9\u30A4\u30F3\u3067\u5165\u529B\u3057\u305F\u958B\u59CB\u65E5,\u7D42\u4E86\u65E5\u306B\u554F\u984C\u304C\u3042\u308A\u307E\u3059\u3002 \u7A7A\u767D\u304C\u5165\u3063\u3066\u3044\u308B\u304B\u3092\u78BA\u8A8D\u3057\u3066\u304B\u3089\u7A7A\u767D\u3092\u53D6\u308A\u9664\u3044\u3066\u304F\u3060\u3055\u3044\u3002 \n \u30E9\u30A4\u30F3\u60C5\u5831 : {0} |
| | | EXCEL_IMPORT_MAX_ROWS_OVER = \u30A8\u30AF\u30BB\u30EB\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3067\u30A4\u30B7\u30E5\u30FC\u767B\u9332\u306F\u6700\u59271\u4E07\u4EF6\u307E\u3067\u53EF\u80FD\u3067\u3059\u3002 \u3082\u3057\u4F5C\u6210\u3055\u308C\u305F\u30A8\u30AF\u30BB\u30EB\u304C1\u4E07\u4EF6\u4EE5\u4E0B\u306E\u5834\u5408,\u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u304C\u8868\u793A\u3055\u308C\u305F\u3089,\u6700\u5F8C\u306E\u884C\u4EE5\u5F8C\u306E\u3059\u3079\u3066\u306E\u884C\u3092\u524A\u9664\u3057\u305F\u5F8C,\u518D\u3073\u8A66\u3057\u3066\u304F\u3060\u3055\u3044\u3002 |
| | | RESERVATION_EMAIL_TITLE=[OWL ITS] \u533F\u540D\u30A4\u30B7\u30E5\u30FC\u304A\u3088\u3073\u6D3B\u52D5\u73FE\u72B6\u3067\u3059\u3002 |
| | | |
| | | ISSUE_RESERVATION_VALUE_INVALID=\u30A4\u30B7\u30E5\u30FC\u767A\u751F\u306E\u4E88\u7D04\u65E5\u304C\u9593\u9055\u3063\u3066\u3044\u307E\u3059\u3002 |
| | | ISSUE_RESERVATION_NOT_EXIST=\u30A4\u30B7\u30E5\u30FC\u767A\u751F\u306E\u4E88\u7D04\u60C5\u5831\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | |
| | | FILE_TYPE_NOT_ALLOW = \u8A31\u3055\u308C\u306A\u3044\u30D5\u30A1\u30A4\u30EB\u306E\u30BF\u30A4\u30D7\u3067\u3059\u3002 |
| | | WORKSPACE_OUT=\u53C2\u52A0\u3059\u308B\u6B21\u306E\u696D\u52D9\u7A7A\u9593\u3067\u9664\u5916\u3055\u308C\u307E\u3057\u305F\u3002 ({0}) |
| | | |
| | | NOTICE_NOT_EXIST=\u516C\u77E5\u4E8B\u9805\u304C\u5B58\u5728\u3057\u307E\u305B\u3093\u3002 |
| | | NOTICE_EMPTY_CONTENT=\u7A7A\u5730\u4E8B\u9805\u306E\u30BF\u30A4\u30C8\u30EB\u304A\u3088\u3073\u5185\u5BB9\u306E\u3046\u3061,\u5165\u529B\u5024\u304C\u306A\u3044\u30D5\u30A3\u30FC\u30EB\u30C9\u304C\u3042\u308A\u307E\u3059\u3002 |
| | | |
| | | FAQ_NOT_EXIST=FAQ does not exist. |
| | | FAQ_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | GUIDE_NOT_EXIST=Guide does not exist. |
| | | GUIDE_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | EVENT_NOT_EXIST=Event does not exist. |
| | | EVENT_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | QNA_NOT_EXIST=QNA does not exist. |
| | | QNA_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
New file |
| | |
| | | ERR_FAILED_CONVERT_OBJECT = \uB370\uC774\uD130 \uBCC0\uD658\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. |
| | | TARGET_OBJECT_IS_NULL = \uD0C0\uAC9F \uC624\uBE0C\uC81D\uD2B8\uAC00 Null \uC785\uB2C8\uB2E4. |
| | | SOURCE_OBJECT_IS_NULL = \uC18C\uC2A4 \uC624\uBE0C\uC81D\uD2B8\uAC00 Null \uC785\uB2C8\uB2E4. |
| | | ERR_FAILED_CONVERT_JSON = \uC694\uCCAD \uB370\uC774\uD130\uC758 json \uBCC0\uD658\uC744 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. |
| | | NOT_READABLE_JSON_DATA = Json \uB370\uC774\uD130\uB97C \uC77D\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | SUCCESS_REQUEST = \uC694\uCCAD\uC774 \uC131\uACF5\uD558\uC600\uC2B5\uB2C8\uB2E4. |
| | | SESSION_EXPIRED = \uC0AC\uC6A9\uC790 \uC138\uC158\uC774 \uC885\uB8CC \uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | |
| | | |
| | | |
| | | |
| | | PROJECT_NAME_MAX_LENGTH_OUT = \uD504\uB85C\uC81D\uD2B8 \uBA85\uC740 \uCD5C\uB300 50\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | DATE_PICKER_NOT_AVAILABLE = \uB0A0\uC9DC \uC120\uD0DD\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_NOT_EXIST = \uD504\uB85C\uC81D\uD2B8\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_NOT_MANAGER = \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC\uC790\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_NOT_MODIFY_PERMISSION = \uD504\uB85C\uC81D\uD2B8 \uAD00\uB9AC \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_NOT_NAME = \uD504\uB85C\uC81D\uD2B8 \uC774\uB984\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_NOT_STATUS = \uD504\uB85C\uC81D\uD2B8\uC758 \uC0C1\uD0DC\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | DATE_NOT_EXIST = \uAE30\uAC04\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_OVER_LENGTH_PROJECT_KEY = \uD504\uB85C\uC81D\uD2B8 \uD0A4\uB294 \uCD5C\uB300 10\uAE00\uC790\uB9CC \uC785\uB825 \uAC00\uB2A5\uD569\uB2C8\uB2E4. |
| | | PROJECT_KEY_NOT_EXIST = \uD504\uB85C\uC81D\uD2B8 \uD0A4\uAC00 \uC785\uB825 \uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_USED_NAME = \uD504\uB85C\uC81D\uD2B8 \uC774\uB984\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | DEFAULT_PROJECT_NOT_REMOVE = \uAE30\uBCF8\uC73C\uB85C \uC81C\uACF5\uB418\uB294 \uD504\uB85C\uC81D\uD2B8\uB294 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uD504\uB85C\uC81D\uD2B8\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_NOT_INCLUDE_USER = \uC120\uD0DD\uD55C \uB2F4\uB2F9\uC790 \uC911 \uD504\uB85C\uC81D\uD2B8\uC5D0 \uCC38\uC5EC\uD558\uACE0 \uC788\uC9C0 \uC54A\uC740 \uC0AC\uC6A9\uC790\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | PROJECT_USED_PROJECT_KEY = \uD504\uB85C\uC81D\uD2B8 \uD0A4\uAC00 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | PAYMENT_TYPE_NOT_EXIST = \uACB0\uC81C \uBC29\uC2DD\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | PAYMENT_NOT_EXIST = \uACB0\uC81C \uC815\uBCF4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | PAYMENT_EXECUTE_ONLY_WORKSPACE_MANAGER = \uACB0\uC81C\uB294 \uC5C5\uBB34 \uACF5\uAC04 \uAD00\uB9AC\uC790\uB9CC \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | PAYMENT_BUY_USER_MUST_BE_GREATER_THAN_ZERO = \uACB0\uC81C\uD558\uB824\uB294 \uC0AC\uC6A9\uC790 \uC218\uB294 0\uBCF4\uB2E4 \uCEE4\uC57C \uD569\uB2C8\uB2E4. |
| | | PAYMENT_NO_TYPE = \uACB0\uC81C \uC720\uD615\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | PAYMENT_HISTORY_NOT_EXIST = \uACB0\uC81C \uC774\uB825 \uC815\uBCF4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | |
| | | |
| | | USER_WORKSPACE_MANAGER_NOT_EXIST = \uC5C5\uBB34 \uACF5\uAC04 \uAD00\uB9AC\uC790 \uC815\uBCF4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | OAUTH_STATE_VALUE_NOT_EQUAL = OAuth \uC778\uC99D\uC5D0 \uC2E4\uD328\uD588\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_NOT_EXIST = \uC5C5\uBB34 \uACF5\uAC04\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_STORAGE_SIZE_EXCESS = \uC5C5\uBB34 \uACF5\uAC04 \uC800\uC7A5 \uACF5\uAC04\uC774 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uBD88\uD544\uC694\uD55C \uD30C\uC77C\uC744 \uC815\uB9AC\uD558\uC138\uC694. |
| | | WORKSPACE_MANAGER_NOT_CHANGE_USE_YN = \uC5C5\uBB34 \uACF5\uAC04 \uAD00\uB9AC\uC790\uB294 \uBE44\uD65C\uC131\uD654\uB85C \uBCC0\uACBD \uB420 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_PERIOD_REMAIN = \uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774 \uB0A8\uC544 \uC788\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_USE_PERIOD_EXCESS = \uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9 \uAE30\uAC04\uC774 \uC885\uB8CC\uB418\uC5B4 \uC0DD\uC131, \uC218\uC815, \uC0AD\uC81C, \uC774\uBBF8\uC9C0/\uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC \uAE30\uB2A5\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_INCLUDE_DISABLED = \uD574\uB2F9 \uC5C5\uBB34 \uACF5\uAC04\uC5D0\uC11C \uBE44\uD65C\uC131 \uC0C1\uD0DC\uC774\uBBC0\uB85C \uC0DD\uC131, \uC218\uC815, \uC0AD\uC81C, \uC774\uBBF8\uC9C0/\uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC \uAE30\uB2A5\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | |
| | | ATTACHED_FILE_NOT_EXIST = \uCCA8\uBD80 \uD30C\uC77C \uC815\uBCF4\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | |
| | | START_ISSUE_STATUS_NOT_EXIST = \uC2DC\uC791\uD558\uB294 \uC774\uC288 \uC0C1\uD0DC\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | END_ISSUE_STATUS_NOT_EXIST = \uC885\uB8CC\uD558\uB294 \uC774\uC288 \uC0C1\uD0DC\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | |
| | | EMAIL_NOT_SEND = \uBA54\uC77C\uC744 \uC804\uC1A1\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | INVITE_USER_USED_WORKSPACE = \uD574\uB2F9 \uC0AC\uC6A9\uC790\uB294 \uC774\uBBF8 \uC5C5\uBB34 \uACF5\uAC04\uC5D0 \uCC38\uC5EC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | PROJECT_ROLE_NOT_EXIST = \uD504\uB85C\uC81D\uD2B8 \uC5ED\uD560\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_NOT_NAME = \uC5C5\uBB34 \uACF5\uAC04 \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_MAX_USER_EXCESS = \uC5C5\uBB34 \uACF5\uAC04\uC758 \uCD5C\uB300 \uC0AC\uC6A9\uC790 \uC218\uAC00 \uCD08\uACFC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \uCD5C\uB300 \uC0AC\uC6A9\uC790 \uC218\uAC00 \uCD08\uACFC\uB418\uBA74 \uCD08\uB300\uBC1B\uC740 \uC0AC\uC6A9\uC790\uAC00 \uD574\uB2F9 \uC5C5\uBB34 \uACF5\uAC04\uB97C \uC811\uADFC\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_MAX_USER_EXCESS_NOT_INCLUDE = \uC5C5\uBB34 \uACF5\uAC04\uC758 \uCD5C\uB300 \uC0AC\uC6A9\uC790 \uC218\uAC00 \uCD08\uACFC\uB418\uC5B4 \uCC38\uC5EC \uC0C1\uD0DC\uB85C \uBCC0\uACBD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | WORKSPACE_NAME_MAX_LENGTH_OUT = \uC5C5\uBB34 \uACF5\uAC04 \uBA85\uC740 \uCD5C\uB300 50\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | DEFAULT_PROJECT_MANAGER_NOT_CHANGE = \uAE30\uBCF8 \uC81C\uACF5\uB418\uB294 \uD504\uB85C\uC81D\uD2B8\uC758 \uAD00\uB9AC\uC790\uB294 \uC5C5\uBB34 \uACF5\uAC04 \uAD00\uB9AC\uC790\uAC00 \uC788\uC5B4\uC57C \uD569\uB2C8\uB2E4. |
| | | |
| | | |
| | | ISSUE_STATUS_NOT_ID = \uC774\uC288 \uC0C1\uD0DC \uC544\uC774\uB514\uAC00 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_NAME_MAX_LENGTH_OUT = \uC774\uC288 \uC0C1\uD0DC \uBA85\uC740 \uCD5C\uB300 50\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_NOT_NAME = \uC774\uC288 \uC0C1\uD0DC \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_NOT_COLOR = \uC774\uC288 \uC0C1\uD0DC\uC758 \uC0C9\uC0C1\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_USED_NAME = \uC774\uC288 \uC0C1\uD0DC \uBA85\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC774\uC288 \uC0C1\uD0DC\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | DEFAULT_ISSUE_STATUS_NOT_REMOVE = \uAE30\uBCF8\uC73C\uB85C \uC81C\uACF5\uB418\uB294 \uC774\uC288 \uC0C1\uD0DC\uB294 \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_NOT_EXIST = \uC774\uC288 \uC0C1\uD0DC\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | READY_ISSUE_STATUS_NOT_EXIST = \uC774\uC288 \uC0C1\uD0DC \uC720\uD615\uC774 \uB300\uAE30\uC778 \uC774\uC288 \uC0C1\uD0DC\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_CHANGE_NOT_TARGET = \uC120\uD0DD\uD55C \uC774\uC288 \uC0C1\uD0DC\uB85C \uBCC0\uACBD\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC6CC\uD06C\uD50C\uB85C\uC6B0\uB97C \uD655\uC778\uD558\uC138\uC694. |
| | | ISSUE_STATUS_USE_ISSUES = \uC774\uC288 \uC0C1\uD0DC\uB97C \uC0AC\uC6A9\uD558\uACE0 \uC788\uB294 \uC774\uC288\uAC00 \uC874\uC7AC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_STATUS_USE_WORKFLOW = \uC774\uC288 \uC0C1\uD0DC\uB97C \uC0AC\uC6A9\uD558\uACE0 \uC788\uB294 \uC6CC\uD06C\uD50C\uB85C\uC6B0\uAC00 \uC874\uC7AC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | WORKFLOW_NOT_EXIST = \uC6CC\uD06C\uD50C\uB85C\uC6B0\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | WORKFLOW_NOT_NAME = \uC6CC\uD06C\uD50C\uB85C\uC6B0 \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | WORKFLOW_NAME_MAX_LENGTH_OUT = \uC6CC\uD06C\uD50C\uB85C\uC6B0 \uBA85\uC740 \uCD5C\uB300 20\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | WORKFLOW_USED_NAME = \uC6CC\uD06C\uD50C\uB85C\uC6B0 \uBA85\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | WORKFLOW_TRANSITION_NOT_EXIST = \uC6CC\uD06C\uD50C\uB85C\uC6B0 \uC804\uC774\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | WORKFLOW_USED_ISSUE_TYPE = \uC6CC\uD06C\uD50C\uB85C\uC6B0\uAC00 \uC774\uC288 \uD0C0\uC785\uC5D0\uC11C \uC0AC\uC6A9\uB418\uACE0 \uC788\uC5B4\uC11C \uC0AD\uC81C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | WORKFLOW_ISOLATION = \uC6CC\uD06C\uD50C\uB85C\uC6B0\uC5D0 \uACE0\uB9BD\uB41C \uC774\uC288 \uC0C1\uD0DC\uAC00 \uC874\uC7AC\uD569\uB2C8\uB2E4. |
| | | WORKFLOW_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC6CC\uD06C\uD50C\uB85C\uC6B0\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | |
| | | CUSTOM_FIELD_NOT_EXIST = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_NOT_NAME = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_NAME_MAX_LENGTH_OUT = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uBA85\uC740 \uCD5C\uB300 50\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_USED_NAME = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uBA85\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_INPUT_FIELD = \uBB38\uC790\uC5F4 \uD544\uB4DC\uB294 \uC635\uC158 \uAC12\uC744 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_OPTIONS_NOT_EXIST_DEFAULT_VALUE = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uAE30\uBCF8 \uAC12\uC774 \uC635\uC158\uC5D0 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_OPTIONS_USED_EXIST_DEFAULT_VALUE = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uAE30\uBCF8 \uAC12\uC5D0 \uC911\uBCF5\uB41C \uAC12\uC774 \uC874\uC7AC\uD569\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_MULTI_DEFAULT_VALUE = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uC635\uC158 \uAC12\uC5D0 \uB300\uD55C \uAE30\uBCF8 \uAC12\uC73C\uB85C 2\uAC1C \uC774\uC0C1 \uC9C0\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_OPTIONS_NOT_EMPTY_VALUE = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uC635\uC158 \uAC12\uC5D0 \uACF5\uBC31\uC744 \uB4F1\uB85D\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_OPTIONS_NOT_VALUE = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uC635\uC158 \uAC12\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_TEXT_TYPE_MAX_LENGTH_OUT = \uC0AC\uC6A9\uC790 \uC815\uC758 \uBB38\uC790\uC5F4 \uD544\uB4DC\uB294 \uCD5C\uB300 100\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_DEFAULT_VALUE_MAX_LENGTH_OUT = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC\uC758 \uAE30\uBCF8 \uAC12 \uD544\uB4DC\uB294 \uCD5C\uB300 100\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | CUSTOM_FIELD_OPTION_VALUE_MAX_LENGTH_OUT = \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uC635\uC158 \uAC12\uC740 \uCD5C\uB300 15\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | ISSUE_TYPE_NOT_EXIST = \uC774\uC288 \uD0C0\uC785\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_TYPE_NOT_NAME = \uC774\uC288 \uD0C0\uC785 \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_TYPE_NAME_MAX_LENGTH_OUT = \uC774\uC288 \uD0C0\uC785\uC740 \uCD5C\uB300 50\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_TYPE_USED_NAME = \uC774\uC288 \uD0C0\uC785 \uBA85\uC774 \uC774\uBBF8 \uC0AC\uC6A9\uB418\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_TYPE_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC774\uC288 \uD0C0\uC785\uC774 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_TYPE_NOT_COLOR = \uC774\uC288 \uD0C0\uC785\uC5D0 \uC0C9\uC0C1\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_TYPE_USE_ISSUES = \uC774\uC288 \uD0C0\uC785\uC744 \uC0AC\uC6A9\uD558\uACE0 \uC788\uB294 \uC774\uC288\uAC00 \uC874\uC7AC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | PRIORITY_NOT_EXIST = \uC6B0\uC120\uC21C\uC704\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | SEVERITY_NOT_EXIST = \uC911\uC694\uB3C4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | |
| | | ISSUE_NOT_EXIST = \uC774\uC288\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_NUMBER_GENERATOR_NOT_EXIST = \uC774\uC288 \uBC88\uD638 \uC0DD\uC131 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD558\uC600\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_NUMBER_NOT_EXIST = \uC774\uC288 \uBC88\uD638\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_TITLE_MAX_LENGTH_OUT = \uC774\uC288 \uC81C\uBAA9\uC740 \uCD5C\uB300 300\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_NOT_MODIFY_PERMISSION = \uC774\uC288 \uC218\uC815 \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uC774\uC288\uAC00 \uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_NO_TITLE = \uC774\uC288 \uC81C\uBAA9\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_NOT_SEND_USER = \uC774\uC288 \uBC1C\uC1A1 \uB300\uC0C1\uC790\uB97C \uC120\uD0DD\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | |
| | | ISSUE_COMMENT_REMOVE_NOT_SELECT = \uC0AD\uC81C\uD560 \uB313\uAE00\uC744 \uC120\uD0DD\uD558\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_COMMENT_NOT_EXIST = \uB313\uAE00\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_COMMENT_NOT_REMOVE_PERMISSION = \uB313\uAE00\uC744 \uC0AD\uC81C\uD560 \uC218 \uC788\uB294 \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_COMMENT_NOT_COMMENT = \uB313\uAE00\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_COMMENT_MAX_LENGTH_OUT = \uB313\uAE00\uC740 \uCD5C\uB300 300\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | USER_WORKSPACE_NOT_EXIST = \uC5C5\uBB34 \uACF5\uAC04 \uC0AC\uC6A9\uC790 \uC5F0\uACB0 \uC815\uBCF4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | |
| | | WIDGET_SEARCH_DATE_NOT_FOUND = \uC704\uC82F \uAC80\uC0C9 \uC77C\uC790\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | |
| | | USER_NO_NAME = \uC774\uB984\uC774 \uC785\uB825 \uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | USER_NAME_LENGTH_EXCESS = \uC0AC\uC6A9\uC790 \uC774\uB984\uC740 \uCD5C\uB300 50\uAE00\uC790\uB9CC \uAC00\uB2A5\uD569\uB2C8\uB2E4. |
| | | USER_NO_EMAIL = \uC774\uBA54\uC77C \uC8FC\uC18C\uAC00 \uC785\uB825 \uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | USER_INVALID_EMAIL = \uC798\uBABB\uB41C \uC774\uBA54\uC77C \uC8FC\uC18C \uC785\uB2C8\uB2E4. |
| | | USER_USED_EMAIL = \uC774\uBBF8 \uAC00\uC785\uB41C \uC774\uBA54\uC77C \uC8FC\uC18C \uC785\uB2C8\uB2E4. |
| | | USER_NO_PASSWORD = \uBE44\uBC00\uBC88\uD638\uAC00 \uC785\uB825 \uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. |
| | | USER_NOT_MODIFY_SELF = \uB2E4\uB978 \uC0AC\uB78C\uC758 \uC815\uBCF4\uB97C \uC218\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | USER_PHONE_MAX_LENGTH_OUT = \uC5F0\uB77D\uCC98\uB294 \uCD5C\uB300 20\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | USER_PHONE_ONLY_NUMBER = \uC5F0\uB77D\uCC98\uB294 \uC22B\uC790\uB9CC \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | USER_PASSWORD_MAX_LENGTH_OUT = \uBE44\uBC00\uBC88\uD638\uB294 \uCD5C\uB300 20\uAE00\uC790\uAE4C\uC9C0 \uC785\uB825\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4. |
| | | USER_PASSWORD_NOT_SAME_CONFIRM_PASSWORD = \uC2E0\uADDC \uBE44\uBC00\uBC88\uD638\uC640 \uC2E0\uADDC \uBE44\uBC00\uBC88\uD638 \uD655\uC778 \uD544\uB4DC\uC5D0 \uC785\uB825\uD55C \uBE44\uBC00\uBC88\uD638\uAC00 \uB2E4\uB985\uB2C8\uB2E4. |
| | | USER_INVALID_CURRENT_PASSWORD = \uC785\uB825\uD55C \uD604\uC7AC \uBE44\uBC00\uBC88\uD638\uAC00 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | USER_INVALID_LICENSEKEY = \uC785\uB825\uD55C \uB77C\uC774\uC13C\uC2A4 \uBC88\uD638\uB294 \uC798\uBABB\uB41C \uBC88\uD638\uC785\uB2C8\uB2E4. |
| | | USER_PASSWORD_SAME_NEW_PASSWORD = \uD604\uC7AC \uC0AC\uC6A9\uD558\uB294 \uBE44\uBC00\uBC88\uD638\uC640 \uBCC0\uACBD\uD558\uB824\uB294 \uBE44\uBC00\uBC88\uD638\uB294 \uB2EC\uB77C\uC57C \uD569\uB2C8\uB2E4. |
| | | USER_WITH_DRAW_EXIST = \uD574\uB2F9 \uACC4\uC815\uC740 \uD68C\uC6D0 \uD0C8\uD1F4 \uAE30\uB85D\uC774 \uC788\uC2B5\uB2C8\uB2E4. |
| | | USER_PROFILE_SIZE_NOT_ALLOW = \uC0AC\uC6A9\uC790 \uD504\uB85C\uD544 \uC0AC\uC774\uC988\uAC00 \uB108\uBB34 \uD07D\uB2C8\uB2E4. 10MB \uC774\uD558 \uD30C\uC77C\uB85C \uC5C5\uB85C\uB4DC\uD574\uC8FC\uC138\uC694. |
| | | USER_PROFILE_UPLOAD_FILE_TYPE_NOT_ALLOW = \uD504\uB85C\uD544 \uD30C\uC77C\uC740 jpg, png \uB9CC \uAC00\uB2A5\uD569\uB2C8\uB2E4. |
| | | USER_NOT_EQUAL_PASSWORD = \uBE44\uBC00\uBC88\uD638\uAC00 \uB9DE\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | USER_NOT_EXIST = \uC0AC\uC6A9\uC790\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | USER_NOT_AUTHORIZED = \uC0AC\uC6A9\uC790 \uC778\uC99D \uAD8C\uD55C\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | USER_EXPIRED_PASSWORD = \uBE44\uBC00\uBC88\uD638\uAC00 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | USER_RETURN_PASSWORD_NOT_PROVIDER_SOCIAL_JOIN_USER = \uBE44\uBC00\uBC88\uD638 \uCC3E\uAE30 \uAE30\uB2A5\uC744 \uC18C\uC15C \uACC4\uC815 \uAC00\uC785 \uC0AC\uC6A9\uC790\uB294 \uC0AC\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | USER_NOT_USE_ACTIVE_STATUS = \uC0AC\uC6A9\uC790\uB294 \uD65C\uC131 \uC0C1\uD0DC\uAC00 \uC544\uB2C8\uBA74 \uB85C\uADF8\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | |
| | | EXCEL_NOT_EXTENSION = \uC5D1\uC140 \uD30C\uC77C \uD655\uC7A5\uC790 (xlsx)\uB9CC \uC5C5\uB85C\uB4DC\uAC00 \uAC00\uB2A5\uD569\uB2C8\uB2E4. |
| | | EXCEL_DOWNLOAD_MAX_ROWS_OVER = \uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC\uB294 1.000 \uAC74 \uAE4C\uC9C0\uB9CC \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uAC80\uC0C9 \uC870\uAC74\uC744 \uC0AC\uC6A9\uD558\uC5EC \uC870\uD68C\uB418\uB294 \uBAA9\uB85D\uC744 1,000 \uAC74 \uC774\uD558\uB85C \uBCC0\uACBD\uD558\uC5EC \uB2E4\uC6B4\uB85C\uB4DC\uB97C \uC9C4\uD589\uD574\uC8FC\uC138\uC694. |
| | | EXCEL_CONDITIONS_NOT_EXIST = \uC5D1\uC140 \uB2E4\uC6B4\uB85C\uB4DC\uC5D0 \uD544\uC694\uD55C \uAC80\uC0C9 \uC870\uAC74\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. |
| | | EXCEL_EMPTY_CELL = \uC5D1\uC140 \uD5E4\uB354 \uBD80\uBD84 \uC140\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uC5D1\uC140 \uC791\uC131 \uC591\uC2DD\uC5D0 \uBB38\uC81C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | EXCEL_HEADER_EMPTY_CELL = \uC5D1\uC140 \uD5E4\uB354\uC5D0 \uBE48 \uC140\uC774 \uC788\uC2B5\uB2C8\uB2E4. |
| | | EXCEL_IMPORT_ISSUE_TITLE_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC774\uC288 \uC81C\uBAA9\uC774 \uC785\uB825\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_PROJECT_KEY_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uD504\uB85C\uC81D\uD2B8 \uD0A4\uAC00 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_PROJECT_NOT_EXIST=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uB41C \uD504\uB85C\uC81D\uD2B8 \uD0A4\uB85C \uAC80\uC0C9\uB418\uB294 \uD504\uB85C\uC81D\uD2B8\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC774\uC288 \uD0C0\uC785 \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_NOT_EXIST=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uB41C \uC774\uC288 \uD0C0\uC785 \uBA85\uC73C\uB85C \uAC80\uC0C9\uB418\uB294 \uC774\uC288 \uD0C0\uC785\uC774 \uC5C6\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_PRIORITY_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC6B0\uC120\uC21C\uC704 \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_PRIORITY_NOT_EXIST=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uB41C \uC6B0\uC120\uC21C\uC704 \uBA85\uC73C\uB85C \uAC80\uC0C9\uB418\uB294 \uC6B0\uC120\uC21C\uC704\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_SEVERITY_IS_NULL=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC911\uC694\uB3C4 \uBA85\uC774 \uC785\uB825\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_SEVERITY_NOT_EXIST=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uB41C \uC911\uC694\uB3C4 \uBA85\uC73C\uB85C \uAC80\uC0C9\uB418\uB294 \uC6B0\uC120\uC21C\uC704\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_CUSTOM_FIELD_VALUE_NOT_VALIDITY=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uD55C \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC \uAC12\uC774 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_HEADER_CUSTOM_FIELD_NOT_EXIST=\uB4F1\uB85D\uD558\uB824\uB294 \uC0AC\uC6A9\uC790 \uC815\uC758 \uD544\uB4DC\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. \uD574\uB2F9 \uC0AC\uC6A9\uC790 \uC815\uC758\uD544\uB4DC\uC758 \uC774\uB984\uC774 \uBCC0\uACBD\uB418\uC5C8\uAC70\uB098 \uC0AD\uC81C\uB418\uC5C8\uC2B5\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY= \uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uD55C \uC2DC\uC791\uC77C, \uC885\uB8CC\uC77C\uC5D0 \uBB38\uC81C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uC2DC\uC791\uC77C\uC740 \uC885\uB8CC\uC77C\uBCF4\uB2E4 \uBE68\uB77C\uC57C \uD569\uB2C8\uB2E4. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY=\uB2E4\uC74C \uC5D1\uC140 \uB77C\uC778\uC5D0\uC11C \uC785\uB825\uD55C \uC2DC\uC791\uC77C, \uC885\uB8CC\uC77C\uC5D0 \uBB38\uC81C\uAC00 \uC788\uC2B5\uB2C8\uB2E4. \uACF5\uBC31\uC774 \uD3EC\uD568\uB418\uC5B4 \uC788\uB294\uC9C0 \uD655\uC778 \uD6C4 \uACF5\uBC31\uC744 \uC81C\uAC70\uD558\uC138\uC694. \n \uB77C\uC778 \uC815\uBCF4 : {0} |
| | | EXCEL_IMPORT_MAX_ROWS_OVER = \uC5D1\uC140 \uC5C5\uB85C\uB4DC\uB85C \uC774\uC288 \uB4F1\uB85D\uC740 \uCD5C\uB300 1,000 \uAC74\uAE4C\uC9C0\uB9CC \uAC00\uB2A5\uD569\uB2C8\uB2E4. \uB9CC\uC57D \uC791\uC131\uB41C \uC5D1\uC140\uC774 1,000 \uAC74 \uC774\uD558\uC77C \uACBD\uC6B0 \uC774 \uBA54\uC2DC\uC9C0\uAC00 \uD45C\uC2DC\uB418\uBA74 \uB9C8\uC9C0\uB9C9 \uC791\uC131\uB41C \uD589\uC774\uD6C4\uC758 \uBAA8\uB4E0 \uD589\uC744 \uC0AD\uC81C\uD55C \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694. |
| | | RESERVATION_EMAIL_TITLE=[OWL ITS] \uC5B4\uC81C \uC774\uC288 \uBC0F \uD65C\uB3D9 \uD604\uD669\uC785\uB2C8\uB2E4. |
| | | |
| | | ISSUE_RESERVATION_VALUE_INVALID=\uC774\uC288 \uBC1C\uC0DD \uC608\uC57D\uC77C\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4. |
| | | ISSUE_RESERVATION_NOT_EXIST=\uC774\uC288 \uBC1C\uC0DD \uC608\uC57D \uC815\uBCF4\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | |
| | | FILE_TYPE_NOT_ALLOW = \uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC740 \uD30C\uC77C \uC720\uD615\uC785\uB2C8\uB2E4. |
| | | WORKSPACE_OUT=\uCC38\uC5EC\uD558\uB294 \uB2E4\uC74C \uC5C5\uBB34 \uACF5\uAC04\uC5D0\uC11C \uC81C\uC678\uB418\uC5C8\uC2B5\uB2C8\uB2E4. ({0}) |
| | | |
| | | NOTICE_NOT_EXIST=\uACF5\uC9C0\uC0AC\uD56D\uC774 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | NOTICE_EMPTY_CONTENT=\uACF5\uC9C0\uC0AC\uD56D \uC81C\uBAA9 \uBC0F \uB0B4\uC6A9 \uC911 \uC785\uB825 \uAC12\uC774 \uC5C6\uB294 \uD544\uB4DC\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | FAQ_NOT_EXIST=FAQ\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | FAQ_EMPTY_CONTENT=FAQ \uC81C\uBAA9 \uBC0F \uB0B4\uC6A9 \uC911 \uC785\uB825 \uAC12\uC774 \uC5C6\uB294 \uD544\uB4DC\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | GUIDE_NOT_EXIST=\uAC00\uC774\uB4DC\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | GUIDE_EMPTY_CONTENT=\uAC00\uC774\uB4DC\uAC00 \uC81C\uBAA9 \uBC0F \uB0B4\uC6A9 \uC911 \uC785\uB825 \uAC12\uC774 \uC5C6\uB294 \uD544\uB4DC\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | EVENT_NOT_EXIST=\uC774\uBCA4\uD2B8\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | EVENT_EMPTY_CONTENT=\uC774\uBCA4\uD2B8\uAC00 \uC81C\uBAA9 \uBC0F \uB0B4\uC6A9 \uC911 \uC785\uB825 \uAC12\uC774 \uC5C6\uB294 \uD544\uB4DC\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
| | | |
| | | QNA_NOT_EXIST=QnA\uAC00 \uC874\uC7AC\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. |
| | | QNA_EMPTY_CONTENT=QnA\uAC00 \uC81C\uBAA9 \uBC0F \uB0B4\uC6A9 \uC911 \uC785\uB825 \uAC12\uC774 \uC5C6\uB294 \uD544\uB4DC\uAC00 \uC788\uC2B5\uB2C8\uB2E4. |
New file |
| | |
| | | ERR_FAILED_CONVERT_OBJECT = Vi\u1EC7c thay \u0111\u1ED5i d\u1EEF li\u1EC7u th\u1EA5t b\u1EA1i. |
| | | TARGET_OBJECT_IS_NULL = \u0110\u1ED1i t\u01B0\u1EE3ng \u0111\u00EDch l\u00E0 null. |
| | | SOURCE_OBJECT_IS_NULL = \u0110\u1ED1i t\u01B0\u1EE3ng ngu\u1ED3n l\u00E0 null. |
| | | ERR_FAILED_CONVERT_JSON = Vi\u1EC7c chuy\u1EC3n \u0111\u1ED5i d\u1EEF li\u1EC7u y\u00EAu c\u1EA7u l\u00E0 th\u1EA5t b\u1EA1i. |
| | | NOT_READABLE_JSON_DATA = Kh\u00F4ng th\u1EC3 \u0111\u1ECDc d\u1EEF li\u1EC7u c\u1EE7a Json. |
| | | SUCCESS_REQUEST = T\u00F4i \u0111\u00E3 y\u00EAu c\u1EA7u th\u00E0nh c\u00F4ng. |
| | | SESSION_EXPIRED = Set ng\u01B0\u1EDDi d\u00F9ng \u0111\u00E3 k\u1EBFt th\u00FAc. |
| | | |
| | | |
| | | |
| | | |
| | | PROJECT_NAME_MAX_LENGTH_OUT = T\u00EAn d\u1EF1 \u00E1n c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 50 k\u00FD t\u1EF1. |
| | | DATE_PICKER_NOT_AVAILABLE = Ch\u1ECDn ng\u00E0y sai r\u1ED3i. |
| | | PROJECT_NOT_EXIST = D\u1EF1 \u00E1n kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | PROJECT_NOT_MANAGER = Kh\u00F4ng c\u00F3 ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | PROJECT_NOT_MODIFY_PERMISSION = Kh\u00F4ng c\u00F3 quy\u1EC1n qu\u1EA3n l\u00FD d\u1EF1 \u00E1n. |
| | | PROJECT_NOT_NAME = T\u00EAn d\u1EF1 \u00E1n kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | PROJECT_NOT_STATUS = T\u00ECnh tr\u1EA1ng c\u1EE7a d\u1EF1 \u00E1n kh\u00F4ng \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn. |
| | | DATE_NOT_EXIST = Th\u1EDDi gian kh\u00F4ng \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn. |
| | | PROJECT_OVER_LENGTH_PROJECT_KEY = Chi\u1EC1u cao c\u1EE7a d\u1EF1 \u00E1n ch\u1EC9 c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 10 k\u00FD t\u1EF1. |
| | | PROJECT_KEY_NOT_EXIST = Chi\u1EC1u cao d\u1EF1 \u00E1n kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | PROJECT_USED_NAME = T\u00EAn d\u1EF1 \u00E1n \u0111\u00E3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. |
| | | DEFAULT_PROJECT_NOT_REMOVE = Kh\u00F4ng th\u1EC3 x\u00F3a b\u1ECF d\u1EF1 \u00E1n \u0111\u01B0\u1EE3c cung c\u1EA5p d\u1EF1a tr\u00EAn c\u01A1 b\u1EA3n. |
| | | PROJECT_REMOVE_NOT_SELECT = D\u1EF1 \u00E1n s\u1EBD kh\u00F4ng \u0111\u01B0\u1EE3c ch\u1ECDn. |
| | | PROJECT_NOT_INCLUDE_USER = Ng\u01B0\u1EDDi s\u1EED d\u1EE5ng kh\u00F4ng tham gia v\u00E0o d\u1EF1 \u00E1n. |
| | | PROJECT_USED_PROJECT_KEY = Ch\u00ECa kh\u00F3a d\u1EF1 \u00E1n \u0111\u00E3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. |
| | | |
| | | PAYMENT_TYPE_NOT_EXIST = Ch\u01B0a ch\u1ECDn ph\u01B0\u01A1ng th\u1EE9c thanh to\u00E1n. |
| | | PAYMENT_NOT_EXIST = Kh\u00F4ng c\u00F3 th\u00F4ng tin thanh to\u00E1n. |
| | | PAYMENT_EXECUTE_ONLY_WORKSPACE_MANAGER = Ch\u1EC9 ng\u01B0\u1EDDi qu\u1EA3n l\u00FD kh\u00F4ng gian c\u00F4ng vi\u1EC7c m\u1EDBi c\u00F3 th\u1EC3 thanh to\u00E1n. |
| | | PAYMENT_BUY_USER_MUST_BE_GREATER_THAN_ZERO = S\u1ED1 ng\u01B0\u1EDDi d\u00F9ng mu\u1ED1n thanh to\u00E1n ph\u1EA3i l\u1EDBn h\u01A1n 0 |
| | | PAYMENT_NO_TYPE = Lo\u1EA1i h\u00ECnh thanh to\u00E1n ch\u01B0a \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | PAYMENT_HISTORY_NOT_EXIST = Kh\u00F4ng c\u00F3 th\u00F4ng tin chi tr\u1EA3. |
| | | |
| | | USER_WORKSPACE_MANAGER_NOT_EXIST = Kh\u00F4ng t\u1ED3n t\u1EA1i th\u00F4ng tin qu\u1EA3n l\u00FD kh\u00F4ng gian c\u00F4ng vi\u1EC7c. |
| | | OAUTH_STATE_VALUE_NOT_EQUAL = Th\u1EA5t b\u1EA1i trong vi\u1EC7c x\u00E1c nh\u1EADn OAuth. |
| | | WORKSPACE_NOT_EXIST = Kh\u00F4ng c\u00F3 kh\u00F4ng gian l\u00E0m vi\u1EC7c. |
| | | WORKSPACE_STORAGE_SIZE_EXCESS = Kh\u00F4ng gian l\u01B0u tr\u1EEF c\u00F4ng vi\u1EC7c \u0111\u00E3 b\u1ECB v\u01B0\u1EE3t qu\u00E1. H\u00E3y s\u1EAFp x\u1EBFp l\u1EA1i c\u00E1c t\u1EADp tin kh\u00F4ng c\u1EA7n thi\u1EBFt. |
| | | WORKSPACE_MANAGER_NOT_CHANGE_USE_YN = Ng\u01B0\u1EDDi qu\u1EA3n l\u00FD kh\u00F4ng gian c\u00F4ng vi\u1EC7c kh\u00F4ng th\u1EC3 thay \u0111\u1ED5i b\u1EB1ng kh\u00F4ng ho\u1EA1t \u0111\u1ED9ng. |
| | | WORKSPACE_PERIOD_REMAIN = V\u1EABn c\u00F2n th\u1EDDi gian s\u1EED d\u1EE5ng kh\u00F4ng gian l\u00E0m vi\u1EC7c. |
| | | WORKSPACE_USE_PERIOD_EXCESS = Th\u1EDDi gian s\u1EED d\u1EE5ng kh\u00F4ng gian c\u00F4ng vi\u1EC7c \u0111\u00E3 k\u1EBFt th\u00FAc, kh\u00F4ng th\u1EC3 s\u1EED d\u1EE5ng t\u00EDnh n\u0103ng t\u1EA3i v\u1EC1 h\u00ECnh \u1EA3nh, x\u00F3a, h\u00ECnh \u1EA3nh/ Excel. |
| | | WORKSPACE_INCLUDE_DISABLED = Trong tr\u1EA1ng th\u00E1i kh\u00F4ng ho\u1EA1t \u0111\u1ED9ng trong kh\u00F4ng gian c\u00F4ng vi\u1EC7c t\u01B0\u01A1ng \u1EE9ng, b\u1EA1n kh\u00F4ng th\u1EC3 s\u1EED d\u1EE5ng t\u00EDnh n\u0103ng t\u1EA3i v\u1EC1 h\u00ECnh \u1EA3nh/ thanh to\u00E1n. |
| | | |
| | | ATTACHED_FILE_NOT_EXIST = H\u1ED3 s\u01A1 t\u1EADp tin ch\u1EC9 c\u00F3 s\u1EB5n trong jpg v\u00E0 png. |
| | | |
| | | START_ISSUE_STATUS_NOT_EXIST = T\u00ECnh tr\u1EA1ng c\u1EE7a v\u1EA5n \u0111\u1EC1 b\u1EAFt \u0111\u1EA7u kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | END_ISSUE_STATUS_NOT_EXIST = Kh\u00F4ng t\u1ED3n t\u1EA1i t\u00ECnh tr\u1EA1ng k\u1EBFt th\u00FAc. |
| | | |
| | | EMAIL_NOT_SEND = Kh\u00F4ng th\u1EC3 g\u1EEDi mail. |
| | | INVITE_USER_USED_WORKSPACE = Ng\u01B0\u1EDDi s\u1EED d\u1EE5ng t\u01B0\u01A1ng \u1EE9ng \u0111ang tham gia v\u00E0o kh\u00F4ng gian l\u00E0m vi\u1EC7c. |
| | | |
| | | PROJECT_ROLE_NOT_EXIST = Vai tr\u00F2 c\u1EE7a d\u1EF1 \u00E1n kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | WORKSPACE_NOT_NAME = Kh\u00F4ng gian l\u00E0m vi\u1EC7c ch\u01B0a \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | WORKSPACE_MAX_USER_EXCESS = S\u1ED1 ng\u01B0\u1EDDi d\u00F9ng t\u1ED1i \u0111a trong kh\u00F4ng gian c\u00F4ng vi\u1EC7c \u0111\u00E3 b\u1ECB v\u01B0\u1EE3t qu\u00E1. N\u1EBFu s\u1ED1 l\u01B0\u1EE3ng ng\u01B0\u1EDDi d\u00F9ng t\u1ED1i \u0111a v\u01B0\u1EE3t qu\u00E1 s\u1ED1 l\u01B0\u1EE3ng ng\u01B0\u1EDDi d\u00F9ng \u0111\u01B0\u1EE3c m\u1EDDi th\u00EC b\u1EA1n kh\u00F4ng th\u1EC3 ti\u1EBFp c\u1EADn kh\u00F4ng gian l\u00E0m vi\u1EC7c t\u01B0\u01A1ng \u1EE9ng. |
| | | WORKSPACE_MAX_USER_EXCESS_NOT_INCLUDE = S\u1ED1 ng\u01B0\u1EDDi d\u00F9ng t\u1ED1i \u0111a trong kh\u00F4ng gian c\u00F4ng vi\u1EC7c v\u01B0\u1EE3t qu\u00E1 s\u1ED1 ng\u01B0\u1EDDi d\u00F9ng n\u00EAn kh\u00F4ng th\u1EC3 thay \u0111\u1ED5i tr\u1EA1ng th\u00E1i tham gia |
| | | WORKSPACE_NAME_MAX_LENGTH_OUT = Kh\u00F4ng gian l\u00E0m vi\u1EC7c c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 50 k\u00FD t\u1EF1. |
| | | |
| | | DEFAULT_PROJECT_MANAGER_NOT_CHANGE = Ng\u01B0\u1EDDi qu\u1EA3n l\u00FD d\u1EF1 \u00E1n c\u01A1 b\u1EA3n \u0111\u01B0\u1EE3c cung c\u1EA5p ph\u1EA3i c\u00F3 ng\u01B0\u1EDDi qu\u1EA3n l\u00FD kh\u00F4ng gian l\u00E0m vi\u1EC7c. |
| | | |
| | | |
| | | ISSUE_STATUS_NOT_ID = Kh\u00F4ng nh\u1EADp ID tr\u1EA1ng th\u00E1i v\u1EA5n \u0111\u1EC1. |
| | | ISSUE_STATUS_NAME_MAX_LENGTH_OUT = M\u1ED9t t\u00EAn c\u1EE7a v\u1EA5n \u0111\u1EC1 c\u00F3 th\u1EC3 \u0111\u01B0\u1EE3c nh\u1EADp t\u1ED1i \u0111a 50 k\u00FD t\u1EF1. |
| | | ISSUE_STATUS_NOT_NAME = Nguy\u00EAn nh\u00E2n g\u00E2y ra v\u1EA5n \u0111\u1EC1 ch\u01B0a \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | ISSUE_STATUS_NOT_COLOR = M\u00E0u s\u1EAFc kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp v\u00E0o c\u1EE7a t\u00ECnh h\u00ECnh v\u1EA5n \u0111\u1EC1. |
| | | ISSUE_STATUS_USED_NAME = C\u00E1c v\u1EA5n \u0111\u1EC1 \u0111ang \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. |
| | | ISSUE_STATUS_REMOVE_NOT_SELECT = T\u00ECnh tr\u1EA1ng c\u1EE7a v\u1EA5n \u0111\u1EC1 s\u1EBD kh\u00F4ng \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn. |
| | | DEFAULT_ISSUE_STATUS_NOT_REMOVE = Tr\u1EA1ng th\u00E1i v\u1EA5n \u0111\u1EC1 c\u01A1 b\u1EA3n kh\u00F4ng th\u1EC3 b\u1ECB x\u00F3a. |
| | | ISSUE_STATUS_NOT_EXIST = T\u00ECnh tr\u1EA1ng c\u1EE7a v\u1EA5n \u0111\u1EC1 kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | READY_ISSUE_STATUS_NOT_EXIST = Kh\u00F4ng th\u1EC3 t\u00ECm th\u1EA5y m\u1ED9t tr\u1EA1ng th\u00E1i m\u00E0 lo\u1EA1i h\u00ECnh c\u1EE7a v\u1EA5n \u0111\u1EC1 \u0111ang ch\u1EDD \u0111\u1EE3i. |
| | | ISSUE_STATUS_CHANGE_NOT_TARGET = Kh\u00F4ng th\u1EC3 thay \u0111\u1ED5i sang tr\u1EA1ng th\u00E1i \u0111\u00E3 ch\u1ECDn. H\u00E3y ki\u1EC3m tra workbook. |
| | | ISSUE_STATUS_USE_ISSUES = C\u00F3 r\u1EA5t nhi\u1EC1u v\u1EA5n \u0111\u1EC1 \u0111ang \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng trong l\u0129nh v\u1EF1c n\u00E0y. |
| | | ISSUE_STATUS_USE_WORKFLOW = workbook \u0111ang \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng \u1EDF tr\u1EA1ng th\u00E1i v\u1EA5n \u0111\u1EC1. |
| | | |
| | | WORKFLOW_NOT_EXIST = Kh\u00F4ng c\u00F3 workbook. |
| | | WORKFLOW_NOT_NAME = T\u00EAn workbook kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | WORKFLOW_NAME_MAX_LENGTH_OUT = B\u1EA1n c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 20 k\u00FD t\u1EF1. |
| | | WORKFLOW_USED_NAME = T\u00EAn workbook \u0111\u00E3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. |
| | | WORKFLOW_TRANSITION_NOT_EXIST = workbook kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | WORKFLOW_USED_ISSUE_TYPE = workbook \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng theo t\u1EEBng lo\u1EA1i v\u1EA5n \u0111\u1EC1 n\u00EAn kh\u00F4ng th\u1EC3 x\u00F3a. |
| | | WORKFLOW_ISOLATION = T\u00ECnh tr\u1EA1ng v\u1EA5n \u0111\u1EC1 b\u1ECB c\u00F4 l\u1EADp trong workbook t\u1ED3n t\u1EA1i. |
| | | WORKFLOW_REMOVE_NOT_SELECT = \u0110\u00E3 kh\u00F4ng l\u1EF1a ch\u1ECDn workbook \u0111\u1EC3 x\u00F3a. |
| | | |
| | | CUSTOM_FIELD_NOT_EXIST = Ch\u1EEF vi\u1EBFt t\u1EAFt c\u1EE7a ng\u01B0\u1EDDi d\u00F9ng kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | CUSTOM_FIELD_NOT_NAME = Ch\u01B0a c\u00F3 t\u00EAn g\u1ECDi ch\u00EDnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng. |
| | | CUSTOM_FIELD_NAME_MAX_LENGTH_OUT = Ch\u1EEF c\u00E1i ch\u00EDnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 50 ch\u1EEF. |
| | | CUSTOM_FIELD_USED_NAME = Ng\u01B0\u1EDDi d\u00F9ng ch\u00EDnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng \u0111\u00E3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. |
| | | CUSTOM_FIELD_REMOVE_NOT_SELECT = M\u00E3 \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng s\u1EBD x\u00F3a kh\u00F4ng \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn. |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_INPUT_FIELD = B\u1ED9 ph\u1EADn n\u1ED1i ch\u1EEF kh\u00F4ng th\u1EC3 s\u1EED d\u1EE5ng gi\u00E1 tr\u1ECB t\u00F9y ch\u1ECDn. |
| | | CUSTOM_FIELD_OPTIONS_NOT_EXIST_DEFAULT_VALUE = Gi\u00E1 tr\u1ECB c\u01A1 b\u1EA3n c\u1EE7a \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng kh\u00F4ng t\u1ED3n t\u1EA1i trong t\u00F9y ch\u1ECDn. |
| | | CUSTOM_FIELD_OPTIONS_USED_EXIST_DEFAULT_VALUE = C\u00F3 gi\u00E1 tr\u1ECB tr\u00F9ng l\u1EB7p v\u1EDBi gi\u00E1 tr\u1ECB c\u01A1 b\u1EA3n c\u1EE7a \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng. |
| | | CUSTOM_FIELD_OPTIONS_NOT_USE_MULTI_DEFAULT_VALUE = Kh\u00F4ng th\u1EC3 ch\u1EC9 \u0111\u1ECBnh tr\u00EAn 2 gi\u00E1 tr\u1ECB c\u01A1 b\u1EA3n v\u1EC1 gi\u00E1 tr\u1ECB l\u1EF1a ch\u1ECDn con s\u1ED1 do ng\u01B0\u1EDDi s\u1EED d\u1EE5ng \u0111\u1ECBnh ngh\u0129a. |
| | | CUSTOM_FIELD_OPTIONS_NOT_EMPTY_VALUE = Kh\u00F4ng th\u1EC3 \u0111\u0103ng k\u00FD gi\u00E1 tr\u1ECB l\u1EF1a ch\u1ECDn con s\u1ED1 theo \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng. |
| | | CUSTOM_FIELD_OPTIONS_NOT_VALUE = Ch\u01B0a nh\u1EADp gi\u00E1 tr\u1ECB l\u1EF1a ch\u1ECDn thi\u1EBFt l\u1EADp theo \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng. |
| | | CUSTOM_FIELD_TEXT_TYPE_MAX_LENGTH_OUT = Ch\u1EEF vi\u1EBFt tay \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a \u0111\u1EBFn 100 ch\u1EEF. |
| | | CUSTOM_FIELD_DEFAULT_VALUE_MAX_LENGTH_OUT = Ch\u1EEF s\u1ED1 c\u01A1 b\u1EA3n c\u1EE7a danh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng c\u00F3 th\u1EC3 nh\u1EADp t\u1EDBi 100 ch\u1EEF |
| | | CUSTOM_FIELD_OPTION_VALUE_MAX_LENGTH_OUT = Gi\u00E1 tr\u1ECB l\u1EF1a ch\u1ECDn tu\u1EF3 ch\u1ECDn theo \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi s\u1EED d\u1EE5ng c\u00F3 th\u1EC3 nh\u1EADp \u0111\u1EBFn t\u1ED1i \u0111a 15 k\u00FD t\u1EF1. |
| | | |
| | | ISSUE_TYPE_NOT_EXIST = Kh\u00F4ng c\u00F3 v\u1EA5n \u0111\u1EC1 g\u00EC t\u1ED3n t\u1EA1i. |
| | | ISSUE_TYPE_NOT_NAME = M\u1ED9t ng\u01B0\u1EDDi c\u00F3 v\u1EA5n \u0111\u1EC1 \u0111\u00E3 kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | ISSUE_TYPE_NAME_MAX_LENGTH_OUT = C\u00E1c lo\u1EA1i v\u1EA5n \u0111\u1EC1 c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 50 t\u1EEB. |
| | | ISSUE_TYPE_USED_NAME = Nh\u1EEFng ng\u01B0\u1EDDi c\u00F3 v\u1EA5n \u0111\u1EC1 \u0111\u00E3 \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng. |
| | | ISSUE_TYPE_REMOVE_NOT_SELECT = Kh\u00F4ng l\u1EF1a ch\u1ECDn lo\u1EA1i v\u1EA5n \u0111\u1EC1 s\u1EBD x\u00F3a. |
| | | ISSUE_TYPE_NOT_COLOR = M\u00E0u s\u1EAFc kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp v\u00E0o trong m\u1ED9t v\u1EA5n \u0111\u1EC1. |
| | | ISSUE_TYPE_USE_ISSUES = \u0111ang s\u1EED d\u1EE5ng trong l\u0129nh v\u1EF1c n\u00E0y. |
| | | |
| | | PRIORITY_NOT_EXIST = Th\u1EE9 t\u1EF1 \u01B0u ti\u00EAn kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | SEVERITY_NOT_EXIST = S\u1EF1 quan tr\u1ECDng kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | |
| | | ISSUE_NOT_EXIST = Kh\u00F4ng c\u00F3 v\u1EA5n \u0111\u1EC1 g\u00EC. |
| | | ISSUE_NUMBER_GENERATOR_NOT_EXIST = \u0110\u00E3 x\u1EA3y ra l\u1ED7i trong khi t\u1EA1o ra s\u1ED1 \u0111i\u1EC7n tho\u1EA1i. |
| | | ISSUE_NUMBER_NOT_EXIST = S\u1ED1 \u0111i\u1EC7n tho\u1EA1i c\u00F3 v\u1EA5n \u0111\u1EC1 kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | ISSUE_TITLE_MAX_LENGTH_OUT = Ti\u00EAu \u0111\u1EC1 c\u1EE7a v\u1EA5n \u0111\u1EC1 c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 300 ch\u1EEF. |
| | | ISSUE_NOT_MODIFY_PERMISSION = Kh\u00F4ng c\u00F3 quy\u1EC1n s\u1EEDa \u0111\u1ED5i v\u1EA5n \u0111\u1EC1. |
| | | ISSUE_REMOVE_NOT_SELECT = Kh\u00F4ng l\u1EF1a ch\u1ECDn v\u1EA5n \u0111\u1EC1 s\u1EBD x\u00F3a. |
| | | ISSUE_NO_TITLE = T\u1EF1a \u0111\u1EC1 \u0111\u00E3 kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | ISSUE_NOT_SEND_USER = Kh\u00F4ng \u0111\u01B0\u1EE3c l\u1EF1a ch\u1ECDn \u0111\u1ED1i t\u01B0\u1EE3ng \u0111\u1EC3 g\u1EEDi c\u00E2u h\u1ECFi. |
| | | |
| | | ISSUE_COMMENT_REMOVE_NOT_SELECT = Nh\u1EEFng b\u00ECnh lu\u1EADn s\u1EBD kh\u00F4ng \u0111\u01B0\u1EE3c x\u00F3a. |
| | | ISSUE_COMMENT_NOT_EXIST = B\u00ECnh lu\u1EADn kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | ISSUE_COMMENT_NOT_REMOVE_PERMISSION = Kh\u00F4ng c\u00F3 quy\u1EC1n h\u1EA1n n\u00E0o x\u00F3a b\u00ECnh lu\u1EADn. |
| | | ISSUE_COMMENT_NOT_COMMENT = B\u00ECnh lu\u1EADn ch\u01B0a \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | ISSUE_COMMENT_MAX_LENGTH_OUT = C\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 300 ch\u1EEF c\u00E1i v\u00E0o comment. |
| | | |
| | | USER_WORKSPACE_NOT_EXIST = Kh\u00F4ng c\u00F3 th\u00F4ng tin k\u1EBFt n\u1ED1i ng\u01B0\u1EDDi d\u00F9ng trong kh\u00F4ng gian c\u00F4ng vi\u1EC7c. |
| | | |
| | | WIDGET_SEARCH_DATE_NOT_FOUND = Kh\u00F4ng th\u1EC3 t\u00ECm th\u1EA5y ng\u00E0y th\u00E1ng t\u00ECm ki\u1EBFm widget. |
| | | |
| | | USER_NO_NAME = Ch\u01B0a nh\u1EADp t\u00EAn \u0111\u01B0\u1EE3c. |
| | | USER_NAME_LENGTH_EXCESS = T\u00EAn ng\u01B0\u1EDDi d\u00F9ng ch\u1EC9 c\u00F3 th\u1EC3 c\u00F3 50 t\u1EEB. |
| | | USER_NO_EMAIL = \u0110\u1ECBa ch\u1EC9 email ch\u01B0a \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | USER_INVALID_EMAIL = \u0110\u00E2y l\u00E0 \u0111\u1ECBa ch\u1EC9 email sai. |
| | | USER_USED_EMAIL = \u0110\u1ECBa ch\u1EC9 email \u0111\u00E3 \u0111\u0103ng k\u00FD. |
| | | USER_NO_PASSWORD = M\u1EADt kh\u1EA9u kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | USER_NOT_MODIFY_SELF = Kh\u00F4ng th\u1EC3 s\u1EEDa th\u00F4ng tin c\u1EE7a ng\u01B0\u1EDDi kh\u00E1c. |
| | | USER_PHONE_MAX_LENGTH_OUT = S\u1ED1 li\u00EAn l\u1EA1c c\u00F3 th\u1EC3 nh\u1EADp t\u1ED1i \u0111a 20 k\u00FD t\u1EF1. |
| | | USER_PHONE_ONLY_NUMBER = S\u1ED1 li\u00EAn l\u1EA1c ch\u1EC9 c\u00F3 th\u1EC3 \u0111\u01B0\u1EE3c nh\u1EADp. |
| | | USER_PASSWORD_MAX_LENGTH_OUT = M\u1EADt kh\u1EA9u c\u00F3 th\u1EC3 \u0111\u01B0\u1EE3c nh\u1EADp t\u1ED1i \u0111a 20 k\u00FD t\u1EF1. |
| | | USER_PASSWORD_NOT_SAME_CONFIRM_PASSWORD = M\u1EADt kh\u1EA9u m\u1EDBi v\u00E0 m\u1EADt kh\u1EA9u m\u1EDBi nh\u1EADp v\u00E0o ph\u1EA7n x\u00E1c nh\u1EADn kh\u00E1c nhau. |
| | | USER_INVALID_CURRENT_PASSWORD = M\u00E3 s\u1ED1 b\u00ED m\u1EADt hi\u1EC7n t\u1EA1i \u0111\u00E3 b\u1ECB sai. |
| | | USER_INVALID_LICENSEKEY = The current license key entered is invalid.\ |
| | | USER_PASSWORD_SAME_NEW_PASSWORD = M\u00E3 s\u1ED1 b\u00ED m\u1EADt \u0111ang \u0111\u01B0\u1EE3c s\u1EED d\u1EE5ng hi\u1EC7n nay ph\u1EA3i kh\u00E1c nhau. |
| | | USER_WITH_DRAW_EXIST = T\u00E0i kho\u1EA3n t\u01B0\u01A1ng \u1EE9ng c\u00F3 ghi ch\u00E9p v\u1EC1 vi\u1EC7c r\u00FAt kh\u1ECFi h\u1ED9i vi\u00EAn |
| | | USER_PROFILE_SIZE_NOT_ALLOW = K\u00EDch th\u01B0\u1EDBc profile c\u1EE7a ng\u01B0\u1EDDi s\u1EED d\u1EE5ng qu\u00E1 l\u1EDBn. H\u00E3y t\u1EA3i v\u1EC1 file d\u01B0\u1EDBi 10MB. |
| | | USER_PROFILE_UPLOAD_FILE_TYPE_NOT_ALLOW = T\u1EADp tin h\u1ED3 s\u01A1 ch\u1EC9 c\u00F3 kh\u1EA3 n\u0103ng l\u00E0 JYP. |
| | | USER_NOT_EQUAL_PASSWORD = M\u1EADt kh\u1EA9u kh\u00F4ng ph\u00F9 h\u1EE3p. |
| | | USER_NOT_EXIST = Ng\u01B0\u1EDDi s\u1EED d\u1EE5ng kh\u00F4ng t\u1ED3n t\u1EA1i. |
| | | USER_NOT_AUTHORIZED = Kh\u00F4ng c\u00F3 quy\u1EC1n ki\u1EC3m \u0111\u1ECBnh ng\u01B0\u1EDDi d\u00F9ng. |
| | | USER_EXPIRED_PASSWORD = M\u1EADt kh\u1EA9u \u0111\u00E3 h\u1EBFt h\u1EA1n. |
| | | USER_RETURN_PASSWORD_NOT_PROVIDER_SOCIAL_JOIN_USER = Ng\u01B0\u1EDDi d\u00F9ng kh\u00F4ng th\u1EC3 s\u1EED d\u1EE5ng t\u00EDnh n\u0103ng t\u00ECm ki\u1EBFm m\u1EADt kh\u1EA9u. |
| | | USER_NOT_USE_ACTIVE_STATUS = Ng\u01B0\u1EDDi d\u00F9ng kh\u00F4ng th\u1EC3 \u0111\u0103ng nh\u1EADp n\u1EBFu kh\u00F4ng \u1EDF tr\u1EA1ng th\u00E1i k\u00EDch ho\u1EA1t. |
| | | |
| | | EXCEL_NOT_EXTENSION = Ch\u1EC9 c\u00F3 ng\u01B0\u1EDDi m\u1EDF r\u1ED9ng t\u1EADp tin Excel (xlsx). |
| | | EXCEL_DOWNLOAD_MAX_ROWS_OVER = Ch\u1EC9 c\u00F3 10,000 l\u01B0\u1EE3t download th\u00F4i. Vui l\u00F2ng thay \u0111\u1ED5i danh s\u00E1ch truy c\u1EADp d\u01B0\u1EDBi 10.000 c\u00E1i v\u00E0 t\u1EA3i xu\u1ED1ng. |
| | | EXCEL_CONDITIONS_NOT_EXIST = Kh\u00F4ng th\u1EC3 t\u00ECm th\u1EA5y \u0111i\u1EC1u ki\u1EC7n t\u00ECm ki\u1EBFm c\u1EA7n thi\u1EBFt \u0111\u1EC3 t\u1EA3i xu\u1ED1ng Excel. |
| | | EXCEL_EMPTY_CELL = Kh\u00F4ng th\u1EC3 t\u00ECm c\u1ED9t quay \u1EDF ph\u1EA7n \u0111\u1EA7u. C\u00F3 v\u1EA5n \u0111\u1EC1 v\u1EDBi m\u1EABu t\u1EF1 s\u01B0\u1EDBng. |
| | | EXCEL_HEADER_EMPTY_CELL = C\u00F3 m\u1ED9t b\u1EE9c selca trong \u0111\u1EA7u t\u1EF1 s\u01B0\u1EDBng. |
| | | EXCEL_IMPORT_ISSUE_TITLE_IS_NULL=Kh\u00F4ng c\u00F3 ch\u1EE7 \u0111\u1EC1 n\u1EB1m \u1EDF line ti\u1EBFp theo. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_PROJECT_KEY_IS_NULL=\u1EDE line quay ti\u1EBFp theo, ch\u00ECa kh\u00F3a d\u1EF1 \u00E1n kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_PROJECT_NOT_EXIST=Kh\u00F4ng c\u00F3 d\u1EF1 \u00E1n n\u00E0o \u0111\u01B0\u1EE3c t\u00ECm ki\u1EBFm v\u1EDBi ch\u00ECa kh\u00F3a d\u1EF1 \u00E1n \u0111\u01B0\u1EE3c nh\u1EADp t\u1EEB d\u00F2ng Excel sau. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_IS_NULL=M\u1ED9t ng\u01B0\u1EDDi kh\u00F4ng \u0111\u01B0\u1EE3c nh\u1EADp m\u1ED9t ki\u1EC3u v\u1EA5n \u0111\u1EC1 \u1EDF d\u00F2ng Excel ti\u1EBFp theo. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_ISSUE_TYPE_NOT_EXIST=Kh\u00F4ng c\u00F3 lo\u1EA1i v\u1EA5n \u0111\u1EC1 n\u00E0o \u0111\u01B0\u1EE3c t\u00ECm ki\u1EBFm d\u01B0\u1EDBi d\u1EA1ng c\u00E2u h\u1ECFi m\u00E0 \u0111\u01B0\u1EE3c nh\u1EADp. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_PRIORITY_IS_NULL=Kh\u00F4ng nh\u1EADp th\u1EE9 t\u1EF1 \u01B0u ti\u00EAn cho d\u00F2ng Excel ti\u1EBFp theo. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_PRIORITY_NOT_EXIST=Kh\u00F4ng c\u00F3 th\u1EE9 t\u1EF1 \u01B0u ti\u00EAn \u0111\u01B0\u1EE3c t\u00ECm ki\u1EBFm theo t\u00EAn \u01B0u ti\u00EAn \u0111\u01B0\u1EE3c nh\u1EADp \u1EDF d\u00F2ng Excel sau. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_SEVERITY_IS_NULL=Kh\u00F4ng c\u00F3 t\u00EAn g\u1ECDi quan tr\u1ECDng n\u00E0o \u0111\u01B0\u1EE3c nh\u1EADp trong \u0111\u01B0\u1EDDng Excel ti\u1EBFp theo. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_SEVERITY_NOT_EXIST=Kh\u00F4ng c\u00F3 th\u1EE9 t\u1EF1 \u01B0u ti\u00EAn g\u00EC \u0111\u01B0\u1EE3c t\u00ECm ki\u1EBFm m\u1EE9c \u0111\u1ED9 quan tr\u1ECDng \u0111\u01B0\u1EE3c nh\u1EADp t\u1EEB d\u00F2ng Excel sau. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_CUSTOM_FIELD_VALUE_NOT_VALIDITY=Gi\u00E1 tr\u1ECB c\u1EA7n thi\u1EBFt c\u1EE7a \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng nh\u1EADp t\u1EEB d\u00F2ng Excel ti\u1EBFp theo kh\u00F4ng c\u00F3 hi\u1EC7u l\u1EF1c. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_HEADER_CUSTOM_FIELD_NOT_EXIST=Kh\u00F4ng th\u1EC3 t\u00ECm th\u1EA5y b\u1ED9 l\u1ECDc \u0111\u1ECBnh ngh\u0129a ng\u01B0\u1EDDi d\u00F9ng \u0111\u1ECBnh \u0111\u0103ng k\u00FD. T\u00EAn c\u1EE7a ph\u1EA7n ghi ch\u00FA ng\u01B0\u1EDDi d\u00F9ng t\u01B0\u01A1ng \u1EE9ng \u0111\u00E3 b\u1ECB thay \u0111\u1ED5i ho\u1EB7c x\u00F3a. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY= C\u00F3 v\u1EA5n \u0111\u1EC1 v\u1EC1 ng\u00E0y b\u1EAFt \u0111\u1EA7u, ng\u00E0y k\u1EBFt th\u00FAc nh\u1EADp \u1EDF d\u00F2ng Excel sau. Ng\u00E0y b\u1EAFt \u0111\u1EA7u ph\u1EA3i nhanh h\u01A1n ng\u00E0y k\u1EBFt th\u00FAc. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_PERIOD_NOT_VALIDITY_EMPTY=C\u00F3 v\u1EA5n \u0111\u1EC1 v\u1EC1 ng\u00E0y b\u1EAFt \u0111\u1EA7u, ng\u00E0y k\u1EBFt th\u00FAc nh\u1EADp \u1EDF d\u00F2ng Excel sau. Sau khi ki\u1EC3m tra xem c\u00F2n bao nhi\u00EAu ch\u1ED7 tr\u1ED1ng th\u00EC h\u00E3y xo\u00E1 b\u1ECF kho\u1EA3ng tr\u1ED1ng \u0111\u00F3. \n th\u00F4ng tin d\u00E2y : {0} |
| | | EXCEL_IMPORT_MAX_ROWS_OVER = B\u1EA1n ch\u1EC9 c\u00F3 th\u1EC3 \u0111\u0103ng k\u00FD v\u1EA5n \u0111\u1EC1 v\u1EDBi vi\u1EC7c \u0111\u0103ng t\u1EA3i t\u1EF1 \u0111\u1ED9ng l\u00EAn \u0111\u1EBFn t\u1ED1i \u0111a 10 ng\u00E0n. N\u1EBFu gh\u1EBF t\u1EF1 \u0111\u1ED9ng so\u1EA1n d\u01B0\u1EDBi 10.000 vi\u1EC7c, h\u00E3y th\u1EED l\u1EA1i sau khi x\u00F3a t\u1EA5t c\u1EA3 c\u00E1c d\u00F2ng cu\u1ED1i c\u00F9ng \u0111\u01B0\u1EE3c vi\u1EBFt. |
| | | RESERVATION_EMAIL_TITLE=[OWL ITS] V\u1EA5n \u0111\u1EC1 v\u00E0 ho\u1EA1t \u0111\u1ED9ng ti\u1EBFp theo. |
| | | |
| | | ISSUE_RESERVATION_VALUE_INVALID=\u0110\u1ED3ng th\u1EDDi c\u0169ng cho ph\u00E9p \u0111i\u1EC1u ph\u1ED1i vi\u00EAn hi\u1EC7n \u0111\u1EA1i. |
| | | ISSUE_RESERVATION_NOT_EXIST=Vi\u1EC7c th\u1EA9m \u0111\u1ECBnh s\u1EBD kh\u00F4ng th\u00F4ng b\u00E1o tr\u01B0\u1EDBc. |
| | | |
| | | FILE_TYPE_NOT_ALLOW = Lo\u1EA1i file kh\u00F4ng \u0111\u01B0\u1EE3c ph\u00E9p. |
| | | WORKSPACE_OUT=Kh\u00F4ng gian l\u00E0m vi\u1EC7c sau khi tham gia \u0111\u00E3 b\u1ECB lo\u1EA1i tr\u1EEB. ({0}) |
| | | |
| | | NOTICE_NOT_EXIST=Kh\u00F4ng c\u00F3 n\u1ED9i dung th\u00F4ng b\u00E1o. |
| | | NOTICE_EMPTY_CONTENT=C\u00F3 m\u1ED9t cu\u1ED1n s\u00E1ch kh\u00F4ng c\u00F3 gi\u00E1 tr\u1ECB nh\u1EADp trong ti\u00EAu \u0111\u1EC1 th\u00F4ng b\u00E1o v\u00E0 n\u1ED9i dung th\u00F4ng b\u00E1o. |
| | | |
| | | FAQ_NOT_EXIST=FAQ does not exist. |
| | | FAQ_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | GUIDE_NOT_EXIST=Guide does not exist. |
| | | GUIDE_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | EVENT_NOT_EXIST=Event does not exist. |
| | | EVENT_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
| | | |
| | | QNA_NOT_EXIST=QNA does not exist. |
| | | QNA_EMPTY_CONTENT=There is a field that does not have an input value among the bulletins title and content. |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>Event</title> |
| | | </head> |
| | | <body> |
| | | <div> |
| | | <a href="https://forms.gle/TSBrCgp95C5PZ3Ma6" target="_blank"><img src="/assets/images/event.png"></a> |
| | | </div> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="UTF-8"> |
| | | <title>Event</title> |
| | | </head> |
| | | <body> |
| | | <embed style="width:100%;height:100%;" type="text/html" src="http://www.wisestone.kr/company/about.php"> |
| | | </body> |
| | | </html> |
New file |
| | |
| | | 1개인정보 처리방침<br><br> |
| | | 주식회사 와이즈스톤(이하 “회사”)은 고객의 개인정보 보호를 매우 중요시하며, 정보통신망 이용촉진 및 정보보호에 관한 법률을 준수하고 있습니다. 회사는 개인정보 처리방침의 공개를 통하여 고객의 개인정보가 |
| | | 어떠한 목적과 방식으로 이용되고 있으며 개인정보보호를 위해 어떠한 조치가 취해지고 있는지를 알려 드립니다. 본 개인정보 처리방침은 관련 법령의 개정이나 회사 내부방침에 의해 변경될 수 있습니다. 변경될 시에는 |
| | | 언제든지 그 내용과 이유를 쉽게 알 수 있도록 공지사항을 통하여 알려드리겠습니다.<br> |
| | | |
| | | 제 1조 (개인정보의 수집항목 및 이용목적)<br> |
| | | 고객이 동의한 이용약관에 따라 OWL 서비스(OWL solution 사이트 및 OWL ITS 이하 “OWL 서비스”)의 다양한 기능을 제공하기 위해서, 회사는 고객님으로부터 다음과 같은 개인정보(포괄하여 이하 |
| | | “개인정보”)를 수집, 보관하고 있습니다.<br> |
| | | (1) 필수입력사항<br> |
| | | ① 회원가입 시 수집항목: 이메일, 이름<br> |
| | | (2) 선택입력항목<br> |
| | | ① 사진<br> |
| | | (3) 서비스 이용 또는 사업처리 과정에서 생성 수집되는 각종 거래 및 개인 성향 정보<br> |
| | | ① 서비스 이용기록, 접속로그, 쿠키, 접속 IP정보, 결제기록, 불량이용기록<br> |
| | | (4) 수집•이용목적<br> |
| | | ① 서비스(제품) 문의 등에 대한 상담이나 응대를 위한 활동<br> |
| | | ② 회원제 서비스 이용에 따른 본인확인, 개인식별, 불량회원의 부정 이용방지와 비인가 사용방지, 가입의사 확인, 분쟁조정을 위한 기록보존, 불만처리 등 민원처리, 고지사항 전달<br> |
| | | ③ 서비스 제공에 관한 계약이행 및 서비스 제공에 따른 요금정산 및 특정 맞춤서비스 제공(청구서 등 발송, 요금결제)<br> |
| | | ④ 신규 서비스(제품) 개발 통계학적 특성에 따른 서비스 제공, 특화, 이벤트 등 광고성 정보전달 및 참여기회 제공, 서비스의 유효성 확인, 접속 빈도 파악 또는 회원의 서비스 이용에 대한 통계<br> |
| | | |
| | | 제 2조 (개인정보의 수집방법)<br> |
| | | 홈페이지 회원가입, 회원정보수정, 전화, 이메일, 세미나/설문/이벤트 신청, 문의 및 상담, 제휴문의, 생성정보 수집 툴 등을 통하여 동의한 경우에만 개인정보를 수집합니다.<br> |
| | | |
| | | 제 3조 (개인정보 자동수집장치의 설치 운영 및 그 거부방법)<br> |
| | | 회사는 고객이 홈페이지를 이용하는 경우 고객의 정보를 수시로 저장하고 찾아내는 "쿠키(cookie)"와 홈페이지 사용기록(이하 "통계데이터")을 자동으로 수집하는 장치를 설치•운영할 수 있습니다.<br> |
| | | (1) 쿠키(cookie)란?<br> |
| | | 쿠키는 홈페이지가 고객의 웹 브라우저로 전송하는 소량의 정보입니다. 고객이 홈페이지에 접속하면 회사의 컴퓨터는 고객의 브라우저에 있는 쿠키의 내용을 읽고, 고객의 추가정보를 고객의 컴퓨터에서 찾아 접속에 따른 |
| | | 성명 등의 추가 입력 없이 서비스를 제공할 수 있습니다. 또한, 고객은 쿠키에 대한 선택권이 있습니다. 웹 브라우저 상단의 "도구> 인터넷 옵션 탭에서 모든 쿠키를 다 받아들이거나, 쿠키가 설치될 때 통지를 |
| | | 보내도록 하거나, 아니면 모든 쿠키를 거부할 수 있는 선택권을 가질 수 있습니다. 단, 고객에게서 쿠키설치를 거부하였을 경우 서비스 이용에 불편이 있거나, 서비스 제공에 어려움이 있을 수 있습니다<br> |
| | | (2) 통계데이터란?<br> |
| | | 홈페이지, 이동전화 등의 서비스 이용 시 컴퓨터 및 단말기의 특정영역에 저장되고, 주기적으로 회사의 서버로 전달되는 아래와 같은 정보입니다.<br> |
| | | ① 서비스 사용통계(호접속, 호절단, 호실패 시 망환경, 다운로드 실행오류, 유/무인터넷 접속실패 및 접속시간 등)<br> |
| | | ② 사용 패턴 정보(고객의 메뉴 이동경로, 주로 이용하는 서비스, 서비스 이용횟수, 방문기록 등)<br> |
| | | (3) 회사의 쿠키, 통계데이터 운영<br> |
| | | 회사는 고객의 편의를 위하여 쿠키, 통계데이터를 운영합니다. 회사의 쿠키, 통계데이터 사용목적은 다음과 같습니다.<br> |
| | | ① 관심 있게 둘러본 내용들에 대한 자취를 추적하여 다음 번 접속 때 개인 맞춤 서비스를 제공<br> |
| | | ② 회원과 비회원의 접속빈도 또는 머문 시간 등을 분석하여 고객의 취향과 관심분야를 파악하고 회원들의 습관을 분석하여 서비스 개편 시 기준으로 이용 타깃(target) 마케팅에 활용<br> |
| | | ③ 유료서비스 이용 시 이용기간 안내<br> |
| | | ④ 문의 및 상담 글 등록 편의성 제공<br> |
| | | |
| | | 제 4조 (개인정보의 이용 및 제3자 제공)<br> |
| | | (1) 회사는 고객의 개인정보를 가입신청서, 이용약관, 개인정보 처리방침의 "개인정보 수집•이용 목적상 고지한 범위 내에서 이용 및 제공하며, 그 범위를 넘어서 이용하거나 제공하지 않습니다. 특히, 다음의 |
| | | 경우는 주의를 기울여 개인정보를 이용 및 제공할 것입니다.<br> |
| | | ① 제휴관계<br> |
| | | 보다 나은 서비스 제공을 위하여 고객의 개인정보를 제휴사와 공유하거나 제휴사에 제공 할 수 있습니다. 이 경우 사전에 고객에게 제휴사가 누구인지, 공유 또는 제공되는 개인정보의 항목이 무엇인지, 어떠한 |
| | | 이유에서 개인정보가 공유되거나 제공되어야 하는지, 그리고 어떻게 언제까지 보관•관리되는지에 관하여 개별적으로 전자적 방법이나, 전화, 서면, 팩스, 우편 등을 통해 고지하여 동의를 구하는 절차를 거치게 되며, |
| | | 고객이 동의하지 않는 경우에는 제휴사와 공유하거나 제휴사에 제공되지 않습니다.<br> |
| | | (2) 회사는 서비스의 제공에 관한 계약을 이행하기 위하여 필요한 개인정보로서 기술적•경제적인 사유로 통상적인 동의를 받는 것이 뚜렷하게 곤란한 경우에는 고객의 동의가 없더라도 개인정보를 수집•이용할 수 |
| | | 있습니다.<br> |
| | | (3) 다음의 경우에는 관련 법령의 규정에 의하여 회원의 동의 없이 개인정보를 제공하는 것이 가능합니다.<br> |
| | | ① 서비스제공에 따른 요금 정산을 위하여 필요한 경우<br> |
| | | ② 통계작성•학술연구 또는 시장조사를 위하여 필요한 경우로서 특정 개인을 알아볼 수 없는 형태로 가공하여 제공하는 경우<br> |
| | | ③ 금융 실명 거래 및 비밀보장에 관한 법률, 신용정보의 이용 및 보호에 관한 법률, 전기통신기본법, 전기통신사업법, 지방세법, 소비자보호법, 한국은행법, 형사소송법 등 법률에 특별한 규정이 있는 경우<br> |
| | | ④ 수사 목적으로 법령에 정해진 절차와 방법에 따라 수사기관의 요구가 있는 경우<br> |
| | | ⑤ 고객이 사전에 동의한 경우<br> |
| | | |
| | | 제 5조 (개인정보의 처리위탁)<br> |
| | | (1) 회사는 고객편의 제공과 보다 나은 서비스 제공 등 업무 수행을 원활하게 하기 위하여 외부 전문업체에 고객의 개인정보에 대한 수집•보관•처리•이용•제공•관리•파기 등(이하 “처리”)을 위탁할 수 |
| | | 있습니다.<br> |
| | | (2) 회사가 외부 전문업체에 고객의 개인정보를 처리 위탁하는 경우 그 위탁업무의 내용, 수탁자는 다음 표와 같습니다.<br> |
| | | <개인정보 제3자 제공 및 위탁현황><br> |
| | | 수탁업체 나이스정보통신㈜<br> |
| | | 위탁업무내용 신용카드 결제<br> |
| | | 보유 및 이용기간 회원 탈퇴 시 혹은 위탁계약 종료 시까지<br> |
| | | (3) 회사는 고객의 동의 없이 서비스 제공 이외의 목적으로 개인정보를 처리 위탁하지 않는 것을 원칙으로 합니다. 다만, 그러한 필요가 생기는 경우 위탁업무의 내용과 수탁자를 고객에게 고지하고 동의를 |
| | | 받습니다.<br> |
| | | |
| | | 제 6조 (개인정보의 이용•보관 기간)<br> |
| | | 고객의 개인정보는 동의를 받은 개인정보의 수집 및 이용목적이 달성되면 법령 또는 내부방침에 의해 보존할 필요가 있는 경우를 제외하고는 지체 없이 파기됩니다.<br> |
| | | (1) 무분별한 회원탈퇴와 재가입으로 인한 피해 최소화, 회원탈퇴 후 변심에 의한 민원처리 등을 처리하기 위하여 회원탈퇴 후 1년간 회원정보를 보유할 수 있습니다.<br> |
| | | (2) 보유 기간을 미리 고지하고 별도의 동의를 받은 경우 해당 보유기간까지 보유할 수 있습니다.<br> |
| | | (3) 회사가 법령에 따라 보관하는 개인정보 및 해당 법령은 아래 표와 같습니다.<br> |
| | | |
| | | 보존 항목: 계약 또는 청약철회 등에 관한 기록<br> |
| | | 근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br> |
| | | 보존 기간: 5년<br> |
| | | 보존 항목: 대금결제 및 재화 등의 공급에 관한 기록<br> |
| | | 근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br> |
| | | 보존 기간: 5년<br> |
| | | 보존 항목: 소비자의 불만 또는 분쟁처리에 관한 기록<br> |
| | | 근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br> |
| | | 보존 기간: 3년<br> |
| | | 보존 항목: 표시/광고에 관한 기록<br> |
| | | 근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br> |
| | | 보존 기간: 6개월<br> |
| | | 보존 항목: 세법이 규정하는 모든 거래에 관한 장부 및 증빙서류<br> |
| | | 근거 법령: 국세기본법<br> |
| | | 보존 기간: 5년<br> |
| | | 보존 항목: 전자금융 거래에 관한 기록<br> |
| | | 근거 법령: 전자금융거래법<br> |
| | | 보존 기간: 5년<br> |
| | | 보존 항목: 서비스 방문기록<br> |
| | | 근거 법령: 통신비밀보호법<br> |
| | | 보존 기간: 3개월<br> |
| | | |
| | | (4) 회사는 고객의 개인정보보호를 위해 고객의 회원가입 계정을 사용계정과 휴면계정으로 구분하여 관리합니다. OWL 서비스를 1년 동안 로그인 또는 이용내역이 없을 경우 고객의 개인정보 보호를 위해 |
| | | 휴면계정으로 구분하고 고객 개인정보의 활용 및 제휴사 (제3자 동의한 제휴사)에 고객의 정보를 제공하지 않습니다.<br> |
| | | |
| | | 제 7조 (개인정보의 파기절차 및 방법)<br> |
| | | (1) 고객의 개인정보는 고객으로부터 동의를 받은 수집 및 이용목적이 달성된 때에는 별도의 DB로 옮겨져(종이의 경우 별도의 서류함) 관계 법령에서 정한 일정한 기간 동안 보관한 다음 파기합니다.<br> |
| | | (2) 종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기하고, 전자적 파일 형태로 저장된 개인정보는 기록을 재생할 수 없는 기술적 방법을 사용하여 삭제합니다.<br> |
| | | |
| | | 제 8조 (고객의 권리와 그 행사방법)<br> |
| | | (1) 고객(만 14세 미만인 경우 법정 대리인)은 언제든지 OWL 서비스 내에서 고객의 개인정보를 열람 또는 변경할 수 있으며, 고객은 아울 서비스의 이용약관에 따라 고객의 개인정보 수집 및 이용에 대하여 |
| | | 회사에 동의 철회를 요구하거나 OWL 서비스에서 탈퇴시켜 줄 것을 요구할 수 있습니다<br> |
| | | (2) 온라인 가입정보의 열람 및 정정을 하고자 하는 고객의 경우에는 홈페이지 내의 "회원정보"를 클릭하여 직접 열람 및 정정을 하거나, 고객센터를 통해 서면, 전화 또는 이메일로 연락하시면 지체 없이 |
| | | 조치하겠습니다.<br> |
| | | (3) 회사는 대리인이 방문하여 열람•증명을 요구하는 경우에는 적법한 위임을 받았는지 확인할 수 있는 위임장 및 본인의 인감증명서와 대리인의 신분증 등을 제출 받아 정확히 대리인 여부를 확인합니다.<br> |
| | | (4) 고객이 개인정보의 오류에 대한 정정을 요청하신 경우 회사는 정정을 완료하기 전까지 해당 개인정보를 이용 또는 제공하지 않습니다. 또한 회사는 잘못된 개인정보를 이미 제3자에게 제공한 경우 그 정정 |
| | | 처리결과를 제3자에게 지체 없이 통지하여 정정하도록 합니다. |
| | | (5) 고객은 개인정보를 최신의 상태로 정확하게 입력하고 변동 사항이 있는 경우, 이를 회사에 통보하여야 하며, 스스로 부정확한 정보를 입력하거나, 회사에 통보하지 않아서 회사가 알 수 없는 고객정보의 |
| | | 변동으로 인한 책임은 고객 자신에게 귀속됩니다.<br> |
| | | (6) 고객이 타인 정보의 도용이나 침해, 허위정보를 입력하는 경우 서비스 해지 및 회원자격이 상실될 수 있으며 법 등 관련 법령에 따라 처벌받을 수 있습니다.<br> |
| | | |
| | | 제 9조 (개인정보보호를 위한 기술적 관리적 대책)<br> |
| | | 회사는 고객의 개인정보가 분실, 도난, 누출, 변조 또는 훼손되지 않도록 하기 위해서 다음과 같은 기술적/관리적 대책을 강구하고 있습니다.<br> |
| | | (1) 기술적 대책<br> |
| | | ① 접속기록의 위•변조 방지 조치를 취하고 있습니다.<br> |
| | | ② 개인정보는 그 종류에 따라 관련 법령이 요구하는 수준의 암호화 저장 또는 전송 시 암호화 기술의 적용하여 관리합니다.<br> |
| | | ③ 백신프로그램을 이용하여 컴퓨터 바이러스에 의한 피해를 방지하기 위한 조치를 취하고 있으며, 백신프로그램을 주기적으로 업데이트하고 갑작스러운 바이러스 출현 시에 백신이 나오는 즉시 이를 제공함으로써 |
| | | 개인정보가 침해되는 것을 방지하고 있습니다.<br> |
| | | ④ 암호알고리즘을 이용하여 네트워크상 개인정보를 안전하게 전송하는 보안장치(SSL 등)를 채택하고 있습니다.<br> |
| | | ⑤ 해킹 등 외부 침입에 대비하여 각 서버마다 침입차단시스템 및 취약점분석시스템을 이용하여 보안에 최선을 다하고 있습니다.<br> |
| | | |
| | | (2) 관리적 대책<br> |
| | | ① 회사는 개인정보 보호에 관한 내부관리계획을 수립, 시행하고 있습니다.<br> |
| | | ② 회사는 개인정보에 대한 접근권한을 필요•최소한의 인원으로 제한하고 있습니다.<br> |
| | | ③ 회사는 개인정보관련 취급 직원은 담당자에게 한정시키고 있고 이를 별도의 비밀번호를 부여하여 정기적으로 갱신하고 있으며, 담당자에 대한 수시 교육을 통하여 회사 개인정보 처리방침의 준수를 항상 강조하고 |
| | | 있습니다.<br> |
| | | ④ 회사는 고객의 실수나 기본적인 인터넷의 위험성 때문에 일어나는 일들에 대해 책임을 지지 않습니다. 고객 스스로가 본인의 개인정보를 보호하기 위해서 자신의 이메일과 비밀번호를 적절하게 관리하고 스스로 책임을 |
| | | 져야 합니다.<br> |
| | | |
| | | 제 10조 (개인정보 보호책임자 및 담당자의 연락처)<br> |
| | | 회사는 고객의 개인정보를 보호하고 개인정보와 관련한 불만을 처리하기 위하여 아래와 같이 관련 부서 및 개인정보관리책임자를 지정하고 있습니다. 회사는 고객의 목소리에 귀 기울이고 신속하고 충분한 답변을 드릴 수 |
| | | 있도록 최선을 다하겠습니다.<br> |
| | | |
| | | <개인정보보호 책임자><br> |
| | | 관리 책임자: 이정선 팀장 | 관리 담당자: 김유진 주임<br> |
| | | 담당부서: 테스팅 솔루션센터 소프트웨어 개발팀<br> |
| | | 연락처: jslee1@wisestone.kr<br> |
| | | |
| | | 기타 개인정보침해에 대한 신고나 상담이 필요하신 경우에는 아래 기관에 문의하시기 바랍니다.<br> |
| | | |
| | | ① 개인정보침해신고센터: 전화 118 / 이메일 privacy@kisa.or.kr / http://privacy.kisa.or.kr<br> |
| | | ② 정보보호마크 인증위원회: 전화 02-580-0533~4 / http://www.eprivacy.or.kr<br> |
| | | ③ 대검찰청 사이버범죄수사단: 전화 02-3480-3571 / 이메일 cybercid@spo.go.kr / http://www.spo.go.kr<br> |
| | | ④ 경찰청 사이버테러 대응센터: 전화 1566-0112 / http://cyber.go.kr<br> |
| | | |
| | | 제 11조 (고지의 의무)<br> |
| | | 회사는 법률이나 서비스의 변경사항을 반영하기 위한 목적 등으로 개인정보 처리방침을 수정할 수 있습니다. 개인정보 처리방침이 변경되는 경우 회사는 변경 사항을 게시하며, 변경된 개인정보 처리방침은 게시한 |
| | | 날로부터 7일 후부터 효력이 발생합니다. 하지만, 피치 못하게 여러분의 권리에 중요한 변경이 있을 경우 변경될 내용을 30일 전에 미리 알려드리겠습니다.<br> |
| | | |
| | | – 시행일자 : 2018년 11월 09일<br><br> |
New file |
| | |
| | | <?xml version="1.0" standalone="no"?> |
| | | <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> |
| | | <svg xmlns="http://www.w3.org/2000/svg"> |
| | | <metadata>Generated by Fontastic.me</metadata> |
| | | <defs> |
| | | <font id="dripicons-v2" horiz-adv-x="512"> |
| | | <font-face font-family="dripicons-v2" units-per-em="512" ascent="480" descent="-32"/> |
| | | <missing-glyph horiz-adv-x="512" /> |
| | | |
| | | <glyph glyph-name="alarm" unicode="a" d="M459 344c6 5 30 28 31 62 0 25-11 47-35 67 0 0 0 1 0 1-28 21-53 22-68 20-27-5-46-25-54-35-24 9-50 14-77 14-27 0-53-5-77-13-8 10-26 30-53 35-16 3-40 1-68-20 0 0-1-1-1-1-24-21-35-43-35-68 1-34 25-57 31-62-13-29-21-61-21-96 0-56 21-108 56-147-1-1-1-1-1-1l-32-49c-7-10-4-24 6-30 4-3 8-4 12-4 7 0 14 3 18 10l29 43c38-29 85-46 136-46 51 0 99 17 136 47l30-44c4-7 11-10 18-10 5 0 9 1 12 4 10 6 13 20 7 30l-33 49c0 0-1 1-1 1 34 40 54 91 54 147 1 35-7 67-20 96z m-64 106c9 2 20-2 31-11 13-11 19-22 19-32 0-10-5-19-10-24-17 22-38 41-61 56 6 5 13 10 21 11z m-328-43c0 10 6 21 19 32 11 9 22 13 31 11 8-1 15-6 21-11-23-15-44-34-61-56-4 6-10 14-10 24z m189-339c-99 0-179 81-179 180 0 99 80 181 179 181 99 0 179-81 179-180 0-99-80-181-179-181z m81 131c9-9 9-23 0-31-5-5-10-7-16-7-5 0-11 2-15 7l-66 65c-3 4-6 10-6 15l0 120c0 13 10 23 22 23 12 0 22-10 22-23l0-110z"/> |
| | | <glyph glyph-name="align-center" unicode="b" d="M456 412l-400 0c-13 0-23 10-23 22 0 12 10 22 23 22l400 0c13 0 23-10 23-22 0-12-10-22-23-22z m-63-97c0 12-10 22-22 22l-230 0c-12 0-22-10-22-22 0-12 10-22 22-22l230 0c12 0 22 10 22 22z m34-119c0 13-10 23-22 23l-298 0c-12 0-22-10-22-23 0-12 10-22 22-22l298 0c12 0 22 10 22 22z m41-118c0 12-10 22-22 22l-380 0c-12 0-22-10-22-22 0-12 10-22 22-22l379 0c13 0 23 10 23 22z"/> |
| | | <glyph glyph-name="align-justify" unicode="c" d="M456 412l-400 0c-13 0-23 10-23 22 0 12 10 22 23 22l400 0c13 0 23-10 23-22 0-12-10-22-23-22z m23-97c0 12-10 22-23 22l-400 0c-13 0-23-10-23-22 0-12 10-22 23-22l400 0c13 0 23 10 23 22z m0-119c0 13-10 23-23 23l-400 0c-13 0-23-10-23-23 0-12 10-22 23-22l400 0c13 0 23 10 23 22z m-201-118c0 12-10 22-22 22l-199 0c-12 0-22-10-22-22 0-12 10-22 22-22l199 0c12 0 22 10 22 22z"/> |
| | | <glyph glyph-name="align-left" unicode="d" d="M456 412l-400 0c-13 0-23 10-23 22 0 12 10 22 23 22l400 0c13 0 23-10 23-22 0-12-10-22-23-22z m-148-97c0 12-10 22-22 22l-230 0c-13 0-23-10-23-22 0-12 10-22 23-22l230 0c12 0 22 10 22 22z m68-119c0 13-10 23-22 23l-298 0c-13 0-23-10-23-23 0-12 10-22 23-22l298 0c12 0 22 10 22 22z m83-118c0 12-10 22-23 22l-379 0c-12 0-22-10-22-22 0-12 10-22 22-22l379 0c13 0 23 10 23 22z"/> |
| | | <glyph glyph-name="align-right" unicode="e" d="M456 412l-400 0c-13 0-23 10-23 22 0 12 10 22 23 22l400 0c13 0 23-10 23-22 0-12-10-22-23-22z m23-97c0 12-10 22-23 22l-230 0c-12 0-22-10-22-22 0-12 10-22 22-22l230 0c13 0 23 10 23 22z m0-119c0 13-10 23-23 23l-298 0c-12 0-22-10-22-23 0-12 10-22 22-22l298 0c13 0 23 10 23 22z m-2-118c0 12-10 22-22 22l-379 0c-13 0-23-10-23-22 0-12 10-22 23-22l379 0c12 0 22 10 22 22z"/> |
| | | <glyph glyph-name="anchor" unicode="f" d="M485 215c-5 5-11 8-18 8l-71 0c-13 0-23-10-23-23 0-12 10-22 23-22l43 0c-22-72-85-123-161-132l0 295c37 10 64 44 64 84 0 48-38 87-86 87-48 0-86-39-86-87 0-40 25-74 64-84l0-295c-78 9-139 60-161 132l43 0c13 0 23 10 23 22 0 13-10 23-23 23l-71 0c-7 0-13-3-18-8-4-5-6-11-5-17 20-115 118-198 234-198 116 0 214 83 233 198 1 6 0 12-4 17z m-271 210c0 24 19 42 42 42 23 0 42-18 42-42 0-23-19-42-42-42-23 0-42 19-42 42z"/> |
| | | <glyph glyph-name="archive" unicode="g" d="M87 390c0 12 10 22 23 22l292 0c12 0 22-10 22-22 0-13-10-23-22-23l-292 0c-13 0-23 10-23 23z m59 55l220 0c10 0 19 9 19 20 0 10-9 19-19 19l-220 0c-10 0-19-9-19-19 0-11 9-20 19-20z m366-81l0-61c0-2-1-4-1-6l-71-259c-3-9-11-16-21-16l-327 0c-10 0-19 7-21 17l-70 258c0 1 0 2-1 4 0 1 0 2 0 3l0 60c0 12 10 22 22 22 13 0 23-10 23-22l0-41 422 0 0 41c0 12 10 22 23 22 12 0 22-10 22-22z m-52-86l-409 0 58-211 292 0z m-270-111l132 0c12 0 22 10 22 22 0 12-10 22-22 22l-132 0c-12 0-22-10-22-22 0-12 10-22 22-22z"/> |
| | | <glyph glyph-name="arrow-down" unicode="h" d="M444 236c-4 8-12 14-21 14l-72 0 0 206c0 13-13 23-25 23l-140 0c-12 0-25-10-25-23l0-206-72 0c-9 0-17-6-21-14-3-8-1-18 5-25l167-170c4-5 10-7 16-7 6 0 12 2 16 7l167 170c6 7 8 17 5 25z m-188-146l-114 116 44 0c13 0 20 8 20 20l0 208 100 0 0-208c0-12 7-20 20-20l44 0z"/> |
| | | <glyph glyph-name="arrow-left" unicode="i" d="M456 351l-206 0 0 72c0 9-6 17-14 21-8 3-18 1-25-5l-170-167c-5-4-8-10-8-16 0-6 3-12 7-16l170-167c5-4 10-6 16-6 3 0 7 0 9 1 9 4 15 12 15 21l0 72 206 0c12 0 22 13 22 25l0 140c1 12-9 25-22 25z m-22-145l-208 0c-12 0-20-7-20-20l0-44-116 114 116 114 0-44c0-13 8-20 20-20l208 0z"/> |
| | | <glyph glyph-name="arrow-right" unicode="j" d="M472 272l-170 167c-7 6-18 8-25 5-9-4-15-12-15-21l0-72-206 0c-13 0-23-13-23-25l0-140c0-12 10-25 23-25l206 0 0-72c0-9 6-17 14-21 3-1 6-1 9-1 6 0 12 2 16 6l170 167c4 4 6 10 6 16 0 6-1 12-5 16z m-166-130l0 44c0 13-8 20-20 20l-208 0 0 100 208 0c12 0 20 7 20 20l0 44 116-114z"/> |
| | | <glyph glyph-name="arrow-thin-down" unicode="k" d="M411 190l-139-139c-5-4-10-6-16-6-6 0-11 2-16 6l-139 139c-9 9-9 23 0 31 9 9 23 9 32 0l101-101 0 325c0 12 10 22 22 22 12 0 22-10 22-22l0-325 102 101c8 9 22 9 31 0 9-8 9-22 0-31z"/> |
| | | <glyph glyph-name="arrow-thin-left" unicode="l" d="M467 256c0-12-10-22-22-22l-325 0 101-102c9-8 9-22 0-31-4-4-10-6-16-6-5 0-11 2-15 6l-139 139c-9 9-9 23 0 32l139 139c9 9 23 9 31 0 9-9 9-23 0-32l-101-101 325 0c12 0 22-10 22-22z"/> |
| | | <glyph glyph-name="arrow-thin-right" unicode="m" d="M461 240l-139-139c-4-4-10-6-15-6-6 0-11 2-16 6-9 9-9 23 0 32l101 101-325 0c-12 0-22 10-22 22 0 12 10 22 22 22l325 0-101 102c-9 8-9 22 0 31 8 9 22 9 31 0l139-139c9-9 9-23 0-32z"/> |
| | | <glyph glyph-name="arrow-thin-up" unicode="n" d="M411 291c-5-5-10-7-16-7-5 0-11 2-15 7l-102 101 0-325c0-12-10-22-22-22-12 0-22 10-22 22l0 325-102-101c-8-9-22-9-31 0-9 8-9 22 0 31l139 139c9 9 23 9 31 0l139-139c10-9 10-23 1-31z"/> |
| | | <glyph glyph-name="arrow-up" unicode="o" d="M439 302l-167 170c-4 4-10 7-16 7-6 0-12-3-16-7l-167-170c-6-6-8-18-5-25 4-9 12-15 21-15l72 0 0-206c0-12 13-22 25-22l140 0c12 0 25 10 25 22l0 206 72 0c9 0 17 6 21 14 3 8 1 19-5 26z m-113 4c-13 0-20-8-20-20l0-208-100 0 0 208c0 12-7 20-20 20l-44 0 114 116 114-116z"/> |
| | | <glyph glyph-name="article" unicode="p" d="M423 501l-334 0c-12 0-22-10-22-22l0-446c0-12 10-22 22-22l334 0c12 0 22 10 22 22l0 446c0 12-10 22-22 22z m-22-445l-290 0 0 400 290 0z m-234 80c0 11 9 20 19 20l133 0c10 0 19-9 19-20 0-10-8-19-19-19l-133 0c-10 0-19 9-19 19z m0 78c0 11 9 20 19 20l133 0c10 0 19-9 19-20 0-10-8-19-19-19l-133 0c-10 0-19 9-19 19z m172 162c0 10-8 19-19 19l-134 0c-10 0-19-9-19-19l0-78c0-11 9-20 19-20l134 0c11 0 19 9 19 20z m-133-20l95 0 0-39-95 0z"/> |
| | | <glyph glyph-name="backspace" unicode="q" d="M512 258l0-98c0-14-8-25-22-25-14 0-23 11-23 25l0 73-380 0 57-56c10-9 9-25-1-35-5-5-12-7-18-7-6 0-13 2-18 7l-100 98c-4 5-7 12-7 18 0 7 3 13 7 17l100 99c9 9 25 9 35 0 9-9 9-25-1-35l-56-56 401 0c7 0 14-3 19-8 4-4 7-11 7-17z"/> |
| | | <glyph glyph-name="basket" unicode="r" d="M490 351l-61 0c0 0-1 1-1 2l-105 128c-8 10-22 12-31 4-10-8-12-23-4-33l83-101-230 0 83 101c8 10 6 24-4 32-9 8-23 7-31-3l-105-129c0 0-1-1-1-1l-61 0c-12 0-22-8-22-20l0-84c0-12 10-24 22-24l7 0 42-170c5-19 22-31 42-31l286 0c20 0 37 13 42 31l42 170 7 0c12 0 22 12 22 24l0 84c0 12-10 20-22 20z m-445-45l422 0 0-39-422 0z m353-239l-284 0-39 156 362 0z"/> |
| | | <glyph glyph-name="basketball" unicode="s" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m161-392c-14 13-38 41-47 84 43 6 75 15 95 22-5-40-23-76-48-106z m-370 107c20-8 52-17 95-23-8-43-33-71-47-84-25 30-43 66-48 107z m35 149c18-19 56-67 62-127-54 8-86 20-99 26 4 37 17 72 37 101z m384-101c-12-6-44-18-98-26 5 60 44 108 62 127 20-29 33-64 36-101z m-143-31c-14-1-29-2-45-2l0 224c48-5 90-25 123-56-21-22-74-84-78-166z m-89-3c-16 1-31 1-45 2-4 83-58 145-78 167 33 30 75 51 122 56l0-225z m-48-42c15-1 30-2 48-2l0-151c-40 4-77 20-108 43 20 19 50 55 60 110z m92-3c17 1 33 2 48 3 10-55 40-92 60-111-30-23-68-38-108-43z"/> |
| | | <glyph glyph-name="battery-empty" unicode="t" d="M490 317l-17 0 0 61c0 13-9 23-22 23l-429 0c-12 0-22-10-22-23l0-244c0-13 10-23 22-23l429 0c12 0 22 10 22 23l0 61 17 0c12 0 22 8 22 20l0 82c0 12-10 20-22 20z m-61-161l-384 0 0 200 384 0z"/> |
| | | <glyph glyph-name="battery-full" unicode="u" d="M195 211l0 90c0 12 10 22 22 22l39 0c12 0 22-10 22-22l0-90c0-12-10-22-22-22l-39 0c-12 0-22 10-22 22z m139-22l39 0c12 0 22 10 22 22l0 57c0 6-1 11-5 15l-29 33c-5 5-10 7-17 7l-10 0c-12 0-22-9-22-21l0-91c0-12 10-22 22-22z m-234 0l39 0c12 0 22 10 22 22l0 90c0 12-10 22-22 22l-39 0c-12 0-22-10-22-22l0-90c0-12 10-22 22-22z m412 108l0-82c0-12-10-20-22-20l-17 0 0-61c0-13-9-23-22-23l-429 0c-12 0-22 10-22 23l0 244c0 13 10 23 22 23l429 0c12 0 22-10 22-23l0-61 17 0c12 0 22-8 22-20z m-83 59l-384 0 0-200 384 0z"/> |
| | | <glyph glyph-name="battery-low" unicode="v" d="M490 317l-17 0 0 61c0 13-9 23-22 23l-429 0c-12 0-22-10-22-23l0-244c0-13 10-23 22-23l429 0c12 0 22 10 22 23l0 61 17 0c12 0 22 8 22 20l0 82c0 12-10 20-22 20z m-61-161l-384 0 0 200 384 0z m-268 55c0-12-10-22-22-22l-39 0c-12 0-22 10-22 22l0 90c0 12 10 22 22 22l39 0c12 0 22-10 22-22z"/> |
| | | <glyph glyph-name="battery-medium" unicode="w" d="M490 317l-17 0 0 61c0 13-9 23-22 23l-429 0c-12 0-22-10-22-23l0-244c0-13 10-23 22-23l429 0c12 0 22 10 22 23l0 61 17 0c12 0 22 8 22 20l0 82c0 12-10 20-22 20z m-61-161l-384 0 0 200 384 0z m-268 55c0-12-10-22-22-22l-39 0c-12 0-22 10-22 22l0 90c0 12 10 22 22 22l39 0c12 0 22-10 22-22z m117 0c0-12-10-22-22-22l-39 0c-12 0-22 10-22 22l0 90c0 12 10 22 22 22l39 0c12 0 22-10 22-22z"/> |
| | | <glyph glyph-name="bell" unicode="x" d="M467 114c-37 0-51 22-51 158 0 107-49 174-132 184l0 34c0 13-10 23-22 23-13 0-23-10-23-23l0-33c-89-7-140-75-140-184 0-137-17-158-54-158-12-1-23-9-23-22 0-12 10-21 23-21l144 0c2-16 7-37 20-51 12-13 28-20 46-20 18 0 34 7 46 20 13 15 19 35 21 51l145 0c13 0 23 9 23 21 0 13-10 21-23 21z m-199-63c-2-3-5-6-13-6-7 0-11 3-13 6-4 5-7 10-8 21l19 0c1 0 2 0 4 0 1 0 2 0 3 0l18 0c-2-11-5-16-10-21z m-9 66c-1 0-2 0-3 0-1 0-2 0-3 0l-132 0c21 39 21 99 21 156 0 91 39 139 111 139l6 0c71 0 111-48 111-139 0-57 0-117 20-156z m79 197c1-10-7-20-18-20-1 0-1 0-1 0-10 0-19 8-20 18-1 25-21 34-23 35-10 5-14 16-11 26 4 10 15 14 26 10 2-1 45-18 47-69z"/> |
| | | <glyph glyph-name="blog" unicode="y" d="M423 501l-334 0c-12 0-22-10-22-22l0-446c0-12 10-22 22-22l334 0c12 0 22 10 22 22l0 446c0 12-10 22-22 22z m-22-445l-290 0 0 400 290 0z m-242 94c0 13 10 23 22 23l150 0c12 0 22-10 22-23 0-12-10-22-22-22l-150 0c-12 0-22 10-22 22z m3 106c0 12 10 22 22 22l147 0c12 0 22-10 22-22 0-12-10-22-22-22l-147 0c-12 0-22 10-22 22z m0 106c0 12 10 22 22 22l147 0c12 0 22-10 22-22 0-13-10-23-22-23l-147 0c-12 0-22 10-22 23z"/> |
| | | <glyph glyph-name="bluetooth" unicode="z" d="M289 256l99 99c9 8 9 22 0 31l-116 119c-7 7-16 9-24 5-9-3-14-11-14-20l0-179-79 78c-9 9-23 8-32 0-9-9-8-23 0-32l103-101-102-102c-9-9-9-23 0-32 4-4 10-6 15-6 6 0 11 2 16 6l79 79 0-179c0-9 5-17 14-20 2-1 5-2 8-2 6 0 12 2 16 7l117 119c8 9 8 23 0 31z m-11 179l63-64-63-63z m0-358l0 127 63-63z"/> |
| | | <glyph glyph-name="bold" unicode="A" d="M334 266c21 20 34 48 34 79 0 61-50 111-111 111l-118 0c-12 0-22-10-22-22l0-356c0-12 10-22 22-22l145 0c61 0 111 50 111 111 0 43-24 80-61 99z m-173 146l96 0c36 0 66-30 66-67 0-37-30-67-66-67l-96 0z m123-312l-123 0 0 134 123 0c37 0 67-30 67-67 0-37-30-67-67-67z"/> |
| | | <glyph glyph-name="bookmark" unicode="B" d="M356 512l-200 0c-12 0-22-10-22-22l0-468c0-9 5-17 13-20 3-1 6-2 9-2 6 0 12 2 16 7l82 87 86-87c6-6 16-8 25-5 8 3 13 11 13 20l0 468c0 12-10 22-22 22z m-22-436l-65 66c-4 5-10 8-15 8-6 0-12-4-16-8l-60-64 0 389 156 0z"/> |
| | | <glyph glyph-name="bookmarks" unicode="C" d="M295 417l-161 0c-13 0-23-8-23-20l0-375c0-9 6-17 14-20 3-1 6-2 9-2 6 0 11 2 16 7l63 66 66-67c6-6 16-8 24-5 9 4 14 12 14 21l0 375c0 12-10 20-22 20z m-22-341l-45 45c-4 5-10 7-15 7-7 0-12-3-17-7l-40-43 0 295 117 0z m122 419l0-374c0-11-9-20-19-20-11 0-20 9-20 20l0 352-117 0 0-7c0-11-9-20-19-20-11 0-20 9-20 20l0 29c0 11 6 17 17 17l161 0c11 0 17-6 17-17z"/> |
| | | <glyph glyph-name="box" unicode="D" d="M416 378l-320 0c-12 0-22-10-22-22l-3-284c0-6 2-11 6-16 5-4 10-6 16-6l325 0c6 0 12 2 16 6 4 5 6 10 6 16l-2 284c0 12-10 22-22 22z m-160-283l-141 0 3 239 275 0 2-239z m71 178c0-13-10-23-22-23l-98 0c-12 0-22 10-22 23 0 12 10 22 22 22l97 0c13 0 23-10 23-22z m167 89c-1 0-3 0-4 0-11 0-20 7-22 18l-7 37-410 0-7-37c-2-13-14-20-26-18-12 2-20 14-18 26l11 56c2 10 11 18 22 18l446 0c10 0 20-8 21-18l11-56c3-12-5-23-17-26z"/> |
| | | <glyph glyph-name="briefcase" unicode="E" d="M505 385c-4 3-9 5-15 5l-117 0 0 66c0 13-11 23-24 23l-186 0c-13 0-24-10-24-23l0-66-117 0c-12 0-22-8-22-20l0-314c0-13 10-23 22-23l468 0c12 0 22 10 22 23l0 313c0 6-2 11-7 16z m-321 49l144 0 0-44-144 0z m283-89l0-117-155 0 0 9c0 9-9 13-19 13l-74 0c-10 0-19-5-19-13l0-9-155 0 0 117z m-189-128l0-11-44 0 0 11z m-233-139l0 117 155 0 0-6c0-9 9-16 19-16l75 0c9 0 18 7 18 16l0 6 156 0 0-117z"/> |
| | | <glyph glyph-name="brightness-low" unicode="F" d="M256 352c-53 0-96-43-96-96 0-53 43-96 96-96 53 0 96 43 96 96 0 53-43 96-96 96z m0-148c-28 0-52 24-52 52 0 28 24 52 52 52 28 0 52-24 52-52 0-28-24-52-52-52z m-22 204l0 21c0 12 10 22 22 22 12 0 22-10 22-22l0-21c0-12-10-22-22-22-12 0-22 10-22 22z m217-152c0-12-10-22-22-22l-21 0c-12 0-22 10-22 22 0 12 10 22 22 22l21 0c12 0 22-10 22-22z m-173-152l0-21c0-12-10-22-22-22-12 0-22 10-22 22l0 21c0 12 10 22 22 22 12 0 22-10 22-22z m-174 130l-21 0c-12 0-22 10-22 22 0 12 10 22 22 22l21 0c12 0 22-10 22-22 0-12-10-22-22-22z m244 114c-9 9-9 23 0 32l14 13c9 9 23 9 31 0 9-8 9-22 0-31l-13-14c-5-5-10-7-16-7-6 1-12 3-16 7z m45-198c9-9 9-23 0-32-4-4-10-7-15-7-6 0-11 3-16 7l-14 14c-9 9-9 23 0 32 9 9 23 9 32 0z m-229 14c9-9 9-23 0-32l-14-13c-4-5-10-7-15-7-6 0-11 2-16 7-9 8-9 22 0 31l14 14c8 9 22 9 31 0z m-45 198c-9 9-9 23 0 32 8 9 22 9 31 0l14-14c9-9 9-23 0-32-4-4-10-6-15-6-6 0-12 2-16 6z"/> |
| | | <glyph glyph-name="brightness-max" unicode="G" d="M256 380c-68 0-124-56-124-124 0-68 56-124 124-124 68 0 124 56 124 124 0 68-56 124-124 124z m0-204c-44 0-80 36-80 80 0 44 36 80 80 80 44 0 80-36 80-80 0-44-36-80-80-80z m-22 268l0 46c0 12 10 22 22 22 12 0 22-10 22-22l0-46c0-13-10-23-22-23-12 0-22 10-22 23z m278-188c0-12-10-22-22-22l-46 0c-13 0-23 10-23 22 0 12 10 22 23 22l46 0c12 0 22-10 22-22z m-234-188l0-46c0-12-10-22-22-22-12 0-22 10-22 22l0 46c0 13 10 23 22 23 12 0 22-10 22-23z m-210 166l-46 0c-12 0-22 10-22 22 0 12 10 22 22 22l46 0c13 0 23-10 23-22 0-12-10-22-23-22z m305 139c-9 9-9 23 0 32l32 32c9 9 23 9 32 0 9-9 9-23 0-32l-32-32c-5-5-10-7-16-7-6 0-12 2-16 7z m64-267c9-9 9-23 0-31-5-5-10-7-16-7-5 0-11 2-15 7l-33 32c-9 9-9 23 0 32 9 9 23 9 32 0z m-298 33c9-9 9-23 0-32l-32-32c-5-4-10-7-16-7-5 0-11 3-15 7-9 9-9 23 0 32l32 32c8 8 22 8 31 0z m-64 267c-9 9-9 23 0 31 9 9 23 9 32 0l32-32c9-9 9-23 0-32-4-4-10-6-15-6-6 0-12 2-16 6z"/> |
| | | <glyph glyph-name="brightness-medium" unicode="H" d="M256 380c-68 0-124-56-124-124 0-68 56-124 124-124 68 0 124 56 124 124 0 68-56 124-124 124z m-80-124c0 44 36 80 80 80l0-159c-44-1-80 35-80 79z m58 188l0 46c0 12 10 22 22 22 12 0 22-10 22-22l0-46c0-13-10-23-22-23-12 0-22 10-22 23z m278-188c0-12-10-22-22-22l-46 0c-13 0-23 10-23 22 0 12 10 22 23 22l46 0c12 0 22-10 22-22z m-234-188l0-46c0-12-10-22-22-22-12 0-22 10-22 22l0 46c0 13 10 23 22 23 12 0 22-10 22-23z m-210 166l-46 0c-12 0-22 10-22 22 0 12 10 22 22 22l46 0c13 0 23-10 23-22 0-12-10-22-23-22z m305 139c-9 9-9 23 0 32l32 32c9 9 23 9 32 0 9-9 9-23 0-32l-32-32c-5-5-10-7-16-7-6 1-12 2-16 7z m64-267c9-9 9-23 0-31-5-5-10-7-16-7-5 0-11 2-15 7l-33 32c-9 9-9 23 0 32 9 9 23 9 32 0z m-298 33c9-9 9-23 0-32l-32-32c-5-4-10-7-16-7-5 0-11 3-15 7-9 9-9 23 0 32l32 32c8 8 22 8 31 0z m-64 267c-9 9-9 23 0 31 9 9 23 9 32 0l32-32c9-9 9-23 0-32-4-4-10-6-15-6-6 0-12 2-16 6z"/> |
| | | <glyph glyph-name="broadcast" unicode="I" d="M509 321c-5 17-15 30-30 38-19 10-41 9-57 6l-32 114c-2 8-8 14-16 16-8 1-16-1-22-7-79-89-112-111-200-149l-69-20c-61-17-96-82-79-143 9-29 28-54 56-69 17-10 36-15 55-15 9 0 18 1 27 4l7-26c4-14 12-27 22-37l12-11c4-4 10-6 15-6 6 0 12 2 16 7 9 9 9 23-1 32l-12 11c-4 4-7 10-9 16l-7 26 32 9c92 14 134 13 247-19 2-1 4-1 6-1 6 0 12 2 16 7 5 5 8 13 5 21l-32 114c14 6 34 16 45 34 8 15 10 31 5 48z m-428-175c-16 9-28 24-34 42-10 38 11 77 48 88l50 15 23-81 16-56-50-14c-18-5-37-3-53 6z m227 24c-25 0-50-2-80-6l-32 114-8 28c70 32 108 57 170 123l79-278c-52 14-90 19-129 19z m158 127c-4-6-12-11-20-14l-11 39c9 1 18 1 24-3 3-1 6-3 8-10 2-6 0-10-1-12z m-142 36c7-9 5-21-4-27-21-14-44-27-45-28-3-1-6-2-9-2-7 0-14 4-17 11-5 9-1 21 8 26 0 0 22 11 40 24 9 7 21 5 27-4z"/> |
| | | <glyph glyph-name="browser" unicode="J" d="M490 462l-468 0c-12 0-22-10-22-22l0-368c0-12 10-22 22-22l468 0c12 0 22 10 22 22l0 368c0 12-10 22-22 22z m-23-95l-155 0 0 50 155 0z m-333 0l0 50 55 0 0-50z m89 50l55 0 0-50-55 0z m-123 0l0-50-55 0 0 50z m-55-322l0 233 422 0 0-233z"/> |
| | | <glyph glyph-name="browser-upload" unicode="K" d="M278 250l1-228c0-12-10-22-22-22-13 0-23 10-23 22l0 229-65-65c-9-8-23-8-32 0-8 9-8 23 0 32l103 102c9 8 23 8 31 0l102-102c9-9 9-23 0-32-4-4-10-6-15-6-6 0-11 2-16 6z m234 240l0-371c0-13-10-24-22-24l-137 0c-12 0-22 10-22 22 0 12 10 22 22 22l114 0 0 239-422 0 0-239 116 0c12 0 22-10 22-22 0-12-10-22-22-22l-139 0c-12 0-22 11-22 24l0 371c0 12 10 22 22 22l468 0c12 0 22-10 22-22z m-289-73l55 0 0 50-55 0z m-34 50l-55 0 0-50 55 0z m-144-50l55 0 0 50-55 0z m422 0l0 50-155 0 0-50z"/> |
| | | <glyph glyph-name="brush" unicode="L" d="M512 464c0 12-5 24-14 33l-1 1c-18 18-48 18-66 1l-272-252c-37 7-76-3-104-31-38-38-38-80-37-106 0-3 0-6 0-9-1-21-11-46-16-54-3-6-3-12-1-18 2-6 7-11 12-13 27-11 53-16 78-16 44 0 85 17 117 48 26 27 41 58 41 90 0 8-1 15-2 22l251 271c9 9 14 20 14 33z m-335-384c-33-33-78-43-125-30 5 14 10 32 10 50 0 4 0 7 0 11 0 23-1 49 24 73 27 27 71 27 98 0 14-13 21-29 21-46 0-19-10-40-28-58z m290 382c0 0-1-1-1-1l-239-257c-4 4-7 8-11 12-4 4-8 7-12 11l257 239c0 0 1 1 1 1 1 1 3 1 4 0l1-1c0-1 0-2 0-2 0-1 0-2 0-2z"/> |
| | | <glyph glyph-name="calendar" unicode="M" d="M122 391l0 71c0 15 13 28 28 28 16 0 28-13 28-28l0-71c0-16-12-28-28-28-15 0-28 12-28 28z m240-28c15 0 28 12 28 28l0 71c0 15-13 28-28 28-16 0-28-13-28-28l0-71c0-16 12-28 28-28z m150 63l0-376c0-12-10-22-22-22l-468 0c-12 0-22 10-22 22l0 376c0 13 10 25 22 25l52 0c12 0 22-10 22-22 0-13-10-23-22-23l-29 0 0-94 422 0 0 94-29 0c-12 0-22 10-22 23 0 12 10 22 22 22l52 0c12 0 22-12 22-25z m-45-354l0 201-422 0 0-201z m-246 334l70 0c12 0 22 10 22 23 0 12-10 22-22 22l-70 0c-12 0-22-10-22-22 0-13 10-23 22-23z"/> |
| | | <glyph glyph-name="camcorder" unicode="N" d="M500 393c-8 4-18 3-25-2l-91-68 0 50c0 12-8 22-20 22l-342 0c-12 0-22-10-22-22l0-234c0-12 10-22 22-22l342 0c12 0 20 10 20 22l0 50 91-68c4-2 10-4 14-4 4 0 7 0 10 2 8 4 13 12 13 20l0 234c0 8-5 16-12 20z m-161-232l-294 0 0 190 294 0z m128 23l-77 59 0 26 77 59z"/> |
| | | <glyph glyph-name="camera" unicode="O" d="M256 362c-70 0-127-58-127-129 0-72 57-129 127-129 70 0 127 57 127 129 0 71-57 129-127 129z m0-215c-46 0-83 38-83 85 0 47 37 85 83 85 46 0 83-38 83-84 0-47-37-86-83-86z m62 80c-1-10-10-17-20-17-1 0-1 0-2 0-11 2-19 11-17 22 2 16-17 25-18 26-9 4-14 16-9 25 4 10 15 14 25 10 18-8 46-30 41-66z m-43-24c4-4 7-10 7-16 0-6-3-12-7-16-5-3-10-6-16-6-5 0-11 2-15 6-4 5-7 10-7 16 0 6 2 12 7 16 4 4 10 6 15 6 6 0 12-2 16-6z m215 164l-86 0-24 89c-3 10-12 17-22 17l-205 0c-10 0-19-7-22-17l-24-89-85 0c-12 0-22-9-22-21l0-285c0-12 10-22 22-22l468 0c12 0 22 10 22 22l0 285c0 12-10 21-22 21z m-23-284l-422 0 0 240 80 0c10 0 19 7 21 16l24 90 172 0 24-90c2-9 11-16 21-16l80 0z"/> |
| | | <glyph glyph-name="card" unicode="P" d="M512 382c0 23-18 41-41 41l-430 0c-23 0-41-18-41-41l0-252c0-23 18-41 41-41l430 0c23 0 42 18 42 41l0 252z m-45-4l0-39-422 0 0 39z m-422-244l0 139 422 0 0-139z m381 72c0-12-10-22-23-22l-105 0c-13 0-23 10-23 22 0 12 10 22 23 22l105 0c13 0 23-10 23-22z"/> |
| | | <glyph glyph-name="cart" unicode="Q" d="M511 360l-60-187c-4-14-16-23-30-23l-230 0c-13 0-26 9-30 21l-88 235-51 0c-12 0-22 10-22 23 0 12 10 22 22 22l66 0c10 0 18-6 22-15l90-241 212 0 47 150-262 0c-12 0-22 10-22 22 0 13 10 23 22 23l293 0c7 0 14-4 18-10 4-5 5-13 3-20z m-308-239c-10 0-19-4-26-11-7-6-11-16-11-25 0-10 4-19 11-26 7-7 16-11 26-11 9 0 18 4 25 11 7 7 11 16 11 26 0 9-4 19-11 25-7 7-16 11-25 11z m199 0c-9 0-19-4-25-11-7-6-11-16-11-25 0-10 4-19 11-26 6-7 16-11 25-11 10 0 19 4 26 11 7 7 11 16 11 26 0 9-4 19-11 25-7 7-16 11-26 11z"/> |
| | | <glyph glyph-name="checklist" unicode="R" d="M201 434c0 16 13 28 28 28l244 0c16 0 28-12 28-28 0-15-12-28-28-28l-244 0c-15 0-28 13-28 28z m272-150l-244 0c-15 0-28-12-28-28 0-16 13-28 28-28l244 0c16 0 28 12 28 28 0 16-12 28-28 28z m0-178l-244 0c-15 0-28-13-28-28 0-16 13-28 28-28l244 0c16 0 28 12 28 28 0 15-12 28-28 28z m-334 370c0 10-9 19-19 19l-84 0c-10 0-19-9-19-19l0-84c0-10 9-19 19-19l84 0c10 0 19 9 19 19z m0-262c0-10-9-19-19-19l-84 0c-10 0-19 9-19 19l0 84c0 10 9 19 19 19l84 0c10 0 19-9 19-19z m-33 64l-50 0 0-44 50 0z m33-242c0-10-9-19-19-19l-84 0c-10 0-19 9-19 19l0 84c0 10 9 19 19 19l84 0c10 0 19-9 19-19z m-33 64l-50 0 0-50 50 0z"/> |
| | | <glyph glyph-name="checkmark" unicode="S" d="M191 111c-6 0-12 3-17 8l-111 110c-10 10-10 26 0 36 10 10 25 10 36 0l93-93 222 221c10 10 26 10 36 0 10-10 10-25 0-35l-240-239c-6-5-12-8-19-8z"/> |
| | | <glyph glyph-name="chevron-down" unicode="T" d="M256 161c-6 0-12 3-16 7l-139 145c-9 9-9 23 0 31 9 9 23 9 32 0l123-128 123 128c8 9 23 9 32 0 9-8 9-22 0-31l-139-145c-4-4-10-7-16-7z"/> |
| | | <glyph glyph-name="chevron-left" unicode="U" d="M344 133c9-8 9-23 0-32-4-4-10-6-16-6-5 0-11 2-15 6l-145 139c-4 4-7 10-7 16 0 6 3 12 7 16l145 139c9 9 23 9 31 0 9-9 9-23 0-32l-128-123z"/> |
| | | <glyph glyph-name="chevron-right" unicode="V" d="M351 256c0-6-3-12-7-16l-145-139c-4-4-10-6-15-6-6 0-12 2-16 6-9 9-9 23 0 32l128 123-128 123c-9 8-9 23 0 32 8 9 22 9 31 0l145-139c4-4 7-10 7-16z"/> |
| | | <glyph glyph-name="chevron-up" unicode="W" d="M395 161c-6 0-12 3-16 7l-123 128-123-128c-8-9-23-9-32 0-9 8-9 22 0 31l139 145c4 4 10 7 16 7 6 0 12-3 16-7l139-145c9-9 9-23 0-31-5-4-10-7-16-7z"/> |
| | | <glyph glyph-name="clipboard" unicode="X" d="M429 462l-83 0-9 23c-6 16-22 27-39 27l-79 0c-18 0-33-11-39-27l-9-23-88 0c-12 0-22-11-22-23l0-417c0-12 10-22 22-22l346 0c12 0 22 10 22 22l0 417c0 12-10 23-22 23z m-242-45c9 0 18 6 21 14l13 36 75 0 13-36c4-9 12-14 22-14l17 0-16-31c-3-5-8-8-13-8l-121 0c-5 0-10 3-13 7l-19 32z m219-372l-300 0 0 372 9 0 31-55c0-1 1 0 1-1 11-17 30-27 51-27l120 0c21 0 42 10 52 29 0 1 1 2 1 2l26 52 9 0z"/> |
| | | <glyph glyph-name="clock" unicode="Y" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m0-467c-117 0-211 94-211 211 0 117 94 211 211 211 117 0 211-94 211-211 0-117-94-211-211-211z m85 158c9-9 9-23 0-32-4-5-10-7-15-7-6 0-12 2-16 7l-70 69c-4 4-6 10-6 16l0 132c0 13 10 23 22 23 12 0 22-10 22-23l0-123z"/> |
| | | <glyph glyph-name="clockwise" unicode="Z" d="M484 279l-78-78c-4-4-10-6-16-6-6 0-12 2-16 6l-77 78c-8 9-8 23 0 32 9 8 23 8 32 0l43-43c-6 80-72 144-153 144-84 0-152-70-152-156 0-86 68-156 153-156 31 0 61 10 86 27 10 8 24 5 31-5 7-10 5-24-5-31-33-23-72-35-112-35-109 0-198 89-198 200 0 111 89 200 198 200 102 0 187-79 196-181l35 36c9 8 23 8 32 0 9-9 9-23 1-32z"/> |
| | | <glyph glyph-name="cloud" unicode="0" d="M396 78c-111 0-294 0-297 0-49 0-90 37-98 88-6 39 11 92 73 120-14 62 21 114 67 136 30 14 62 15 92 5 26-8 50-26 68-51 27 15 60 16 87 1 24-13 46-41 43-83 60-19 84-70 81-115-4-49-41-101-116-101z m-202 312c-12 0-24-3-34-8-33-15-58-53-38-101 2-6 2-12-1-18-2-5-7-10-13-11-66-21-65-66-63-79 4-25 23-50 54-50 1 0 185-1 297-1 46 0 69 30 71 61 3 30-16 65-64 71-6 1-12 5-15 10-3 5-5 11-3 18 6 26-1 47-18 57-15 8-38 8-57-11-5-5-12-7-19-6-7 1-13 5-16 11-22 42-53 57-81 57z"/> |
| | | <glyph glyph-name="cloud-download" unicode="1" d="M506 265c-3-48-40-99-113-99-33 0-50 0-50 0-12 0-22 10-22 23 0 12 10 22 22 22 0 0 17 0 50 0 45 0 67 28 69 57 3 30-16 63-62 69-7 1-12 5-15 10-4 5-5 11-4 18 6 25 0 45-16 54-14 8-37 8-56-11-5-5-12-7-18-6-7 1-13 6-17 12-31 58-79 62-111 47-31-15-55-51-36-96 2-6 2-13-1-18-2-6-7-10-13-12-66-21-64-64-62-76 3-24 22-48 51-48l68 0c13 0 23-10 23-22 0-13-10-22-23-22l-68 0c-47 0-88 36-95 85-6 39 10 90 70 117-13 60 20 110 66 131 47 23 112 16 156-44 28 15 60 16 87 1 22-13 43-40 41-81 58-18 82-68 79-111z m-174-135l-54-54 0 202c0 12-10 23-23 23-12 0-22-11-22-23l1-202-54 54c-9 9-23 9-32 0-9-9-9-23 0-31l92-93c4-4 10-7 15-7 6 0 12 3 16 7l92 92c9 9 9 23 0 32-8 9-22 9-31 0z"/> |
| | | <glyph glyph-name="cloud-upload" unicode="2" d="M512 225c-3-48-41-101-115-101-34 0-52 0-52 0-12 0-22 10-22 22 0 12 10 21 22 21 0 0 18 1 52 1 46 0 69 31 71 61 2 30-17 64-65 71-6 1-11 4-15 9-3 5-4 12-3 18 6 26 0 47-18 56-14 9-38 8-56-10-5-5-13-7-19-6-7 1-13 5-17 11-32 61-81 64-114 48-32-15-57-52-37-99 2-6 2-13-1-18-3-6-8-10-13-12-68-20-67-65-65-78 4-25 23-50 54-50l69 0c12 0 22-11 22-23 0-12-10-24-22-24l-69 2c-49 0-90 38-97 89-6 39 10 91 73 119-15 61 20 113 66 134 48 23 116 17 160-45 28 15 61 16 88 1 23-14 45-41 42-83 59-18 84-69 81-114z m-178-18c5-4 10-7 16-7 6 0 11 3 16 7 9 9 9 23 0 32l-94 94c-4 4-10 6-16 6-6 0-12-2-16-6l-94-95c-9-9-9-23 0-32 9-8 23-8 32 0l56 58 0-208c0-13 10-23 23-23 12 0 22 10 22 23l-1 207z"/> |
| | | <glyph glyph-name="code" unicode="3" d="M328 95c-6 0-11 2-16 6-8 9-8 23 1 32l128 123-128 123c-9 8-9 23-1 32 9 9 23 9 32 0l145-139c4-4 6-10 6-16 0-6-2-12-6-16l-145-139c-5-4-10-6-16-6z m-128 6c8 9 8 23-1 32l-128 123 128 123c9 8 9 23 1 32-9 9-23 9-32 0l-145-139c-4-4-6-10-6-16 0-6 2-12 6-16l145-139c5-4 10-6 16-6 5 0 11 2 16 6z"/> |
| | | <glyph glyph-name="contract" unicode="4" d="M492 49c9-9 9-23 0-32-4-4-10-6-16-6-5 0-11 2-16 6l-121 121 0-57c0-13-10-23-22-23-12 0-22 10-22 23l0 111c0 6 3 12 7 16 4 3 10 6 16 6l111 0c12 0 22-10 22-22 0-12-10-22-22-22l-57 0z m-175 246l111 0c12 0 22 10 22 22 0 12-10 22-22 22l-57 0 123 124c9 9 9 23 0 31-9 9-23 9-31 0l-124-123 0 57c0 12-10 23-22 23-12 0-22-10-22-22l0-112c0-6 2-11 7-15 4-5 9-7 15-7z m-123 154c-12 0-21-10-21-22l0-57-123 123c-9 8-23 8-32 0-9-9-9-23 0-31l122-122-57 0 0-1c-11 0-22-10-22-22 0-13 10-23 22-23l111 0c6 0 11 3 16 7 4 5 6 10 6 16l0 111c0 11-10 21-22 21z m-1-232l-111 0c-12 0-22-10-22-22 0-12 10-22 22-22l57 0-121-123c-9-9-9-23 0-32 4-4 10-6 16-6 6 0 12 2 17 6l122 121 0-57c0-12 8-21 21-21l-1 0c12 0 22 9 22 21l0 111c0 6-2 12-6 17-4 4-10 7-16 7z"/> |
| | | <glyph glyph-name="contract-2" unicode="5" d="M225 227c4-5 7-11 7-17l0-116c0-12-10-21-22-21l0 0c-12 0-21 8-21 20l0 63-139-138c-4-5-11-7-17-7-5 0-11 2-15 7-9 9-9 23 0 32l138 139-63 0c-12 0-22 10-22 22 0 13 10 23 22 23l117 0c6 0 11-3 15-7z m269 267c-9 9-22 9-31 0l-140-141 0 64c0 12-10 23-23 23-12 0-22-10-22-23l0-116c0-7 2-12 6-16 5-5 10-6 16-6l117 0c12 0 22 10 22 22 0 12-10 22-22 22l-64 0 141 140c9 9 9 23 0 31z"/> |
| | | <glyph glyph-name="conversation" unicode="6" d="M490 378l-217 0 0 52c0 9-13 21-21 21l-235 0c-10 0-17-12-17-21l0-143c0-9 8-20 17-20l34 0 44-48c4-4 8-5 13-5 2 0 3 0 5 1 7 3 10 9 10 17l0 35 33 0 0-103c0-13 13-25 25-25l153 0 0-68c0-9 4-17 13-20 3-1 5-2 8-2 6 0 12 1 16 6l83 84 36 0c12 0 22 12 22 25l0 187c0 12-10 27-22 27z m-382-77c-9 0-19-4-19-14l0-11-19 21c-3 4-7 4-12 4l-25 0 0 116 201 0 0-39-53 0c-12 0-25-15-25-27l0-50z m359-117l-22 0c-6 0-11-1-16-6l-51-51 0 37c0 12-11 20-23 20l-155 0 0 150 267 0z m-234 100c0 9 7 17 16 17l107 0c9 0 16-8 16-17 0-10-7-17-16-17l-107 0c-9 0-16 7-16 17z m162-12c-4 3-5 7-5 12 0 4 1 9 5 12 6 6 17 6 24 0 3-4 5-8 5-12 0-5-2-9-5-12-4-3-8-5-12-5-5 1-10 2-12 5z"/> |
| | | <glyph glyph-name="copy" unicode="7" d="M256 390c-4 4-9 5-14 5l-166 0c-11 0-26-7-26-17l0-352c0-12 15-25 26-25l263 0c12 0 17 14 17 25l0 253c0 5 0 10-4 14z m55-112l-72 0 0 72z m-216-233l0 311 105 0 0-96c0-11 10-21 21-21l96 0 0-194z m364 367l-97 97c-4 2-7 3-11 3l-167 0c-9 0-17-5-17-14l0-53c0-10 7-17 17-17 9 0 16 8 16 17l0 34 117 0 0-94c0-10 8-18 17-18l95 0 0-206-23 0c-10 0-17-7-17-16 0-10 8-17 17-17l42 0c9 0 14 8 14 18l0 254c0 4-1 8-3 12z m-108 61l71-72-71 0z"/> |
| | | <glyph glyph-name="crop" unicode="8" d="M494 457c9 9 9 23 0 32-8 9-23 9-32 0l-66-66-279 0 0 41c0 12-10 22-22 22-13 0-23-10-23-22l0-41-39 0c-12 0-22-10-22-22 0-13 10-23 22-23l39 0 0-277c0-1 1-1 1-2 0-1 0-2 0-3 0 0 1-1 1-2 0-1 1-2 1-2 0-1 0-1 1-2 0-1 0-2 1-2 0-1 1-2 1-2 1-1 1-1 2-1 1-2 2-2 3-3 0 0 0-1 1-1 1 0 2-1 3-1 1 0 1-1 3-1 0 0 1-1 2-1 1 0 3 0 4 0l288 0 0-39c0-12 10-22 22-22 13 0 23 10 23 22l0 39 38 0c13 0 23 10 23 22 0 12-10 22-23 22l-38 0 0 271z m-143-79l-234-225 0 225z m33-256l-234 0 234 227z"/> |
| | | <glyph glyph-name="cross" unicode="9" d="M393 154c10-10 10-25 0-35-5-5-11-8-17-8-7 0-13 3-18 8l-102 101-102-101c-5-5-11-8-18-8-6 0-12 3-17 8-10 10-10 25 0 35l101 102-101 102c-10 10-10 25 0 35 10 10 25 10 35 0l102-101 102 101c10 10 25 10 35 0 10-10 10-25 0-35l-101-102z"/> |
| | | <glyph glyph-name="crosshair" unicode="!" d="M257 512c-1 0-1 0 0 0-1 0-1 0 0 0-142 0-257-115-257-256 0-141 115-256 255-256 142 0 256 115 256 256 1 141-114 256-254 256z m21-466l0 57c0 12-10 22-22 22-12 0-22-10-22-22l0-57c-100 10-178 89-188 188l57 0c12 0 22 10 22 22 0 12-10 22-22 22l-57 0c10 99 88 178 188 188l0-57c0-12 10-22 22-22 12 0 22 10 22 22l0 57c100-10 178-89 188-188l-57 0c-12 0-22-10-22-22 0-12 10-22 22-22l57 0c-10-99-88-178-188-188z"/> |
| | | <glyph glyph-name="cutlery" unicode=""" d="M461 60c9-9 9-23 0-32-5-4-10-6-16-6-5 0-11 2-15 7l-177 177-175-177c-5-5-10-7-16-7-5 0-11 2-15 7-9 9-9 23 0 32l174 177-30 29-4-4c-14-14-33-22-53-22-20 0-39 8-53 22l-74 73c-9 8-9 22 0 31 9 9 22 9 31 0l74-73c6-6 14-9 22-9 8 0 16 3 22 9l5 5-96 94c-9 9-9 23 0 32 8 9 22 9 31 0l95-95 6 6c12 11 12 31 0 43l-74 73c-9 9-9 23 0 32 9 9 23 9 32 0l73-74c30-29 30-77 0-106l-5-6 29-29 197 199c3 4 10 7 15 7 6 0 12-3 16-7 49-49 41-119-21-181l-76-76c-8-8-22-8-31 0-9 9-9 23 0 32l75 75c45 45 44 79 34 100l-177-180z"/> |
| | | <glyph glyph-name="device-desktop" unicode="#" d="M470 473l-428 0c-23 0-42-19-42-42l0-247c0-23 19-45 42-45l142 0 0-23-43-34c-7-6-11-17-7-26 3-9 11-17 21-17l200 0c10 0 18 8 22 17 3 9 0 20-7 26l-42 34 0 23 142 0c23 0 42 22 42 45l0 247c0 23-19 42-42 42z m-174-383l13-12-109 0 15 13c4 4 8 10 8 16l0 32 66 0 0-32c0-6 3-13 7-17z m171 94l-422 0 0 245 422 0z"/> |
| | | <glyph glyph-name="device-mobile" unicode="$" d="M294 89c0-9-7-17-17-17l-43 0c-9 0-16 8-16 17 0 10 7 17 16 17l43 0c10 0 17-7 17-17z m107 381l0-428c0-23-19-42-43-42l-204 0c-24 0-43 19-43 42l0 428c0 23 19 42 43 42l204 0c24 0 43-19 43-42z m-245-3l0-294 200 0 0 294z m200-422l0 94-200 0 0-94z"/> |
| | | <glyph glyph-name="device-tablet" unicode="%" d="M287 83c0-9-7-16-17-16l-28 0c-10 0-17 7-17 16 0 10 7 17 17 17l28 0c10 0 17-7 17-17z m175 387l0-428c0-23-19-42-42-42l-328 0c-23 0-42 19-42 42l0 428c0 23 19 42 42 42l328 0c23 0 42-19 42-42z m-367-3l0-306 322 0 0 306z m322-422l0 83-322 0 0-83z"/> |
| | | <glyph glyph-name="direction" unicode="&" d="M278 22c-1 0-3 0-4 1-10 1-17 9-18 19l-19 194-195 19c-10 2-18 9-19 19-2 10 4 19 13 24l423 190c8 3 18 2 25-5 6-7 8-17 4-25l-190-423c-4-8-12-13-20-13z m-148 269l128-13c11-1 19-9 20-20l14-128 131 293z"/> |
| | | <glyph glyph-name="disc" unicode="'" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m0-45c117 0 211-94 211-211 0-29-6-58-17-84l-125 62c8 25 2 54-18 74-20 20-48 25-73 18l-45 91c-4 8-14 12-23 8-8-4-11-14-7-23l46-93c0 0 0 0-1-1 0 0 0 0 0 0l-127 62c38 59 104 97 179 97z m-24-187c7 7 15 10 24 10 9 0 17-3 24-10 13-13 13-35 0-48-13-13-35-13-48 0-13 13-13 35 0 48z m138-202l-29 59c-4 8-14 12-23 8-8-4-11-14-7-23l29-59c-26-11-55-18-84-18-117 0-211 94-211 211 0 29 6 58 17 84l125-62c-8-25-2-53 18-73 14-14 33-21 51-21 18 0 37 7 51 21 0 0 1 0 1 0l126-63c-16-25-38-47-64-64z m-50 103c3-3 6-8 6-14 0-5-3-10-6-14-3-4-9-6-14-6-5 0-10 3-14 6-4 3-5 9-5 14 0 5 2 10 5 14 7 7 21 7 28 0z"/> |
| | | <glyph glyph-name="document" unicode="(" d="M423 501l-334 0c-12 0-22-10-22-22l0-446c0-12 10-22 22-22l334 0c12 0 22 10 22 22l0 446c0 12-10 22-22 22z m-22-445l-290 0 0 400 290 0z m-237 147c0 11 9 20 20 20l65 0c11 0 20-9 20-20 0-10-9-19-20-19l-65 0c-11 0-20 9-20 19z m3 89c0 11 9 20 19 20l133 0c10 0 19-9 19-20 0-10-8-19-19-19l-133 0c-10 0-19 9-19 19z m0 84c0 10 9 19 19 19l133 0c10 0 19-9 19-19 0-11-8-20-19-20l-133 0c-10 0-19 9-19 20z m165-161c4-3 6-8 6-14 0-5-2-10-6-13-3-4-9-6-14-6-5 0-10 2-14 6-3 3-5 8-5 13 0 5 2 10 5 14 8 8 21 8 28 0z"/> |
| | | <glyph glyph-name="document-delete" unicode=")" d="M439 370l-123 124c-5 5-10 7-17 7l-210 0c-12 0-22-10-22-22l0-446c0-12 10-22 22-22l334 0c12 0 22 10 22 22l0 322c0 6-2 11-6 15z m-38-25l-112 0 0 111 2 0z m-290-289l0 400 134 0 0-133c0-12 9-22 22-22l134 0 0-245z m209 166l-37-37 37-36c8-8 8-20 0-28-4-4-9-5-14-5-5 0-10 1-14 5l-36 36-36-36c-4-4-9-6-14-6-5 0-10 2-14 6-8 8-8 20 0 27l37 37-37 36c-8 8-8 21 0 28 8 8 20 8 27 0l36-37 37 37c7 8 20 8 27 0 9-7 9-19 1-27z"/> |
| | | <glyph glyph-name="document-edit" unicode="*" d="M479 461l-39 40c-4 4-8 5-13 5-4 0-8-1-11-5l-233-236c-2-2-3-3-4-6l-27-66c-2-6-1-13 4-18 4-3 8-5 12-5 2 0 4 1 6 1l66 27c2 1 4 2 5 3l234 237c7 6 7 17 0 23z m-254-234l-27-11 11 28 218 222 17-17z m170 20l0-225c0-12-11-22-23-22l-316 0c-13 0-23 10-23 22l0 424c0 13 10 21 23 21l231 0c12 0 22-10 22-22 0-12-10-22-22-22l-209 0 0-378 273 0 0 202c0 12 10 22 22 22 12 0 22-10 22-22z"/> |
| | | <glyph glyph-name="document-new" unicode="+" d="M439 370l-123 124c-5 5-10 7-17 7l-210 0c-12 0-22-10-22-22l0-446c0-12 10-22 22-22l334 0c12 0 22 10 22 22l0 322c0 6-2 11-6 15z m-38-25l-112 0 0 111 2 0z m-290-289l0 400 134 0 0-133c0-12 9-22 22-22l134 0 0-245z"/> |
| | | <glyph glyph-name="document-remove" unicode="," d="M439 370l-123 124c-5 5-10 7-17 7l-210 0c-12 0-22-10-22-22l0-446c0-12 10-22 22-22l334 0c12 0 22 10 22 22l0 322c0 6-2 11-6 15z m-38-25l-112 0 0 111 2 0z m-290-289l0 400 134 0 0-133c0-12 9-22 22-22l134 0 0-245z m215 130c0-10-9-19-20-19l-100 0c-11 0-20 9-20 19 0 11 9 20 20 20l100 0c11 0 20-9 20-20z"/> |
| | | <glyph glyph-name="dot" unicode="-" d="M256 217c-10 0-21 4-28 12-7 7-11 17-11 27 0 10 4 20 11 28 7 7 17 11 28 11 10 0 20-4 27-11 8-7 12-17 12-28 0-10-4-20-12-27-7-8-17-12-27-12z"/> |
| | | <glyph glyph-name="dots-2" unicode="." d="M189 217c-10 0-20 4-28 12-7 7-11 17-11 27 0 10 5 20 11 28 8 7 18 11 28 11 10 0 20-4 27-11 8-7 12-17 12-28 0-10-4-20-12-27-7-8-17-12-27-12z m161 12c7 7 12 17 12 27 0 10-5 20-12 28-7 7-17 11-27 11-10 0-21-4-28-11-7-7-11-17-11-28 0-10 4-20 11-27 7-8 17-12 28-12 10 0 20 4 27 12z"/> |
| | | <glyph glyph-name="dots-3" unicode="/" d="M117 217c-10 0-21 4-28 12-7 7-11 17-11 27 0 10 4 20 11 28 7 7 17 11 28 11 10 0 20-4 27-11 7-7 12-17 12-28 0-10-5-20-12-27-7-8-17-12-27-12z m166 12c8 7 12 17 12 27 0 10-4 20-12 28-7 7-17 11-27 11-10 0-21-4-28-11-7-7-11-17-11-28 0-10 4-20 11-27 7-8 17-12 28-12 10 0 20 4 27 12z m139 0c8 7 12 17 12 27 0 10-4 20-12 28-7 7-17 11-27 11-10 0-20-4-28-11-7-7-11-17-11-28 0-10 5-20 11-27 8-8 18-12 28-12 10 0 20 4 27 12z"/> |
| | | <glyph glyph-name="download" unicode=":" d="M495 185l0-152c0-15-12-27-28-27l-422 0c-16 0-28 12-28 27l0 152c0 15 12 28 28 28 15 0 27-13 27-28l0-124 368 0 0 124c0 15 12 28 27 28 16 0 28-13 28-28z m-259-35c5-5 12-8 20-8 8 0 14 3 20 8l111 114c10 11 10 28-1 39-11 11-28 11-39 0l-63-65 0 241c0 15-12 27-28 27-16 0-28-12-28-27l0-241-63 64c-11 11-29 11-40 1-11-11-11-29 0-40z"/> |
| | | <glyph glyph-name="duplicate" unicode=";" d="M490 131l-336 0c-13 0-23 10-23 23l0 336c0 12 10 22 23 22l336 0c12 0 22-10 22-22l0-336c0-13-10-23-22-23z m-314 45l291 0 0 291-291 0z m194-149l0 59c0 9-8 16-17 16-9 0-17-7-17-16l0-53-302 0 0 303 52 0c9 0 16 7 16 16 0 9-7 17-16 17l-59 0c-15 0-27-12-27-27l0-316c0-14 12-26 27-26l316 0c15 0 27 12 27 27z"/> |
| | | <glyph glyph-name="enter" unicode="<" d="M495 440l0-368c0-12-10-22-22-22l-290 0c-12 0-22 10-22 22l0 102c0 12 10 22 23 22 12 0 22-10 22-22l0-79 245 0 0 322-245 0 0-79c0-12-10-22-22-22-13 0-23 10-23 22l0 102c0 12 10 22 22 22l290 0c12 0 22-10 22-22z m-236-256c-9-9-9-23 0-32 4-4 10-6 15-6 6 0 12 2 16 6l87 88c9 9 9 23 0 32l-86 89c-9 9-23 9-32 0-9-9-9-23 0-32l49-50-269-1c-12 0-22-10-22-22 0-12 10-22 22-22l269 0z"/> |
| | | <glyph glyph-name="exit" unicode="=" d="M334 174l0-102c0-12-9-22-21-22l-291 0c-12 0-22 10-22 22l0 368c0 12 10 22 22 22l291 0c12 0 21-10 21-22l0-102c0-12-10-22-22-22-13 0-23 10-23 22l0 79-244 0 0-322 244 0 0 79c0 12 10 22 23 22 12 0 22-10 22-22z m171 99l-86 88c-9 9-23 9-32 0-9-9-9-23 0-32l49-50-270-1c-12 0-22-10-22-22 0-12 10-22 22-22l270 0-49-50c-9-9-9-23 0-32 4-4 10-6 15-6 6 0 12 2 16 6l87 88c9 10 9 24 0 33z"/> |
| | | <glyph glyph-name="expand" unicode=">" d="M501 479l0-112c0-12-10-22-22-22-13 0-23 10-23 22l0 58-129-129c-4-5-10-7-15-7-6 0-11 2-16 7-9 8-9 22 0 31l129 129-58 0c-12 0-22 10-22 23 0 12 10 22 22 22l112 0c6 0 11-2 15-7 5-4 7-9 7-15z m-22-312c-13 0-23-10-23-22l0-58-127 126c-8 9-23 9-32 0-9-9-9-23 0-32l125-125-57 0c-12 0-22-10-22-23 0-12 10-22 22-22l111 0c7 0 13 2 17 7 5 4 8 10 8 15l0 112c0 12-10 22-22 22z m-296 47l-127-127 0 58c0 12-10 22-23 22-12 0-22-10-22-22l0-112c0-6 2-11 7-15 4-5 10-7 16-7l111 0c12 0 23 10 23 22 0 13-11 23-23 23l-58 0 127 127c9 8 9 22 0 31-8 9-23 9-31 0z m-96 240l58 0c12 0 22 10 22 22 0 13-10 23-22 23l-112 0c-6 0-11-3-15-7-5-4-7-9-7-16l0-111c0-12 10-22 22-22 13 0 23 10 23 22l0 58 128-129c5-4 10-6 16-6 5 0 11 2 15 6 9 9 9 23 0 32z"/> |
| | | <glyph glyph-name="expand-2" unicode="?" d="M501 479l0-117c0-13-10-23-22-23-13 0-23 10-23 23l0 63-140-141c-5-4-10-6-16-6-6 0-11 2-16 6-9 9-9 23 0 32l141 140-63 0c-13 0-23 10-23 23 0 12 10 22 23 22l117 0c6 0 11-2 15-7 5-4 7-9 7-15z m-307-254l-138-138 0 63c0 13-10 23-23 23-12 0-22-10-22-23l0-117c0-6 2-11 7-15 4-5 9-7 15-7l117 0c13 0 23 10 23 22 0 13-10 23-23 23l-63 0 139 138c9 9 9 23 0 32-9 8-23 8-32-1z"/> |
| | | <glyph glyph-name="experiment" unicode="@" d="M499 489c-4 7-12 12-20 12l-446 0c-8 0-16-5-20-12-4-7-2-16 3-23l173-255 0-168c0-17 12-32 30-32l74 0c18 0 30 14 30 32l0 168 173 255c5 7 7 16 3 23z m-216-259c-3-3-5-7-5-12l0-162-44 0 0 162c0 5-2 9-5 12l-53 78c11 3 24 6 39 6 17 0 29-3 42-7 13-3 26-6 45-7 11 0 21 1 30 2z m82 119c-1 0-24-10-63-10-14 0-24 3-36 7-13 3-29 7-51 7-25 0-47-6-63-11l-77 114 362 0z m-46 37c-4 4-7 10-7 16 0 6 2 11 7 15 4 4 10 7 15 7 7 0 12-2 16-7 4-4 7-10 7-15 0-6-2-12-7-16-4-4-10-6-16-6-5 0-11 2-15 6z"/> |
| | | <glyph glyph-name="export" unicode="[" d="M406 86l0-28c0-12-10-19-23-19l-363 0c-12 0-20 7-20 19l0 275c0 13 8 24 20 24l65 0c12 0 22-10 22-23 0-12-10-22-22-22l-40 0 0-229 317 0 0 3c0 13 10 23 22 23 12 0 22-10 22-23z m99 208l-138-141c-6-7-16-8-24-5-9 4-15 12-15 21l0 61c-44 1-151-3-190-72-4-7-12-12-19-12-2 0-4 0-6 1-10 3-17 12-17 22 0 3 0 89 65 153 40 42 95 64 167 68l0 61c0 9 6 17 14 20 9 4 19 2 25-5l139-140c8-9 8-23-1-32z m-48 16l-84 86 0-28c0-12-10-22-22-22-69 0-122-18-158-55-17-17-28-35-36-53 53 31 119 37 160 37 21 0 35-2 36-2 12-1 20-11 20-22l0-27z"/> |
| | | <glyph glyph-name="feed" unicode="]" d="M343 55c0-17-14-30-30-30-1 0-1 0-1 0-17 1-30 15-30 32 3 79-15 138-56 176-65 61-166 51-167 51-17-2-32 10-34 27-2 17 10 32 27 34 5 1 130 13 216-66 54-51 79-127 75-224z m-240 118c-19 0-38-8-51-21-14-13-21-32-21-51 0-19 7-38 21-51 13-14 32-22 51-22 19 0 38 8 51 22 14 13 21 32 21 51 0 19-7 38-21 51-13 13-32 21-51 21z m270 215c-127 119-313 98-321 97-17-2-29-17-27-34 2-16 17-29 34-26 2 0 166 18 273-81 67-62 98-159 93-287-1-16 12-31 29-31 1 0 1 0 1 0 16 0 30 12 31 29 7 146-31 258-113 333z"/> |
| | | <glyph glyph-name="flag" unicode="^" d="M483 511c-11 3-21-3-25-13-6-14-65-75-116-77-29-1-55 19-84 40-37 27-77 57-129 47-78-15-114-84-116-88-2-4-2-10-1-15l22-99 65-289c2-11 12-18 22-18 1 0 3 0 5 1 12 3 19 14 16 27l-37 168c10 16 38 54 83 64 26 6 47-1 72-9 27-8 58-19 98-10 84 19 141 120 143 250 0 10-7 19-18 21z m-135-228c-27-6-49 1-74 10-27 9-58 19-96 10-38-8-67-30-86-51l-2 10-33 144c9 15 35 49 79 58 34 6 62-15 95-39 32-24 68-50 112-49 38 2 76 24 106 48-13-67-46-128-101-141z"/> |
| | | <glyph glyph-name="flashlight" unicode="_" d="M238 256c0-9-7-17-17-17l-42 0c-9 0-16 8-16 17 0 9 7 17 16 17l42 0c10 0 17-8 17-17z m274 130l0-260c0-17-14-32-32-32l-53 0c-91 1-147 51-165 73l-230 0c-18 0-32 14-32 32l0 115c0 18 14 31 32 31l229 0c19 22 74 72 166 72l53 0c18 0 32-14 32-31z m-467-175l38 0 0 90-38 0z m350-70l0 230c-67-11-106-60-106-61-5-6-10-9-17-9l-155 0 0-90 155 0c7 0 12-3 16-9 2-2 40-50 107-61z m72 232l-38 0 0-234 38 0z"/> |
| | | <glyph glyph-name="folder" unicode="`" d="M445 384l-192 0-24 40c-4 6-11 10-19 10l-143 0c-12 0-22-10-22-22l0-312c0-12 10-22 22-22l378 0c12 0 22 10 22 22l0 261c0 12-10 23-22 23z m-22-262l-334 0 0 268 108 0 24-40c4-7 12-11 19-11l183 0z"/> |
| | | <glyph glyph-name="folder-open" unicode="{" d="M507 297c-4 6-11 9-17 9l-28 0 0 61c0 10-8 17-18 17l-195 0-25 41c-4 6-10 9-17 9l-144 0c-10 0-18-6-18-17l0-111-23 0c-6 0-13-3-17-8-4-5-6-13-4-19l41-189c2-10 11-18 21-18l381 0c10 0 18 8 21 17l46 189c2 7 0 14-4 19z m-424 98l113 0 25-41c3-6 10-9 17-9l185 0 0-39-340 0z m343-278l-345 0-31 145 411 0z"/> |
| | | <glyph glyph-name="forward" unicode="|" d="M72 95c-1 0-4 0-5 0-10 3-17 11-17 22 0 3 1 88 64 152 41 40 96 63 166 67l0 59c0 9 6 17 14 21 9 3 18 1 25-5l137-139c8-9 8-23 0-32l-137-139c-6-6-16-8-25-5-8 4-14 12-14 21l0 60c-44 1-150-3-188-71-4-7-12-11-20-11z m196 127c21 0 35-2 37-2 11-1 20-10 20-22l0-27 83 85-83 85 0-27c0-12-10-22-22-22-69 0-122-19-157-55-16-16-27-34-35-52 52 31 117 37 157 37z"/> |
| | | <glyph glyph-name="gaming" unicode="}" d="M338 340c5-4 8-11 8-18 0-6-3-13-8-18-4-4-11-7-17-7-7 0-14 3-18 7-5 5-7 12-7 18 0 7 2 13 7 18 4 4 11 7 18 7 6 0 13-3 17-7z m39-35c-6 0-12-3-17-7-5-5-8-11-8-18 0-7 3-13 8-18 4-4 11-7 17-7 7 0 14 3 18 7 5 5 7 11 7 18 0 7-2 13-7 18-4 4-11 7-18 7z m-189 12l-15 0 0 15c0 7-7 14-14 14-8 0-14-7-14-14l0-15-15 0c-8 0-14-6-14-14 0-7 6-14 14-14l15 0 0-14c0-8 6-14 14-14 7 0 14 6 14 14l0 14 15 0c8 0 14 7 14 14 0 8-6 14-14 14z m324-173c0-24-13-43-35-52-21-7-54-4-84 30-15 17-39 47-52 63-72-16-140-6-169 0-13-16-38-46-52-63-22-25-45-34-65-34-8 0-14 2-20 4-22 8-35 28-35 52 0 65 42 168 56 199-5 15-3 32 5 46 11 18 30 32 46 33 15 2 34-7 47-13 25 4 104 16 204 0 12 6 32 15 47 13 16-1 35-15 46-33 8-14 10-31 5-46 14-30 56-133 56-199z m-45 0c0 66-55 189-55 190-3 6-3 13 0 19 3 5 3 9 1 13-3 6-10 11-12 12-5 0-19-6-29-11-5-2-10-4-15-2-114 20-201 0-202 0-5-2-10-1-15 2-11 5-24 11-29 11-3-1-10-6-12-12-2-5-2-8 0-13 3-6 3-13 1-19 0-1-55-124-55-190 0-5 2-8 5-10 8-3 22 2 36 17 19 23 59 73 60 73 5 8 15 10 23 8 1 0 88-25 173 0 2 0 4 1 6 1 7 0 14-3 18-9 0 0 40-50 60-73 14-16 28-20 35-17 4 2 6 5 6 10z"/> |
| | | <glyph glyph-name="gear" unicode="~" d="M256 149c-59 0-107 47-107 107 0 59 47 107 107 107 59 0 107-47 107-107 0-59-48-107-107-107z m0 175c-37 0-68-31-68-68 0-37 31-68 68-68 37 0 68 31 68 68 0 37-31 68-68 68z m0-324l-3 0c-19 0-36 2-37 2-9 1-16 8-17 17l-6 40c-12 4-24 9-35 15l-31-24c-7-5-17-5-24 0-1 1-14 11-28 25l-2 2c-14 14-24 27-25 28-5 7-5 16 0 24l25 32c-6 11-11 23-15 35l-39 6c-8 1-15 8-16 17-1 1-3 18-3 37l0 3c0 19 2 36 2 37 1 9 8 16 17 17l40 6c4 12 9 24 15 35l-24 31c-5 7-5 17 0 24 1 1 11 14 25 28l2 2c14 14 27 24 28 25 7 5 16 5 24 0l32-25c11 6 23 11 35 15l6 39c1 8 8 15 17 16 1 1 18 3 37 3l3 0c19 0 36-2 37-2 9-1 16-8 17-17l6-40c12-4 24-9 35-15l31 24c7 5 17 5 24 0 1-1 14-11 28-25l2-2c14-14 24-27 25-28 5-7 5-16 0-24l-24-32c6-11 10-23 14-35l39-6c9-1 16-8 17-17 0-1 2-18 2-38l0-2c0-20-2-37-2-38-1-9-8-15-17-17l-40-5c-4-13-9-24-15-36l24-31c5-7 5-17 0-24-1-1-11-14-25-28l-2-2c-14-14-27-24-28-25-7-5-16-5-24 0l-32 25c-11-6-23-10-35-14l-6-39c-1-9-8-16-17-17-1 0-18-2-37-2z m-20 40c5 0 11 0 17 0l3 0c6 0 12 0 17 0l5 37c1 8 7 14 15 16 18 4 34 11 49 21 5 2 10 3 15 2 3-1 6-2 8-4l30-22c3 3 8 7 12 11l3 3c4 4 8 8 11 12l-22 30c-5 6-5 15-1 22 9 15 16 31 20 47 2 9 8 15 17 17l37 5c0 5 0 11 0 17l0 2c0 6 0 12 0 17l-37 5c-8 1-14 7-16 15-4 18-11 34-20 49-1 1-2 2-2 4-2 6-1 14 3 19l22 30c-3 3-7 8-11 12l-3 3c-4 4-8 8-12 11l-30-22c-7-5-17-5-23 0-15 9-31 16-47 20-8 2-14 8-16 17l-5 37c-5 1-11 1-17 1l-2 0c-6 0-12 0-17-1l-5-38c-1-9-8-15-17-16-17-4-33-11-47-20-5-3-10-3-15-2-3 0-6 2-8 4l-29 22c-4-3-8-7-13-12l-2-2c-4-4-8-9-12-13l23-29c5-7 5-15 1-23-1 0-1-1-1-1-9-15-16-31-20-47-2-8-8-14-17-16l-37-5c0-5 0-11 0-17l0-2c0-6 0-12 0-17l37-5c9-1 15-8 16-17 0 0 0-1 0-1 4-16 11-32 20-46 3-5 4-11 2-17-1-2-3-4-4-7l-22-29c3-3 7-8 12-12l2-3c4-4 9-8 13-11l29 22c7 6 18 5 25-1 14-8 30-15 46-19 8-2 14-8 15-17z"/> |
| | | <glyph glyph-name="graduation" unicode="\" d="M499 337l-234 105c-6 3-13 3-18 0l-234-105c-7-4-13-11-13-20 0-9 6-16 13-20l20-10 0-78c0-8 7-14 14-14 8 0 14 6 14 14l0 64 34-18 0-95c0-4 1-7 3-10 2-4 53-79 155-79 105 0 154 76 156 79 2 2 3 6 3 10l0 92 89 45c8 4 12 12 12 20-1 9-7 16-14 20z m-126-171c-11-13-49-56-120-56-69 0-108 42-119 56l0 69 112-57c3-2 7-2 10-2 3 0 7 0 11 2l106 54z m-117 57l-183 92 183 82 183-82z m-195-47c4-3 7-10 7-15 0-6-2-12-7-16-4-4-10-6-15-6-6 0-12 2-16 6-4 4-7 10-7 16 0 5 3 12 7 15 4 4 10 7 16 7 5 0 11-2 15-7z"/> |
| | | <glyph glyph-name="graph-bar" unicode="" d="M406 17c-18 0-33 15-33 33l0 412c0 18 15 33 33 33 19 0 34-15 34-33l0-412c0-18-15-33-34-33z m-117 33l0 276c0 18-15 34-33 34-18 0-33-16-33-34l0-276c0-18 15-33 33-33 18 0 33 15 33 33z m-150 0l0 140c0 19-15 34-33 34-19 0-34-15-34-34l0-140c0-18 15-33 34-33 18 0 33 15 33 33z"/> |
| | | <glyph glyph-name="graph-line" unicode="" d="M33 56c-5 0-10 1-14 4-13 7-17 25-10 38l68 113c5 8 14 14 23 14 10 0 19-4 24-12l29-40 61 105c5 7 14 13 23 14 9 0 18-4 23-12l54-71 141 233c7 14 25 18 38 10 13-8 17-25 10-39l-162-268c-5-8-14-13-23-14-9 0-18 4-24 11l-53 72-62-105c-5-8-13-13-23-14-9 0-18 4-24 12l-28 40-47-77c-5-9-14-14-24-14z"/> |
| | | <glyph glyph-name="graph-pie" unicode="" d="M187 305l-168 0c-10 0-19 9-19 19 0 104 84 188 187 188 11 0 19-9 19-19l0-168c1-11-8-20-19-20z m-146 39l127 0 0 127c-66-8-119-61-127-127z m232-344c-132 0-238 102-238 229 0 12 10 22 22 22l204 0 0 204c0 12 10 22 22 22 124 0 229-109 229-238 0-132-107-239-239-239z m-192 206c11-91 93-161 192-161 107 0 194 87 194 194 0 97-72 181-161 192l0-202c0-13-10-23-23-23z"/> |
| | | <glyph glyph-name="headset" unicode="" d="M495 274l0-141c0-12-10-22-23-22-12 0-22 10-22 22l1 141c0 52-20 100-57 137-37 36-85 56-137 56 0 0-1 0-1 0-107 0-194-86-195-192l0-141c0-13-10-23-22-23-12 0-22 10-22 23l0 141c0 131 108 237 239 237 0 0 1 0 1 0 64 0 124-25 168-70 46-45 70-105 70-168z m-291-12c4-4 5-8 5-13l0-225c0-11-9-18-20-18-73 0-97 42-100 65 0 1 0 0 0 1l0 127c0 1 0 1 0 2 3 23 27 66 100 66 0 0 1 0 1 0 5 0 10-1 14-5z m-34-34c-35-6-41-27-42-30l-1-125c2-4 8-24 43-30z m254-29l0-126c0-1 0-1 0-2-3-23-27-65-100-65-11 0-20 7-20 18l0 224c0 5 2 10 5 14 4 3 9 5 14 5 0 0 1 0 1 0 73 0 97-43 100-66 0-1 0-1 0-2z m-39-126l0 125c-2 4-8 24-43 30l1-185c35 7 41 27 42 30z"/> |
| | | <glyph glyph-name="heart" unicode="" d="M483 390c-23 50-71 83-122 83-52 0-86-23-105-47-19 24-53 47-105 47-51 0-99-33-122-83-23-53-13-112 28-157 97-110 183-187 185-188 4-4 9-5 15-5 5 0 10 1 15 5 1 1 86 79 184 188 40 45 50 104 27 157z m-61-128c-72-81-138-144-166-171-28 27-94 90-166 171-29 33-37 72-20 110 15 34 48 57 81 57 67 0 82-50 83-56 3-10 11-17 21-17 10 0 19 7 22 17 2 5 17 56 83 56 33 0 66-23 82-58 17-37 9-76-20-109z m-5 65c0-11-7-20-19-21 0 0-1 0-1 0-10 0-19 8-19 18-2 32-23 37-27 38-10 1-18 11-17 21 2 11 12 18 23 17 19-3 56-22 60-73z m-27-33c4-4 7-10 7-15 0-6-2-12-7-16-4-4-10-6-15-6-6 0-12 2-16 6-4 4-7 10-7 16 0 5 3 12 7 15 4 4 10 7 16 7 5 0 11-3 15-7z"/> |
| | | <glyph glyph-name="help" unicode="" d="M437 437c-49 48-113 75-181 75-68 0-132-27-181-75-48-49-75-113-75-181 0-68 27-132 75-181 49-48 113-75 181-75 68 0 132 27 181 75 48 49 75 113 75 181 0 68-27 132-75 181z m-50-150l76 12c3-14 4-29 4-43 0-14-1-29-4-43l-76 12c4 20 4 42 0 62z m67 45l-79-13c-7 12-14 23-24 32-9 10-20 18-32 24l13 79c27-11 53-27 74-48 21-22 37-47 48-74z m-198-166c-24 0-47 9-63 26-18 17-27 40-27 63 0 24 10 47 27 64 17 18 40 26 63 26 23 0 46-9 63-26 18-17 27-40 27-64 0-23-10-46-27-63-16-17-39-26-63-26z m0 301c14 0 29-1 43-4l-12-76c-20 5-42 5-62 0l-12 76c14 3 29 4 43 4z m-150-61c21 21 47 38 74 48l13-79c-12-7-23-14-32-24-10-9-17-20-24-32l-79 13c11 27 27 52 48 74z m-61-150c0 14 1 29 4 43l76-12c-2-10-4-20-4-31 0-11 1-21 4-31l-76-12c-3 14-4 29-4 43z m13-76l79 13c7-12 14-23 24-32 10-10 21-17 32-24l-12-79c-27 10-53 27-74 48-22 22-38 47-49 74z m198-135c-14 0-29 1-43 4l12 76c10-2 20-4 31-4 11 0 21 1 31 4l12-76c-14-3-29-4-43-4z m150 61c-21-21-47-38-74-48l-13 79c12 7 23 14 32 24 10 10 18 21 24 32l79-12c-11-28-27-53-48-75z"/> |
| | | <glyph glyph-name="home" unicode="" d="M490 239c-6 0-11 3-16 6l-218 214-218-214c-9-8-23-8-32 1-8 9-8 23 1 32l233 228c9 8 23 8 32 0l233-228c9-9 9-23 1-32-5-4-11-7-16-7z m-49-217l0 218c0 12-10 22-22 22-13 0-23-10-23-22l0-195-69 0 0 119c0 16-14 29-30 29l-82 0c-16 0-30-13-30-29l0-119-69 0 0 195c0 12-10 22-23 22-12 0-22-10-22-22l0-218c0-12 10-22 22-22l115 0c12 0 22 10 22 22l0 127 53 0 0-127c0-12 10-22 22-22l114 0c12 0 22 10 22 22z"/> |
| | | <glyph glyph-name="hourglass" unicode="" d="M434 56l-22 0 0 58c0 32-32 60-64 86-10 9-25 23-31 29l0 54c6 6 21 20 31 29 32 26 64 54 64 86l0 58 22 0c12 0 22 10 22 23 0 12-10 22-22 22l-356 0c-12 0-22-10-22-22 0-13 10-23 22-23l22 0 0-58c0-32 32-60 64-86 10-9 25-23 31-29l0-54c-6-6-21-20-31-29-32-26-64-54-64-86l0-58-22 0c-12 0-22-10-22-23 0-12 10-22 22-22l356 0c12 0 22 10 22 22 0 13-10 23-22 23z m-289 58c0 12 31 38 48 52 26 23 46 40 46 61l0 58c0 22-20 38-46 61-17 14-48 40-48 52l0 58 222 0 0-58c0-12-31-38-48-52-26-23-46-40-46-61l0-58c0-21 20-38 46-61 17-14 48-40 48-52l0-58-222 0z m161 292l0 11c0 11 9 20 20 20 10 0 19-8 19-20l0-11c0-10-9-19-19-19-11 0-20 9-20 19z"/> |
| | | <glyph glyph-name="inbox" unicode="" d="M512 294c0 0 0 2 0 2 0 1 0 1-1 2 0 1 0 2 0 3 0 0-1 1-1 2 0 0 0 1-1 1 0 1-1 2-1 3 0 0 0 0 0 0l-121 147c-4 5-10 8-17 8l-228 0c-7 0-13-3-17-8l-120-147c0 0-1 0-1 0 0-1-1-1-1-3 0 0 0-1-1-1 0-1 0-1 0-2 0-1-1-2-1-3 0 0 0-1 0-2 0 0 0-2 0-2 0-1 0-1 0-1l0-200c-1-23 19-43 44-43l422 0c25 0 45 20 45 44l0 199c0 0 0 1 0 1z m-360 123l207 0 83-100-73 0c-6 0-12-4-17-8l-50-59-92 0-50 59c-5 5-10 8-17 8l-74 0z m315-322l-422 0 0 178 88 0 48-56c6-7 14-11 23-11l104 0c9 0 16 5 23 11l48 56 88 0z"/> |
| | | <glyph glyph-name="information" unicode="" d="M241 101c-4 0-9 2-12 5-6 4-9 11-7 19l27 139-15-9c-9-5-21-2-26 8-5 9-3 21 7 26l52 30c6 4 15 3 21-1 6-5 9-12 8-20l-29-144 24 10c10 4 21 0 25-10 5-10 0-22-10-26l-57-25c-2-1-5-2-8-2z m55 266c5 5 8 13 8 20 0 7-2 14-8 19-5 5-12 9-19 9-8 0-15-3-20-9-5-5-8-12-8-19 0-7 3-15 8-20 5-5 12-8 20-8 7 0 14 3 19 8z m216-111c0 141-115 256-256 256-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256z m-45 0c0-117-94-211-211-211-117 0-211 94-211 211 0 117 94 211 211 211 117 0 211-94 211-211z"/> |
| | | <glyph glyph-name="italic" unicode="" d="M282 342c5-5 6-13 5-20l-41-211c10 4 22 0 27-10 6-10 2-24-9-30l-14-8c-5-2-11-4-17-4-7 0-14 2-20 7-12 9-17 22-14 36l39 204-9 0c-13 0-23 10-23 22 0 13 10 23 23 23l36 0c7 0 13-4 17-9z m-10 95c-14 0-26-11-26-26 0-14 12-26 26-26 15 0 26 12 26 26 0 15-12 26-26 26z"/> |
| | | <glyph glyph-name="jewel" unicode="" d="M506 338l-94 100c-5 4-10 7-16 7l-280 0c-6 0-12-3-16-7l-94-100c-8-9-8-22 1-31l233-234c5-5 10-7 16-7 6 0 12 2 16 7l233 234c9 9 9 22 1 31z m-354-32l42-120-121 120z m123 95l36-56-110 0 36 56z m-19-280l0 1-62 184 124 0-62-184z m104 185l79 0-121-120z m81 39l-85 0-35 56 65 0z m-315 56l65 0-35-56-85 0z"/> |
| | | <glyph glyph-name="lifting" unicode="" d="M429 390l0-268c0-12-10-22-23-22-12 0-22 10-22 22l0 112-256 0 0-112c0-12-10-22-22-22-13 0-23 10-23 22l0 268c0 12 10 22 23 22 12 0 22-10 22-22l0-112 256 0 0 112c0 12 10 22 22 22 13 0 23-10 23-22z m-396-33c-12 0-22-10-22-23l0-157c0-12 10-22 22-22 13 0 23 10 23 22l0 157c0 13-10 23-23 23z m446 0c-13 0-23-10-23-23l0-157c0-12 10-22 23-22 12 0 22 10 22 22l0 157c0 13-10 23-22 23z"/> |
| | | <glyph glyph-name="lightbulb" unicode="" d="M256 512c-91 0-167-76-167-169 0-56 22-102 67-133l0-54c0-6 4-12 8-16 4-4 10-6 16-6 0 0 1 0 2 0l153 12c12 1 22 10 22 22l0 42c39 28 67 77 67 133-1 93-77 169-168 169z m67-270c-7-4-11-12-11-19l0-34-112-9 0 43c0 7-3 15-10 19-38 22-56 56-56 101 0 69 55 124 122 124 67 0 122-55 122-124 0-44-20-82-55-101z m31-143c1-13-8-23-21-24l-152-12c0 0-1 0-1 0-12 0-21 9-23 21-1 12 9 23 21 24l152 11c13 1 23-8 24-20z m-48-71c1-12-9-22-21-24l-55-4c0 0-1 0-1 0-12 0-21 9-23 21-1 12 9 22 21 24l55 4c12 1 23-8 24-21z m38 316c-1-10-9-18-19-18-1 0-1 0-2 0-10 1-18 11-17 21 3 32-24 44-28 45-10 4-15 15-11 25 3 10 14 15 24 12 21-8 58-35 53-85z"/> |
| | | <glyph glyph-name="link" unicode="" d="M505 156l-132 133c-9 9-23 9-32 0l-43-44-53 53 44 43c9 9 9 23 0 32l-133 132c-9 9-22 9-31 0l-118-118c-5-4-7-10-7-16 0-6 2-11 7-15l132-133c5-4 10-7 16-7 5 0 11 3 15 7l44 44 52-53-43-43c-9-9-9-23 0-32l132-132c5-5 10-7 16-7 6 0 11 2 15 7l119 118c9 9 9 23 0 31z m-350 114l-101 101 87 87 101-101-28-28-17 17c-9 9-23 9-32 0-9-9-9-23 0-32l17-16z m216-216l-101 101 28 28 17-17c4-5 10-7 16-7 5 0 11 2 15 7 9 9 9 23 0 32l-17 16 28 28 101-101z"/> |
| | | <glyph glyph-name="link-broken" unicode="" d="M207 245c0-12-10-22-22-22l-35-2c-5 0-10 2-14 6l-129 130c-5 5-7 10-7 16 0 7 2 12 7 16l116 116c9 9 23 9 32 0l130-130c9-9 9-23 0-31-9-9-23-8-32 0l-114 115-85-85 107-107 23 0c13 0 23-10 23-22z m298-90l-129 129c-4 5-9 6-14 6l-35-1c-12 0-22-10-22-22 0-12 10-22 22-22l24 0 108-107-86-85-114 115c-9 9-23 9-32 0-9-9-9-23 0-31l130-130c5-5 10-7 16-7 6 0 12 2 16 7l116 116c5 4 7 10 7 16 0 6-2 11-7 16z m-166 231c13 0 23 10 23 22l0 56c0 12-10 22-23 22-12 0-22-10-22-22l0-56c0-12 10-22 22-22z m66-69l55 0c12 0 23 10 23 22 0 13-11 23-23 23l-55 0c-13 0-23-10-23-23 0-12 10-22 23-22z m-232-187c-13 0-23-10-23-23l0-55c0-12 10-23 23-23 12 0 22 11 22 23l0 55c0 13-10 23-22 23z m-69 65l-56 0c-12 0-22-10-22-22 0-13 10-23 22-23l56 0c12 0 22 10 22 23 0 12-10 22-22 22z"/> |
| | | <glyph glyph-name="list" unicode="" d="M508 429c0-19-15-34-34-34l-306 0c-19 0-34 15-34 34 0 18 15 33 34 33l306 0c19 0 34-15 34-33z m-340-206l174 0c18 0 33 15 33 33 0 18-15 33-33 33l-174 0c-19 0-34-15-34-33 0-18 15-33 34-33z m245-106l-245 0c-19 0-34-15-34-34 0-18 15-33 34-33l245 0c19 0 34 15 34 33 0 19-15 34-34 34z m-375 348c-10 0-19-4-26-11-6-7-11-16-11-25 0-10 4-19 11-26 6-7 16-11 25-11 10 0 19 4 26 11 7 7 10 16 10 26 0 9-3 18-10 25-6 7-16 11-25 11z m0-173c-10 0-19-4-26-10-6-7-11-17-11-26 0-9 4-19 11-26 6-6 16-10 25-10 10 0 19 4 26 10 7 7 10 17 10 26 0 9-3 19-10 26-6 6-16 10-25 10z m0-172c-10 0-19-4-26-11-6-7-11-16-11-26 0-9 4-18 11-25 6-7 16-11 25-11 10 0 19 4 26 11 7 7 10 16 10 25 0 10-3 19-10 26-6 7-16 11-25 11z"/> |
| | | <glyph glyph-name="loading" unicode="" d="M256 369c-12 0-22 10-22 22l0 96c0 12 10 22 22 22 12 0 22-10 22-22l0-96c0-12-10-22-22-22z m-66-22c10 8 12 21 5 31l-57 78c-7 10-21 12-31 5-10-7-12-21-5-31l56-78c5-6 11-9 18-9 5 0 10 1 14 4z m-41-56c3 12-3 25-15 28l-91 29c-12 4-25-2-28-14-4-11 3-24 14-28l92-29c2-1 4-2 6-2 10 0 18 7 22 16z m-106-127l91 29c12 4 18 16 15 28-4 12-17 18-28 14l-92-29c-11-4-18-16-14-28 3-9 12-15 21-15 2 0 5 0 7 1z m95-108l57 78c7 10 5 23-5 31-10 7-24 5-31-5l-57-78c-7-10-5-24 5-31 4-3 9-4 13-4 7 0 14 3 18 9z m140-31l0 96c0 12-10 22-22 22-12 0-22-10-22-22l0-96c0-12 10-22 22-22 12 0 22 10 22 22z m127 26c10 7 12 21 5 31l-57 78c-7 10-21 12-31 5-10-8-12-21-5-31l56-78c5-6 12-9 18-9 5 0 10 1 14 4z m92 127c4 11-3 24-14 27l-92 30c-11 4-24-3-28-15-3-11 3-24 15-27l91-30c2 0 5-1 7-1 9 1 18 7 21 16z m-106 99l92 29c11 4 18 16 14 28-4 12-16 18-28 14l-91-29c-12-4-18-16-15-28 3-9 12-16 22-16 2 0 4 1 6 2z m-38 75l57 78c7 10 5 24-5 31-10 7-24 5-32-5l-56-78c-7-10-5-23 5-31 4-3 9-4 13-4 7 0 14 3 18 9z"/> |
| | | <glyph glyph-name="location" unicode="" d="M381 468c-32 28-77 44-125 44-48 0-93-16-125-44-39-34-59-86-59-151 0-139 161-304 168-310 5-5 10-7 16-7 6 0 12 2 16 7 7 6 168 171 168 310 0 65-20 117-59 151z m-125-413c-15 17-39 45-62 78-50 71-77 135-77 184 0 139 106 150 139 150 129 0 139-115 139-150 0-98-99-218-139-262z m0 361c-49 0-88-41-88-90 0-50 39-90 88-90 49 0 88 41 88 90 0 50-39 90-88 90z m0-141c-27 0-50 23-50 51 0 29 23 51 50 51 27 0 50-22 50-51 0-28-23-51-50-51z"/> |
| | | <glyph glyph-name="lock" unicode="" d="M406 328l-16 0 0 39c0 82-56 139-134 139-78 0-134-57-134-139l0-39-16 0c-13 0-23-10-23-22l0-278c0-12 10-22 23-22l300 0c13 0 23 10 23 22l0 278c0 12-10 22-23 22z m-239 39c0 57 37 95 89 95 52 0 89-38 89-95l0-39-178 0z m217-317l-256 0 0 234 256 0z"/> |
| | | <glyph glyph-name="lock-open" unicode="" d="M406 328l-239 0 0 39c0 57 36 95 88 95 38 0 68-20 81-54 4-12 17-17 29-13 11 5 17 17 12 29-19 51-65 82-122 82-77 0-133-57-133-139l0-39-16 0c-13 0-23-10-23-22l0-278c0-12 10-22 23-22l300 0c13 0 23 10 23 22l0 278c0 12-10 22-23 22z m-22-278l-256 0 0 234 256 0z"/> |
| | | <glyph glyph-name="mail" unicode="" d="M512 385c0 0 0 1 0 2 0 0 0 1 0 1 0 1-1 2-1 3 0 0 0 1 0 2 0 0-1 1-1 2-1 0-1 1-1 2 0 0 0 0 0 0-1 1-1 1-1 1-1 1-2 2-2 2-1 1-1 1-2 1 0 1-1 1-1 1-1 1-2 1-2 1-1 1-1 1-2 2 0 0-1 0-2 0-1 0-1 1-2 1-1 0-2 0-2 0-1 0-2 0-2 0l-469 0c0 0-1 0-1 0-1 0-2 0-3 0 0 0-1-1-2-1 0 0-2 0-2 0-1 0-1-1-2-2 0 0-1 0-1-1-1 0-2 0-2-1-1 0-1-1-2-1 0 0-1-1-1-2-1 0-1 0-2-1 0 0 0 0 0 0 0-1-1-2-1-2 0-1 0-2-1-2 0-1 0-1 0-2 0-1-1-1-1-3 0 0 0-1 0-1 0-1 0-2 0-2 0 0 0-1 0-1l0-256c0-12 10-22 22-22l468 0c12 0 22 10 22 22l-1 257c0-1 0 0 0 0z m-90-23l-166-124-166 124z m-377-212l0 189 198-146c4-3 8-5 13-5 5 0 9 2 13 5l198 146 0-189z"/> |
| | | <glyph glyph-name="map" unicode="" d="M502 430l-117 55c-1 0-1 0-1 0-1 1-2 1-2 1-1 0-2 0-2 0-1 0-2 0-3 0 0 0-1 0-2 0 0 0-2 0-2 0-1 0-2-1-2-1-1 0-1 0-1 0l-110-51-111 51c0 0 0 0-1 0-1 1-2 1-2 1-1 0-2 0-2 0-1 0-2 0-3 0 0 0-1 0-2 0 0 0-2 0-2 0-1 0-2-1-2-1-1 0-1 0-1 0l-121-55c-7-4-13-10-13-18l0-362c0-7 5-13 11-17 3-2 7-3 11-3 2 0 6 1 9 2l109 51 110-51c2 0 3-1 4-1 0 0 0 0 1 0 1 0 2 0 4 0 1 0 3 0 4 0 0 0 0 0 1 0 1 1 2 1 3 1l110 51 109-51c3-1 6-1 9-1 4 0 6 1 9 3 5 4 7 10 7 17l0 361c1 8-2 14-9 18z m-268-349l-73 36 0 319 73-37z m-195 318l78 37 0-319-78-36z m239 0l78 37 0-319-78-36z m195-318l-78 36 0 319 78-37z"/> |
| | | <glyph glyph-name="media-loop" unicode="" d="M440 332l0-221c0-12-10-22-23-22l-322 0c-13 0-23 10-23 22l0 221c0 12 10 24 23 24l123 0-30 30c-9 9-8 22 0 30 9 9 23 9 32 0l68-68c8-9 8-23 0-31l-68-69c-5-4-10-6-16-6-5 0-11 2-15 6-9 9-9 24 0 32l30 31-102 0 0-178 278 0 0 179-47 0c-12 0-22 10-22 22 0 12 10 22 22 22l69 0c13 0 23-12 23-24z"/> |
| | | <glyph glyph-name="media-next" unicode="" d="M331 273l-234 184c-6 5-15 6-23 3-8-4-13-12-13-20l0-368c0-8 5-16 13-20 3-1 7-2 9-2 5 0 10 2 14 5l234 184c6 4 8 10 8 17 0 7-3 13-8 17z m-225-155l0 276 175-138z m345 313l0-354c0-14-11-25-25-25-14 0-25 11-25 25l0 354c0 14 11 25 25 25 14 0 25-11 25-25z"/> |
| | | <glyph glyph-name="media-pause" unicode="" d="M184 440l0-368c0-15-13-27-28-27-16 0-28 12-28 27l0 368c0 15 12 27 28 27 15 0 28-12 28-27z m172 27c-15 0-28-12-28-27l0-368c0-15 13-27 28-27 16 0 28 12 28 27l0 368c0 15-12 27-28 27z"/> |
| | | <glyph glyph-name="media-play" unicode="" d="M387 273l-234 184c-7 5-16 6-23 3-8-4-13-12-13-20l0-368c0-8 5-16 13-20 3-1 6-2 9-2 5 0 10 2 14 5l234 184c5 4 8 10 8 17 0 7-3 13-8 17z m-226-155l0 276 176-138z"/> |
| | | <glyph glyph-name="media-previous" unicode="" d="M438 460c-8 4-17 2-23-3l-231-184c-6-4-9-10-9-17 0-7 4-13 9-17l231-184c4-3 9-5 14-5 3 0 6 1 9 2 8 4 13 12 13 20l0 368c0 8-5 16-13 20z m-32-341l-173 137 173 137z m-300 312l0-354c0-14-11-25-25-25-14 0-25 11-25 25l0 354c0 14 11 25 25 25 14 0 25-11 25-25z"/> |
| | | <glyph glyph-name="media-record" unicode="" d="M256 42c-118 0-214 96-214 214 0 118 96 214 214 214 118 0 214-96 214-214 0-118-96-214-214-214z m0 378c-91 0-164-73-164-164 0-91 73-164 164-164 91 0 164 73 164 164 0 91-73 164-164 164z"/> |
| | | <glyph glyph-name="media-shuffle" unicode="" d="M380 345c-24 0-82-58-125-100-65-62-126-123-175-123l-30 0c-12 0-22 10-22 23 0 12 10 22 22 22l30 0c31 0 94 62 144 111 61 59 114 112 156 112l28 0-30 29c-9 9-9 22 0 31 9 9 23 9 32 0l68-69c5-4 7-10 7-15 0-6-2-12-7-16l-69-68c-4-5-10-7-16-7-5 0-11 3-15 7-9 9-9 24 0 32l30 31z m29-115c-9 9-23 9-32 0-9-9-9-23 0-32l31-31-29 0c-18 0-49 27-79 55-9 8-23 8-32-1-8-8-8-23 1-32 47-43 78-67 111-67l28 0-30-29c-9-9-9-22 0-31 4-5 10-6 15-6 6 0 12 2 16 6l68 69c5 4 7 10 7 15 0 6-2 12-7 16z m-359 115l30 0c24 0 59-30 86-55 5-4 10-6 15-6 7 0 13 2 17 7 8 9 8 24-2 32-43 40-80 67-116 67l-30 0c-12 0-22-10-22-22 0-12 10-23 22-23z"/> |
| | | <glyph glyph-name="media-stop" unicode="" d="M467 442c0 14-11 25-25 25l-378 0c-14 0-25-11-25-25l0-378c0-14 11-25 25-25l378 0c14 0 25 11 25 25z m-50-353l-328 0 0 328 328 0z"/> |
| | | <glyph glyph-name="medical" unicode="" d="M505 385c-4 3-9 5-15 5l-117 0 0 66c0 13-11 23-24 23l-186 0c-13 0-24-10-24-23l0-66-117 0c-12 0-22-8-22-20l0-314c0-13 10-23 22-23l468 0c12 0 22 10 22 23l0 313c0 6-2 11-7 16z m-321 49l144 0 0-44-144 0z m283-356l-422 0 0 267 422 0z m-302 136c0 11 9 20 20 20l49 0 0 49c0 11 9 20 19 20 11 0 20-9 20-20l0-49 54 0c11 0 20-9 20-20 0-10-9-19-20-19l-54 0 0-53c0-10-9-19-20-19-10 0-19 8-19 19l0 53-49 0c-11 0-20 9-20 19z"/> |
| | | <glyph glyph-name="menu" unicode="" d="M434 381l-356 0c-20 0-36 16-36 36 0 20 16 37 36 37l356 0c20 0 36-17 36-37 0-20-16-36-36-36z m36-125c0 20-16 36-36 36l-356 0c-20 0-36-16-36-36 0-20 16-36 36-36l356 0c20 0 36 16 36 36z m0-161c0 20-16 36-36 36l-356 0c-20 0-36-16-36-36 0-20 16-37 36-37l356 0c20 0 36 17 36 37z"/> |
| | | <glyph glyph-name="message" unicode="" d="M490 479l-468 0c-12 0-22-10-22-23l0-284c0-12 10-22 22-22l262 0 0-94c0-10 7-18 15-21 3-2 6-2 9-2 6 0 13 3 17 8l92 109 73 0c12 0 22 10 22 22l0 284c0 13-10 23-22 23z m-23-284l-60 0c-6 0-14-4-18-8l-61-71 0 56c0 12-7 23-20 23l-263 0 0 239 422 0z m-363 161c0 12 10 22 22 22l161 0c12 0 22-10 22-22 0-12-10-22-22-22l-161 0c-12 0-22 10-22 22z m244-17c-4 4-7 10-7 16 0 6 2 11 7 15 4 5 10 7 15 7 7 0 12-2 16-7 4-4 7-10 7-15 0-7-3-12-7-16-4-5-10-7-16-7-5 1-11 3-15 7z"/> |
| | | <glyph glyph-name="meter" unicode="" d="M405 373l-108-232c-9-24-26-38-44-38-15 0-28 8-35 20-8 14-8 32 2 47l141 227c7 11 22 15 34 9 11-6 16-20 10-33z m38-67c-8 9-22 10-32 1-9-8-9-22-1-32 37-40 57-92 57-147 0-12 10-22 23-22 12 0 22 10 22 22 0 66-24 130-69 178z m-169 37c12-1 23 8 24 20 1 12-8 23-20 24-8 0-15 1-22 1-141 0-256-117-256-261 0-12 10-22 22-22 13 0 23 10 23 22 0 120 94 216 211 216 6 1 12 0 18 0z"/> |
| | | <glyph glyph-name="microphone" unicode="" d="M380 22c0-12-10-22-23-22l-203 0c-13 0-23 10-23 22 0 13 10 23 23 23l82 0 0 37c0 11 9 20 20 20 11 0 20-9 20-20l0-37 82 0c12 0 22-10 22-23z m-5 329c-11 0-20-9-20-20l0-145c0-8-3-16-9-21-5-6-13-9-20-9l-140 0c-7 0-15 3-20 9-6 6-9 13-9 21l0 145c0 11-9 20-20 20-11 0-20-9-20-20l0-145c0-18 7-36 20-49 13-13 31-20 49-20l140 0c18 0 36 7 49 20 13 14 20 31 20 49l0 145c0 11-9 20-20 20z m-179-152c-8 9-12 20-12 31l0 232c0 12 4 23 12 33 9 11 21 17 33 17l54 0c25 0 45-27 45-49l0-231c0-23-20-48-45-48l-54-1c-12 0-24 5-33 16z m33 31c0-1 1-3 3-4l48 0c1 1 3 3 3 5l0 232c0 1-2 3-3 4l-48 0c-2-1-3-3-3-5z"/> |
| | | <glyph glyph-name="minus" unicode="" d="M378 231l-244 0c-14 0-25 11-25 25 0 14 11 25 25 25l244 0c14 0 25-11 25-25 0-14-11-25-25-25z"/> |
| | | <glyph glyph-name="monitor" unicode="" d="M512 440c0 12-10 22-22 22l-468 0c-12 0-22-10-22-22l0-290c0-12 10-22 22-22l468 0c12 0 22 10 22 22z m-45-267l-422 0 0 244 422 0z m-80-101c0-12-10-22-22-22l-218 0c-12 0-22 10-22 22 0 13 10 23 22 23l217 0c13 0 23-10 23-23z"/> |
| | | <glyph glyph-name="move" unicode="" d="M512 254c0-6-2-11-7-15l-78-78c-5-5-10-6-16-6-5 0-11 2-15 6-9 9-9 24 0 32l40 41-158 0 0-158 41 41c9 9 23 8 32 0 9-9 8-23 0-32l-79-78c-4-5-10-7-16-7-6 0-11 2-16 7l-78 78c-9 8-9 22 0 31 9 9 23 9 31 0l41-40 0 158-158 0 41-41c9-9 9-24 0-33-5-4-10-6-16-6-5 0-11 2-15 6l-79 79c-5 4-7 9-7 15 0 6 2 12 7 16l78 78c9 9 23 9 32 0 9-9 8-22 0-31l-41-39 158 0 0 158-41-40c-9-9-23-9-31 0-9 9-8 23 0 31l78 78c9 9 23 9 32 0l79-78c9-8 9-22 0-31-5-5-10-7-16-7-6 0-12 2-16 7l-41 40 0-158 158 0-41 40c-9 9-9 21 0 30 9 9 23 9 32 0l78-78c5-4 7-10 7-16z"/> |
| | | <glyph glyph-name="music" unicode="" d="M495 477c0 7-3 13-9 17-5 5-11 6-18 5l-280-57c-11-2-18-11-18-22l0-255c-16 9-35 14-55 14-25 0-49-8-68-24-20-16-30-36-30-60 0-48 44-84 98-84 26 0 49 7 67 22 19 16 29 37 29 60l0 0 2 218 236 48 0-132c-15 8-33 12-53 12-25 0-49-7-68-22-20-16-31-37-31-61 0-47 45-84 99-84 51 0 94 34 98 79 0 0 0 3 0 9z m-340-410c-10-9-24-11-40-11-29 0-54 16-54 39 0 10 5 19 15 26 10 9 24 12 40 12 29 0 54-18 54-40 0-10-5-18-15-26z m59 284l0 51 236 48 0-50z m182-234c-29 0-54 18-54 40 0 10 5 18 14 26 11 9 25 12 40 12 28 0 55-15 55-36l0-6c-6-21-27-36-55-36z"/> |
| | | <glyph glyph-name="network-1" unicode="" d="M364 125c-25 0-46-19-55-36l-121 0c-10 0-15 5-15 15l0 124 136 0c9-22 30-36 55-36 33 0 60 27 60 59 0 32-27 59-60 59-25 0-46-15-55-37l-136 0 0 119c0 0-2 1-2 1 22 9 37 30 37 54 0 33-27 59-59 59-33 1-60-26-60-58 0-24 16-46 38-55 0 0 1 0 1 0l0-289c0-34 26-59 60-59l121 0c9-23 30-39 55-39 33 0 60 27 60 59 0 32-28 60-60 60z m0 152c14 0 26-12 26-26 0-14-12-26-26-26-15 0-26 12-26 26 0 14 11 26 26 26z m-216 197c15 0 26-12 26-26 0-14-11-26-26-26-14 0-26 12-26 26 0 14 12 26 26 26z m216-436c-15 0-26 12-26 26 0 14 11 26 26 26 14 0 26-12 26-26 0-14-12-26-26-26z"/> |
| | | <glyph glyph-name="network-2" unicode="" d="M429 447c0 33-27 59-59 59-33 0-60-26-60-59 0-24 15-45 37-54-1-10-7-72-94-104-40-15-69-34-86-54l0 158c22 9 36 30 36 54 0 33-28 59-60 59-33 0-58-26-58-59 0-24 15-45 37-54l0-274c-22-9-38-30-38-54 0-33 26-59 58-59 33 0 61 26 61 59 0 24-14 45-37 54l0 18c0 6 3 74 102 110 118 43 124 135 124 146 22 9 37 30 37 54z m-287 26c15 0 26-12 26-26 0-13-12-25-26-25-14 0-25 12-25 25 0 14 11 26 25 26z m0-434c-14 0-25 12-25 26 0 13 12 25 25 25 15 0 26-12 26-25 0-14-12-26-26-26z m228 383c-15 0-26 12-26 25 0 14 12 26 26 26 14 0 25-12 25-26 0-13-11-25-25-25z"/> |
| | | <glyph glyph-name="network-3" unicode="" d="M462 119l0 120c0 34-24 62-58 62l-126 0 0 91c0 0 0 1 0 1 22 9 37 30 37 54 0 33-26 59-59 59-33 0-59-26-59-59 0-24 16-45 37-54 0 0 0-1 0-1l0-91-126 0c-34 0-58-28-58-62l0-120c-22-9-38-30-38-54 0-33 25-59 58-59 32 0 60 26 60 59 0 24-19 45-36 54l0 120c0 10 5 17 13 17l127 0 0-137c-23-9-37-30-37-54 0-33 26-59 59-59 33 0 59 26 59 59 0 24-14 45-37 54l0 137 126 0c9 0 13-8 13-17l0-120c-16-9-35-30-35-54 0-33 28-59 60-59 33 0 58 26 58 59 0 24-16 45-38 54z m-206 354c14 0 26-12 26-26 0-13-12-25-26-25-14 0-26 12-26 25 0 14 12 26 26 26z m-187-434c-14 0-26 12-26 26 0 13 12 25 26 25 14 0 26-12 26-25 0-14-12-26-26-26z m187 0c-14 0-26 12-26 26 0 13 12 25 26 25 14 0 26-12 26-25 0-14-12-26-26-26z m187 0c-14 0-26 12-26 26 0 13 12 25 26 25 14 0 26-12 26-25 0-14-12-26-26-26z"/> |
| | | <glyph glyph-name="network-4" unicode="" d="M215 450c0 33-26 59-59 59-32 0-61-26-61-59 0-25 16-47 33-55l0-278c-17-8-33-30-33-55 0-33 28-59 60-59 33 0 59 26 59 59 0 25-14 47-36 55l0 278c22 8 37 30 37 55z m-58 25c14 0 26-11 26-25 0-14-12-26-26-26-13 0-25 12-25 26 0 14 11 25 25 25z m0-438c-13 0-25 11-25 25 0 14 12 26 25 26 14 0 26-12 26-26 0-14-12-25-26-25z m227 80l0 278c17 8 33 30 33 55 0 33-28 59-61 59-33 0-59-26-59-59 0-25 15-47 37-55l0-278c-22-8-37-30-37-55 0-33 26-59 59-59 32 0 61 26 61 59 0 25-16 47-33 55z m-29 358c13 0 25-11 25-25 0-14-12-26-25-26-14 0-26 12-26 26 0 14 12 25 26 25z m0-438c-14 0-26 11-26 25 0 14 12 26 26 26 13 0 25-12 25-26 0-14-11-25-25-25z"/> |
| | | <glyph glyph-name="network-5" unicode="" d="M278 119l0 273c0 0 0 1 0 1 21 9 36 30 36 54 0 33-26 59-58 59-32 0-58-26-58-59 0-24 15-45 36-54 0 0 0-1 0-1l0-273c-21-9-36-30-36-54 0-33 26-59 58-59 32 0 58 26 58 59 0 24-15 45-36 54z m-22 354c14 0 25-12 25-26 0-13-11-25-25-25-14 0-25 12-25 25 0 14 11 26 25 26z m0-434c-14 0-25 12-25 26 0 13 11 25 25 25 14 0 25-12 25-25 0-14-11-26-25-26z"/> |
| | | <glyph glyph-name="pamphlet" unicode="" d="M454 495c-5 4-12 4-18 1l-117-55-118 55c-1 0-1 0-1 1-1 1-2 1-2 1-1 0-2 0-3 0 0 0-1 0-2 0 0 0-2 0-2 0-1 0-2 0-2 0-1 0-2-1-3-1 0 0 0 0-1-1l-128-59c-7-3-12-10-12-17l0-387c0-6 5-12 10-16 3-3 7-3 11-3 3 0 6 0 9 2l118 55 118-55c1-1 2-2 3-2 0 0 0 0 1 0 1 0 2 0 4 0 2 0 2 0 4 0 0 0 0 0 1 0 1 1 2 1 3 2l125 59c7 3 10 10 10 17l0 387c0 6-2 12-8 16z m-153-431l-90 41 0 343 90-41z m-218 343l90 41 0-343-90-41z m340-302l-84-41 0 343 84 41z"/> |
| | | <glyph glyph-name="paperclip" unicode="" d="M473 308c8-7 8-20 0-28l-221-220c-37-38-79-57-119-57-10 0-20 1-30 4-39 10-69 40-80 81-13 50 5 105 50 150l247 246c40 40 96 27 128-5 44-44 32-96 2-125l-249-248c-32-33-70-31-89-11-19 19-21 55 12 89l168 168c8 8 20 8 28 0 8-8 8-20 0-28l-169-168c-15-15-17-29-12-34 6-6 20-3 34 11l249 249c25 25 14 53-2 70-19 19-50 28-73 4l-246-246c-35-35-50-76-40-112 7-27 27-47 53-53 34-10 74 6 110 42l222 222c7 7 19 7 27-1z"/> |
| | | <glyph glyph-name="pencil" unicode="" d="M496 478l-18 18c-11 10-24 16-39 16-15 0-28-6-39-16l-352-352c-2-3-3-5-5-8l-41-105c-4-9-2-18 5-24 4-5 10-7 15-7 3 0 6 1 9 2l105 41c3 1 6 3 8 5l352 352c22 21 22 56 0 78z m-414-365l32-31-52-20z m382 318l-307-307-32 32 306 308c3 3 6 3 8 3 2 0 5 0 8-3l18-18c4-4 4-10-1-15z"/> |
| | | <glyph glyph-name="phone" unicode="" d="M493 442c-1 1-1 1-2 2l-60 52c-8 8-19 12-31 10-11-1-22-5-29-13-1 0-1-1-2-2l-59-74c-16-17-15-42 1-59 1-1 2-2 3-2l30-20c-2-11-17-41-72-96-55-55-86-70-96-72l-20 30c0 1-1 2-2 3-17 16-43 16-59 1l-74-59c0-1-1-1-2-2-16-16-17-44-2-60l52-60c1 0 1 0 1-1 10-10 26-14 43-14 31 0 66 12 84 20 36 14 105 47 174 116 51 52 93 113 117 175 10 27 33 96 5 125z m-154-269c-103-103-219-131-238-122l-51 59 72 57 20-30c0 0 0-1 1-1 7-9 16-13 27-14 11 0 44-2 132 87 22 21 89 88 86 132 0 11-5 20-13 27 0 0-1 1-2 1l-28 20 57 73 58-51c10-19-18-135-121-238z"/> |
| | | <glyph glyph-name="photo" unicode="" d="M490 451l-468 0c-12 0-22-10-22-22l0-346c0-12 10-22 22-22l468 0c12 0 22 10 22 22l0 346c0 12-10 22-22 22z m-23-45l0-186-37 31c-8 7-20 7-28 0l-60-50-140 121c-8 7-20 7-28 1l-129-104 0 187z m-422-300l0 55 142 116 140-122c8-7 20-7 29 0l60 50 51-44 0-55z m245 225c0 22 18 40 41 40 23 0 41-18 41-40 0-23-18-41-41-41-23 0-41 18-41 41z"/> |
| | | <glyph glyph-name="photo-group" unicode="" d="M510 371l-53-255c-1-8-8-14-16-14-1 0-2 0-3 1-9 2-15 11-13 19l50 239-320 65-8-36c-2-9-11-14-20-13-8 3-14 11-12 20l11 52c3 9 11 15 20 13l352-71c4-1 8-4 10-8 2-3 3-8 2-12z m-104-304c0-12-10-22-22-22l-362 0c-12 0-22 10-22 22l0 272c0 13 10 23 22 23l362 0c12 0 22-10 22-23z m-361 250l0-137 94 76c7 6 18 6 26-1l105-93 44 38c8 6 16 6 23 0l19-19 0 136z m311-228l0 41-31 29-42-38c-8-6-18-6-25 0l-108 94-105-86 0-40z m-92 138c19 0 34 15 34 33 0 19-16 34-34 34-19 0-34-15-34-34-1-18 15-33 34-33z"/> |
| | | <glyph glyph-name="pill" unicode="" d="M462 462c-24 26-57 39-92 39-35 0-67-13-92-39l-228-228c-26-25-39-58-39-92 0-35 13-68 39-92 24-25 57-39 92-39 35 0 68 13 92 39l229 228c25 25 38 58 38 93 0 35-13 67-39 91z m-259-381c-17-16-38-25-61-25-23 0-45 9-61 25-16 16-25 38-25 60 0 23 9 45 25 61l93 93c26-17 89-62 122-121z m228 228l-107-106c-35 57-92 100-122 121l107 107c17 16 38 25 61 25 23 0 45-9 61-25 16-16 25-38 25-60 0-23-9-45-25-62z m-111 66c8-8 8-20 0-28l-27-27c-4-4-9-6-14-6-5 0-10 2-14 6-7 8-7 20 0 28l27 27c8 7 20 7 28 0z m45 45c3-4 6-10 6-16 0-6-2-12-6-16-4-3-10-6-16-6-6 0-12 2-16 6-4 5-6 10-6 16 0 6 2 12 6 16 5 4 10 6 16 6 6 0 12-2 16-6z"/> |
| | | <glyph glyph-name="pin" unicode="" d="M505 365l-140 140c-9 9-23 9-32 0-1-1-42-43-26-98l-64-63c-35 11-124 29-191-37-9-9-9-23 0-32l96-96-141-141c-9-9-9-23 0-32 4-4 10-6 15-6 6 0 11 2 16 7l141 141 96-96c4-4 10-6 16-6 5 0 11 2 15 6 66 67 48 157 37 191l64 64c54-16 96 25 98 26 9 9 9 23 0 32z m-94-12c-8 4-18 2-25-5l-83-83c-6-6-9-16-5-24 0 0 10-25 11-57 2-33-5-60-20-83l-94 94-95 94c60 40 137 10 140 9 8-4 18-2 24 5l84 83c7 7 8 17 4 25-8 17-5 32 0 44l103-103c-11-4-27-7-44 1z m-132-121c1-2 8-18 8-35 0-11-9-19-20-19 0 0 0 0 0 0-11 1-20 10-19 20 0 7-3 16-4 18-5 11 0 22 10 26 10 4 21 0 25-10z"/> |
| | | <glyph glyph-name="plus" unicode="" d="M403 253c0-14-11-25-25-25l-100 0 0-94c0-14-11-25-25-25-14 0-25 11-25 25l0 94-94 0c-14 0-25 11-25 25 0 14 11 25 25 25l94 0 0 100c0 14 11 25 25 25 14 0 25-11 25-25l0-100 100 0c14 0 25-11 25-25z"/> |
| | | <glyph glyph-name="power" unicode="" d="M256 248c-12 0-22 10-22 22l0 192c0 12 10 22 22 22 12 0 22-10 22-22l0-192c0-12-9-22-22-22z m211-8c0 82-45 155-117 191-11 5-24 1-30-10-6-11-1-25 10-30 57-29 93-87 93-151 0-93-75-168-167-168-92 0-167 75-167 168 0 65 36 122 93 151 11 6 16 19 10 30-6 11-19 16-30 10-72-36-117-109-117-191 0-117 94-212 211-212 117 0 211 95 211 212z"/> |
| | | <glyph glyph-name="preview" unicode="" d="M508 268c-4 6-94 138-252 138-158 0-248-132-252-138-5-7-5-17 0-25 4-5 94-137 252-137 158 0 248 132 252 138 5 7 5 17 0 24z m-252-118c-107 0-181 76-206 106 25 31 98 106 206 106 107 0 181-76 206-106-26-31-99-106-206-106z m13 197c-25 4-49-3-69-18-40-30-49-88-18-129 15-20 36-32 61-36 4 0 9-1 12-1 20 0 39 7 56 18 40 31 49 89 18 130-14 20-36 33-60 36z m22-138c-12-10-28-14-43-11-16 2-30 10-39 22-19 27-14 64 12 83 12 10 28 14 43 11 16-2 30-10 39-22 19-27 14-64-12-83z m-2 80c4-4 7-10 7-15 0-6-3-12-7-16-4-4-10-6-16-6-6 0-11 2-15 6-5 5-7 10-7 16 0 6 2 11 7 15 4 5 10 7 15 7 6 0 12-3 16-7z"/> |
| | | <glyph glyph-name="print" unicode="" d="M490 417l-112 0 0 67c0 10-5 17-13 17l-218 0c-8 0-13-7-13-17l0-67-112 0c-12 0-22-9-22-21l0-256c0-12 10-23 22-23l82 0-13-87c-1-6 0-12 4-17 4-4 9-7 15-7l292 0c6 0 11 3 15 8 4 4 6 10 5 15l-14 88 82 0c12 0 22 11 22 23l0 256c0 12-10 21-22 21z m-323 50l178 0 0-50-178 0z m-35-422l22 139 204 0 22-139z m335 116l-66 0-7 46c-2 9-9 16-19 16l-238 0c-10 0-18-7-20-16l-6-46-66 0 0 212 422 0z m-365 156c0 10 7 17 17 17l52 0c9 0 17-7 17-17 0-9-8-16-17-16l-52 0c-9 0-17 7-17 16z"/> |
| | | <glyph glyph-name="pulse" unicode="" d="M512 195c0-12-10-22-22-22l-105 0c-9 0-18 5-21 14l-17 47-54-184c-3-10-12-17-21-17 0 0-1 0-1 0-10 1-19 8-21 18l-72 311-43-173c-3-10-11-16-22-16l-91 0c-12 0-22 10-22 22 0 12 10 22 22 22l74 0 61 245c3 10 12 17 22 17 10 0 19-8 22-18l73-318 50 169c3 10 12 16 21 16 10 1 18-5 22-14l34-97 89 0c12 0 22-10 22-22z"/> |
| | | <glyph glyph-name="question" unicode="" d="M339 370c18-20 26-47 22-76-6-54-45-73-80-73-2 0-3 0-3 0l0-13c0-12-10-22-22-22-12 0-22 10-22 22l0 18c0 18 8 40 47 40 22 0 33 11 36 33 1 8 1 27-12 42-11 11-28 17-51 17-50 0-52-32-52-36 0-12-10-22-22-22-12 0-23 10-23 22 0 22 18 81 97 81 46 0 72-18 85-33z m-85-203c-7 0-14-3-19-8-5-5-8-13-8-20 0-7 2-14 8-19 5-5 12-9 19-9 8 0 15 3 20 9 5 5 8 12 8 19 0 7-3 15-8 20-5 5-12 8-20 8z m258 89c0-141-115-256-256-256-141 0-256 115-256 256 0 141 115 256 256 256 141 0 256-115 256-256z m-45 0c0 117-94 211-211 211-117 0-211-94-211-211 0-117 94-211 211-211 117 0 211 94 211 211z"/> |
| | | <glyph glyph-name="reply" unicode="" d="M399 269c-41 40-98 63-165 67l0 59c0 9-7 17-15 21-9 3-19 1-25-5l-137-139c-9-9-9-23 0-32l137-139c6-6 16-8 25-5 8 4 15 12 15 21l0 60c44 1 149-3 187-71 4-7 11-11 19-11 2 0 4 0 6 0 10 3 17 11 17 22-1 3-1 88-64 152z m-191-49c-11-1-19-10-19-22l0-27-83 85 83 85 0-27c0-12 9-22 21-22 120 0 171-58 192-107-78 47-188 36-194 35z"/> |
| | | <glyph glyph-name="reply-all" unicode="" d="M449 269c-41 40-98 63-165 67l0 59c0 9-7 17-15 21-9 3-19 1-25-5l-138-139c-8-9-9-23 0-32l137-139c6-6 17-8 26-5 8 4 15 12 15 21l0 60c44 1 149-3 187-71 4-7 11-11 19-11 1 0 3 0 5 0 10 3 18 11 18 22-1 3 0 88-64 152z m-191-49c-11-1-19-10-19-22l0-27-83 85 83 85 0-27c0-12 9-22 21-22 120 0 171-58 192-107-78 47-188 36-194 35z m-83-88c9-8 9-22 0-31-4-5-10-7-15-7-6 0-12 2-16 7l-137 139c-8 9-8 23 0 31l137 139c9 9 23 9 31 0 9-9 9-23 0-32l-122-122z"/> |
| | | <glyph glyph-name="return" unicode="" d="M456 332l0-221c0-12-10-22-22-22l-328 0c-12 0-22 10-22 22 0 13 10 23 22 23l306 0 0 178-280 0 31-32c8-8 8-23 0-32-5-4-11-6-16-6-6 0-11 2-16 6l-69 69c-4 4-6 10-6 15 0 6 2 12 6 16l69 68c9 9 23 9 32 0 9-9 8-22 0-31l-31-29 302 0c12 0 22-12 22-24z"/> |
| | | <glyph glyph-name="retweet" unicode="" d="M505 182l-69-69c-5-4-10-7-16-7-5 0-12 3-15 7l-71 69c-9 9-9 23-1 31 9 9 23 9 31 0l31-32 0 147-195 0c-12 0-22 10-22 23 0 12 10 22 22 22l220 0c12 0 20-10 20-22l0-169 33 32c9 9 24 8 33 0 8-9 8-23-1-32z m-193-32l-195 0 0 148 30-32c5-4 10-7 16-7 5 0 11 3 15 7 9 9 8 23 0 31l-70 70c-9 8-23 8-32 0l-69-69c-9-9-9-23 0-31 9-9 24-9 33 0l33 31 0-169c0-12 7-23 20-23l220 0c12 0 22 10 22 23 0 12-11 21-23 21z"/> |
| | | <glyph glyph-name="rocket" unicode="" d="M510 490c-1 11-9 20-20 21-141 11-242-57-305-143-34 11-71 7-105-12-33-18-61-49-78-87-4-9-3-19 5-26 6-6 17-8 25-3 36 19 76 15 100-9l98-98c0 0 0-1 0-1 24-23 28-64 9-99-4-9-2-19 4-26 4-4 10-6 16-6 3 0 6 0 9 2 38 18 69 45 88 78 19 34 23 71 11 106 25 18 48 38 67 61 59 67 85 149 76 242z m-435-194c24 23 54 38 85 32-9-15-16-31-23-46-18 10-40 15-62 14z m222-221c0 22-5 44-15 63 16 7 32 14 47 23 5-32-8-62-32-86z m-45 99l-78 79c39 105 137 217 293 214 5-186-148-267-215-293z m144 222c7-6 11-16 11-25 0-10-4-19-11-26-6-7-16-11-25-11-10 0-19 4-26 11-7 7-11 16-11 26 0 9 4 19 11 25 7 7 16 11 26 11 9 0 19-4 25-11z m-313-231c-26-26-27-77-27-87 0-12 10-22 22-22 0 0 1 0 1 0 12 0 61 1 86 26 15 16 19 32 19 43 0 15-6 29-18 41-28 28-63 19-83-1z m51-51c-6-5-18-9-31-11 2 13 6 25 11 30 4 4 7 6 11 6 3 0 6-2 10-5 3-3 5-7 5-9-1-4-4-8-6-11z"/> |
| | | <glyph glyph-name="scale" unicode="" d="M263 161c0-12-10-22-23-22l-218 0c-12 0-22 10-22 22 0 13 10 23 22 23l218 0c13 0 23-10 23-23z m227 23l-19 0c-12 0-22-10-22-23 0-12 10-22 22-22l19 0c12 0 22 10 22 22 0 13-10 23-22 23z m-410 167c0 37 30 66 66 66 37 0 67-30 67-66 0-36-30-66-67-66-36 0-66 29-66 66z m44 0c0-12 10-22 22-22 13 0 23 10 23 22 0 12-10 22-23 22-12 0-22-10-22-22z m296-190c0-37-30-66-67-66-37 0-67 30-67 66 0 36 30 66 67 66 37 1 67-29 67-66z m-45 0c0 12-10 22-22 22-12 0-22-10-22-22 0-12 10-22 22-22 12 0 22 10 22 22z m-353 167l13 0c12 0 22 10 22 23 0 12-10 22-22 22l-13 0c-12 0-22-10-22-22 0-13 10-23 22-23z m490 23c0 12-10 22-22 22l-227 0c-12 0-22-10-22-22 0-13 10-23 22-23l227 0c12 0 22 10 22 23z"/> |
| | | <glyph glyph-name="search" unicode="" d="M322 500c-95 0-173-79-173-174 0-41 14-78 37-108l-164-166c-9-10-9-25 0-35 5-5 11-7 18-7 6 0 12 2 17 7l164 166c28-20 63-32 100-32 95 0 173 78 173 174 0 96-77 175-172 175z m0-305c-71 0-128 58-128 130 0 72 57 130 128 130 70 0 128-58 128-130 0-72-58-130-128-130z m86 128c-1-10-10-17-19-17-1 0-2 0-3 0-10 2-18 11-16 22 3 29-29 44-31 44-9 5-13 16-9 26 4 9 16 14 26 10 2-1 60-27 52-85z m-41-43c4-3 7-10 7-15 0-6-2-12-7-16-4-4-10-6-15-6-6 0-12 2-16 6-4 4-7 10-7 16 0 5 3 12 7 15 4 4 10 7 16 7 5 0 11-2 15-7z"/> |
| | | <glyph glyph-name="shopping-bag" unicode="" d="M444 372c-4 4-9 6-15 6l-56 0 0 10c0 66-54 118-116 118l-2 0c-62 0-116-52-116-118l0-10-56 0c-12 0-22-10-22-23l0-327c0-12 10-22 22-22l346 0c12 0 22 10 22 22l0 328c0 5-2 11-7 16z m-260 16c0 41 33 74 71 74l2 0c38 0 71-33 71-74l0-10-144 0z m222-338l-300 0 0 284 33 0 0-38c0-13 10-23 22-23 13 0 23 10 23 23l0 38 144 0 0-38c0-13 10-23 23-23 12 0 22 10 22 23l0 38 33 0z"/> |
| | | <glyph glyph-name="skip" unicode="" d="M461 189l-99-99c-5-5-11-8-18-8-6 0-12 3-17 8-10 9-10 25 0 35l56 56-316 0c-7 0-14 3-19 8-5 4-9 11-9 17l0 127c0 14 11 25 25 25 14 0 25-11 25-25l0-102 293 0-55 57c-10 9-10 25 0 35 9 9 25 9 35 0l99-99c10-10 10-26 0-35z m-393 188c7 0 14 3 19 8 5 5 9 12 9 20 0 7-3 14-9 19-5 5-12 8-19 8-7 0-15-3-20-8-5-5-8-12-8-19 0-8 3-15 8-20 5-4 13-8 20-8z"/> |
| | | <glyph glyph-name="stack" unicode="" d="M451 422c0 59-98 90-195 90-97 0-195-31-195-90 0 0 0-1 0-1 0 0 0-1 0-1l0-333c0-57 98-87 195-87 97 0 195 30 195 87l0 333c0 0 0 1 0 1 0 1 0 1 0 1z m-45-168c0-12-53-43-150-43-97 0-150 30-150 43l0 109c38-20 94-30 150-30 56 0 112 10 150 30z m-150 213c99 0 150-31 150-45 0-13-51-45-150-45-99 0-150 32-150 45 0 14 51 45 150 45z m0-422c-97 0-150 30-150 42l0 109c38-19 94-29 150-29 56 0 112 10 150 29l0-109c0-12-53-42-150-42z m95 228l0 28c0 10 9 19 19 19 11 0 20-9 20-19l0-28c0-10-9-19-20-19-10 0-19 8-19 19z"/> |
| | | <glyph glyph-name="star" unicode="" d="M393 22c-4 0-8 1-12 4l-125 81-125-81c-8-5-18-5-25 0-7 6-11 15-9 24l40 139-118 100c-7 5-10 15-7 24 3 9 11 14 20 15l141 10 63 139c3 8 11 13 20 13 9 0 17-5 20-13l63-139 141-10c9 0 17-6 20-15 3-9 0-18-7-24l-117-99 39-139c3-9 0-19-8-24-4-3-9-5-14-5z m-137 134c4 0 8-1 12-4l88-57-27 96c-2 9 0 18 7 23l86 73-99 8c-8 1-15 6-19 13l-48 106-48-106c-4-7-11-12-19-13l-99-7 86-73c7-6 9-15 7-23l-27-97 88 57c4 3 8 4 12 4z"/> |
| | | <glyph glyph-name="stopwatch" unicode="" d="M452 403c5-4 10-6 15-6 7 0 13 3 17 8 9 8 8 23-1 31l-29 26-29 27c-9 8-24 7-32-2-8-9-7-23 2-32l12-11-22-25c-25 19-55 33-87 40-1 7-4 15-9 22-6 8-17 17-39 18 0 0 0 0-1 0-19 0-30-8-36-15-7-8-10-18-11-25-103-22-180-113-180-222 0-125 102-228 227-228 126 0 227 102 227 228 0 59-22 112-58 153l22 25z m-203-348c-100 0-182 81-182 182 0 101 82 183 182 183 101 0 183-82 183-183 0-101-82-182-183-182z m39 182c0-21-18-38-39-38-21 0-38 17-38 38 0 13 6 25 17 31l0 90c0 13 10 23 22 23 13 0 23-10 23-23l0-90c11-6 15-18 15-31z"/> |
| | | <glyph glyph-name="store" unicode="" d="M223 203c0 11-9 20-20 20l-72 0c-11 0-20-9-20-20l0-72c0-11 9-20 20-20l72 0c11 0 20 9 20 20z m-73-19l34 0 0-34-34 0z m356 187l-50 50 0 58c0 12-10 22-22 22l-356 0c-12 0-22-10-22-22l0-58-50-50c-4-4-6-10-6-16l0-57c0-12 10-20 22-20l468 0c12 0 22 8 22 21l0 56c0 6-2 12-6 16z m-94 85l0-27-312 0 0 27z m55-133l-422 0 0 23 45 44 332 0 45-44z m12-90l0-200c0-12-10-22-23-22l-76 0c-12 0-22 9-22 21l0 118-52 0 0-117c0-12-10-22-23-22l-227 0c-12 0-23 10-23 22l0 200c0 12 10 22 23 22 12 0 22-10 22-22l0-177 184 0 0 119c0 12 9 20 21 20l97 0c12 0 20-8 20-20l0-119 34 0 0 177c0 12 10 22 22 22 12 0 23-10 23-22z"/> |
| | | <glyph glyph-name="suitcase" unicode="" d="M500 379c-8 8-19 11-29 11l-120 0 0 66c0 13-13 23-25 23l-140 0c-12 0-25-10-25-23l0-66-120 0c-23 0-41-17-41-39l0-276c0-23 18-42 41-42l429 0c23 0 41 19 41 42l0 275c1 11-3 21-11 29z m-133-34l0-267-222 0 0 267z m-161 89l100 0 0-44-100 0z m-161-89l66 0 0-267-66 0z m422-267l-66 0 0 267 66 0z"/> |
| | | <glyph glyph-name="swap" unicode="" d="M512 203c0-6-2-12-7-15l-103-104c-5-4-10-6-16-6-5 0-11 3-15 7-9 8-9 23 0 32l65 67-218 0c-12 0-22 10-22 22 0 12 10 22 22 22l218 0-65 64c-9 9-9 22 0 30 9 9 22 9 31 0l104-103c4-4 6-10 6-16z m-436 81l218 0c12 0 22 10 22 22 0 12-10 22-22 22l-218 0 65 67c9 9 9 24 0 32-9 9-22 9-31 1l-103-104c-5-3-7-9-7-15 0-6 2-12 7-16l103-103c5-5 10-7 16-7 5 0 11 2 15 7 9 9 9 21 0 30z"/> |
| | | <glyph glyph-name="tag" unicode="" d="M490 401l-329 0c-5 0-10-3-14-6l-139-122c-5-5-8-11-8-17 0-7 3-12 8-17l139-122c4-3 9-6 14-6l329 0c12 0 22 10 22 23l0 244c0 13-10 23-22 23z m-23-245l-297 0-114 100 114 100 297 0z m-316 126c7 6 17 10 26 10 9 0 19-4 26-10 6-7 10-17 10-26 0-9-4-19-10-26-7-6-17-10-26-10-9 0-19 4-26 10-6 7-10 17-10 26 0 9 4 19 10 26z"/> |
| | | <glyph glyph-name="tag-delete" unicode="" d="M490 401l-329 0c-5 0-10-3-14-6l-139-122c-5-5-8-11-8-17 0-7 3-12 8-17l139-122c4-3 9-6 14-6l329 0c12 0 22 10 22 23l0 244c0 13-10 23-22 23z m-23-245l-297 0-114 100 114 100 297 0z m-222 70l30 30-30 30c-7 8-7 20 0 27 8 8 20 8 28 0l30-30 30 30c8 8 20 8 27 0 8-7 8-20 0-27l-29-30 30-30c7-8 7-20 0-27-4-4-9-6-14-6-5 0-10 2-14 6l-30 30-30-30c-4-4-9-6-14-6-5 0-10 2-14 6-7 7-7 19 0 27z"/> |
| | | <glyph glyph-name="tags" unicode="" d="M419 225c0 6-3 12-7 15l-208 205c-4 4-9 6-14 6l-166 11c-7 0-13-2-17-7-5-4-8-10-7-17l11-163c0-6 2-11 6-15l208-204c5-4 10-6 16-6 6 0 11 2 16 6l155 153c4 4 7 10 7 16z m-178-121l-186 183-9 129 133-9 186-182z m-96 262c6-6 10-15 10-23 0-9-4-17-10-24-6-6-15-10-24-10-9 0-17 4-24 10-6 7-10 15-10 24 0 9 3 17 10 23 6 6 15 10 24 10 9 0 18-4 24-10z m367-141c0-5-2-10-6-14l-155-153c-4-3-9-5-14-5-5 0-10 2-14 5-7 8-7 20 0 28l142 138-195 191c-7 8-7 20 0 27 8 8 21 8 28 0l208-203c4-4 6-9 6-14z"/> |
| | | <glyph glyph-name="thumbs-down" unicode="" d="M179 512c70 0 178-23 205-42 6-4 9-11 9-18l0-218c0-6-3-13-8-17-2-1-41-32-81-54-51-28-86-67-94-92-11-30-25-71-71-71-22 0-39 12-49 33-19 44 1 104 35 151-23 5-50 12-67 17-30 10-51 32-55 59-4 28 10 57 40 78 22 58 59 151 86 166 10 6 28 8 50 8z m169-73c-42 17-172 36-197 26-12-11-45-86-68-149-2-4-5-8-8-11-19-12-28-27-27-39 2-10 11-18 24-23 28-9 97-24 98-24 8-1 14-7 17-15 3-8 1-16-5-21-50-54-59-110-50-132 3-6 5-6 7-6 11 0 16 7 28 41 13 39 60 85 115 115 26 15 53 34 66 44z m88 15l0-222c0-20 16-36 36-36 21 0 37 16 37 36l0 222c0 20-16 36-37 36-20 0-36-16-36-36z"/> |
| | | <glyph glyph-name="thumbs-up" unicode="" d="M333 0c-69 0-178 23-204 42-7 4-10 11-10 18l0 218c0 6 3 13 8 17 2 1 41 32 82 54 50 28 85 67 94 92 10 30 24 71 70 71 22 0 39-12 49-33 19-44-1-104-35-151 23-5 50-12 67-17 31-10 51-32 55-59 4-28-10-57-39-78-22-59-59-151-87-166-10-6-28-8-50-8z m-169 73c42-17 172-36 197-26 12 11 45 86 68 149 2 4 5 8 8 11 19 12 28 27 27 39-2 10-11 18-24 23-28 9-97 24-98 24-8 1-14 7-17 15-3 8-1 16 5 21 50 54 59 110 50 132-3 6-5 6-7 6-11 0-16-7-28-41-13-39-60-85-115-115-26-15-53-34-66-44z m-88-15l0 222c0 21-16 37-36 37-21 0-37-16-37-37l0-222c0-20 16-36 36-36 20 0 37 16 37 36z"/> |
| | | <glyph glyph-name="ticket" unicode="" d="M151 277l126-126c5-5 12-7 19-7 6 0 13 2 18 7l47 47c5 5 7 11 7 18 0 7-2 14-7 19l-126 126c-5 5-11 7-19 7-6 0-13-2-18-7l-47-47c-10-10-10-27 0-37z m65 55l116-116-36-36-116 116z m289-129l-302 302c-9 9-23 9-32 0l-42-42c-6-6-8-16-5-24 6-15 2-32-9-43-11-11-28-14-43-9-8 4-17 1-24-5l-42-42c-4-4-6-10-6-16 0-6 2-11 7-15l302-302c4-5 10-7 15-7 7 0 12 2 16 7l42 42c6 6 9 16 5 24-6 15-2 32 9 43 11 11 28 14 43 9 8-4 18-1 24 5l42 42c9 9 9 23 0 31z m-64-33c-28 6-56-2-76-23-21-20-29-49-24-76l-17-18-270 271 17 18c28-6 56 2 76 23 21 20 29 49 24 76l17 18 271-271z"/> |
| | | <glyph glyph-name="time-reverse" unicode="" d="M512 256c0-120-97-217-216-217-44 0-86 13-122 38-10 7-13 20-6 31 7 10 21 13 31 6 29-20 63-31 97-31 95 0 171 78 171 173 0 95-76 173-171 173-92 0-168-74-171-167l51 52c9 9 23 9 32 0 9-8 9-22 0-31l-85-85c-4-5-10-7-16-7-6 0-11 2-15 7l-85 85c-9 9-9 23 0 32 9 9 22 9 31 0l43-43c7 112 101 201 215 201 119 0 216-97 216-217z m-217 126c-12 0-22-10-22-22l0-104c0-6 2-12 7-16l48-47c4-5 10-7 16-7 5 0 12 2 16 7 8 8 8 22-1 31l-42 41 0 95c0 12-10 22-22 22z"/> |
| | | <glyph glyph-name="to-do" unicode="" d="M139 413l0 71c0 16 12 28 28 28 16 0 28-12 28-28l0-71c0-16-12-28-28-28-16 0-28 12-28 28z m206-28c16 0 28 12 28 28l0 71c0 16-12 28-28 28-16 0-28-12-28-28l0-71c0-16 12-28 28-28z m-188-96l198 0c12 0 22 10 22 23 0 12-10 22-22 22l-198 0c-12 0-22-10-22-22 0-13 10-23 22-23z m310 184l-46 0c-12 0-22-10-22-22 0-12 10-22 22-22l24 0 0-379-378 0 0 379 24 0c12 0 22 10 22 22 0 12-10 22-22 22l-46 0c-13 0-23-12-23-24l0-421c0-12 10-22 23-22l422 0c13 0 23 10 23 22l0 421c0 12-10 24-23 24z m-229-44l36 0c13 0 23 10 23 22 0 12-10 22-23 22l-36 0c-13 0-23-10-23-22 0-12 10-22 23-22z m-81-240l198 0c12 0 22 10 22 22 0 13-10 23-22 23l-198 0c-12 0-22-10-22-23 0-12 10-22 22-22z"/> |
| | | <glyph glyph-name="toggles" unicode="" d="M467 240l0-218c0-12-10-22-22-22-12 0-22 10-22 22l0 218c0 13 10 23 22 23 12 0 22-10 22-23z m-22 209c12 0 22 10 22 22l0 19c0 12-10 22-22 22-12 0-22-10-22-22l0-19c0-12 10-22 22-22z m-312-193c0-37-30-67-66-67-36 0-67 30-67 67 0 37 30 67 66 67 36 0 67-30 67-67z m-45 0c0 12-10 22-21 22-12 0-22-10-22-22 0-12 10-22 21-22 12 0 22 10 22 22z m234-110c0-36-30-66-66-66-36 0-66 30-66 66 0 37 30 67 66 67 36 0 66-29 66-67z m-44 0c0 13-10 23-22 23-12 0-22-10-22-23 0-12 10-22 22-22 12 0 22 10 22 22z m234 207c0-37-30-67-66-67-36 0-66 30-66 67 0 37 30 67 66 67 36 0 66-30 66-67z m-45 0c0 12-10 22-21 22-12 0-22-10-22-22 0-12 10-22 22-22 11 0 21 9 21 22z m-211-296c-12 0-22-10-22-22l0-13c0-12 10-22 22-22 12 0 22 10 22 22l0 13c0 12-10 22-22 22z m0 184c12 0 22 10 22 22l0 227c0 12-10 22-22 22-12 0-22-10-22-22l0-227c0-12 10-22 22-22z m-189-81c-12 0-22-10-22-23l0-115c0-12 10-22 22-22 12 0 22 10 22 22l0 115c0 13-10 23-22 23z m0 191c12 0 22 10 22 22l0 117c0 12-10 22-22 22-12 0-22-10-22-22l0-117c0-12 10-22 22-22z"/> |
| | | <glyph glyph-name="trash" unicode="" d="M436 343l-17-322c0-12-11-21-22-21l-282 0c-11 0-22 9-22 21l-17 322c-1 12 9 23 21 23 12 1 23-9 23-21l16-300 240 0 16 300c1 12 11 22 24 21 11 0 21-11 20-23z m59 74c0-12-10-22-22-22l-434 0c-12 0-22 10-22 22 0 13 10 23 22 23l122 0 0 50c0 10 8 16 18 16l154 0c10 0 18-6 18-16l0-50 122 0c12 0 22-10 22-23z m-295 23l112 0 0 27-112 0z m10-362c11 0 19 10 19 21l-5 240c0 11-9 20-20 20-11 0-20-9-19-20l5-241c0-11 9-20 20-20z m92 0c10 0 19 9 19 19l6 241c0 10-9 20-19 20-11 0-20-9-20-19l-6-240c0-12 9-21 20-21-1 0-1 0 0 0z"/> |
| | | <glyph glyph-name="trophy" unicode="" d="M301 355l0 50c0 10 8 19 19 19 11 0 19-9 19-19l0-50c0-11-8-19-19-19-11 0-19 8-19 19z m18-76c6 0 12 3 15 7 4 5 7 10 7 16 0 6-2 11-7 15-3 5-10 7-15 7-6 0-12-2-16-7-4-4-6-10-6-15 0-6 2-12 6-16 4-4 10-7 16-7z m147 22c-16-18-37-28-61-32-13-75-66-113-127-120l0-82 48 0c12 0 22-10 22-22 0-13-10-23-22-23l-140 0c-12 0-22 10-22 23 0 12 10 22 22 22l48 0 0 82c-61 7-114 45-126 120-25 4-45 14-62 32-46 47-44 128-43 131 0 10 9 19 19 19l84 0 0 16c0 13 9 23 21 23l258 0c12 0 21-10 21-23l0-16 84 0c10 0 19-9 19-19 0-3 2-85-43-131z m-392 26c9-9 21-15 32-18l0 103-64 0c3-22 9-61 32-85z m288 118l-212 0 0-144c0-81 55-109 106-109 51 0 106 29 106 109z m76-118c22 22 29 57 32 85l-64 0 0-103c11 3 23 9 32 18z"/> |
| | | <glyph glyph-name="upload" unicode="" d="M495 185l0-152c0-15-12-27-28-27l-422 0c-16 0-28 12-28 27l0 152c0 15 12 28 28 28 15 0 27-13 27-28l0-124 368 0 0 124c0 15 12 28 27 28 16 0 28-13 28-28z m-330 161l63 65 0-241c0-16 12-28 28-28 16 0 28 12 28 28l0 240 63-64c6-6 13-9 20-9 8 0 14 3 20 8 11 11 11 28 0 40l-111 113c-6 6-13 8-20 8-7 0-14-2-20-8l-111-113c-10-12-10-29 1-40 10-11 28-10 39 1z"/> |
| | | <glyph glyph-name="user" unicode="" d="M256 194c82 0 150 68 150 150 0 84-68 151-150 151-82 0-150-67-150-150 0-83 68-151 150-151z m0 257c58 0 105-48 105-106 0-58-47-106-105-106-58 0-105 48-105 106 0 58 47 106 105 106z m70-271c-8 2-16 0-22-5l-48-41-48 41c-7 5-14 7-22 5-31-10-186-64-186-141 0-12 10-22 22-22l468 0c12 0 22 10 22 22 0 77-155 131-186 141z m-270-119c25 26 84 55 133 72l53-45c8-7 20-7 28 0l53 45c49-17 108-46 133-72z"/> |
| | | <glyph glyph-name="user-group" unicode="" d="M197 210c65 0 118 53 118 117 0 65-53 118-118 118-65 0-118-53-118-118 1-64 53-117 118-117z m0 191c41 0 73-33 73-73 0-40-32-73-73-73-41 0-73 33-73 73 0 40 33 73 73 73z m53-202c-6 2-12 1-18-2l-35-21-35 21c-6 3-12 4-18 2-34-11-144-50-144-110 0-12 10-22 22-22l350 0c12 0 22 10 22 22 0 60-110 99-144 110z m-188-88c19 15 51 30 85 43l38-23c8-5 16-5 23 0l38 23c34-12 66-28 85-43z m444 17c0-9-7-17-16-17l-75 0c-9 0-17 8-17 17 0 9 8 17 17 17l50 0c-9 11-22 20-39 29-8 4-11 14-6 22 4 8 14 11 22 7 24-13 64-40 64-75z m-93 147c0 24-20 44-44 44-6 0-12-1-17-3-9-4-19 0-22 8-3 9 1 19 9 22 9 4 19 6 30 6 43 0 77-34 77-77 0-43-35-77-77-77-22 0-43 9-58 26-6 6-5 17 2 23 6 6 17 6 23-2 8-9 21-15 34-15 23 1 43 21 43 45z"/> |
| | | <glyph glyph-name="user-id" unicode="" d="M347 203c43 0 78 35 78 78 0 43-35 78-78 78-43 0-78-35-78-78 0-43 35-78 78-78z m0 123c24 0 44-20 44-45 0-24-20-44-44-44-25 0-45 20-45 44 0 25 20 45 45 45z m-260-9c0 10 8 17 17 17l97 0c9 0 17-7 17-17 0-9-8-16-17-16l-97 0c-9 0-17 7-17 16z m114-78l-97 0c-9 0-17 8-17 17 0 9 8 17 17 17l97 0c9 0 17-8 17-17 0-9-8-17-17-17z m-25-44c0-10-7-17-16-17l-56 0c-9 0-17 7-17 17 0 9 8 16 17 16l56 0c9 0 16-7 16-16z m336 191c0 20-17 37-37 37l-438 0c-20 0-37-17-37-37l0-260c0-20 17-37 37-37l438 0c20 0 37 17 37 37z m-467-8l422 0 0-232c-23 24-65 39-81 45-3 1-7 1-11 0l-28-10-29 10c-3 1-7 0-11-1-18-6-70-23-91-56l-171 0z m220-244c13 11 30 16 48 23l28-10c3-1 8-1 11 0l29 9c17-6 34-12 47-23l-163 0z"/> |
| | | <glyph glyph-name="vibrate" unicode="" d="M6 371c-9 10-8 26 2 34 90 75 182 49 260 14 82-38 148-34 203 11 10 9 26 7 35-4 9-10 7-26-3-34-39-32-83-49-132-49-38 0-80 10-124 31-77 35-142 48-206-7-11-8-27-7-35 4z m465-81c-54-45-121-48-203-11-78 35-169 62-259-14-11-8-12-24-3-34 9-11 25-12 35-3 65 54 129 42 207 6 44-20 85-30 124-30 48 0 92 16 131 48 11 9 12 25 3 35-8 10-24 12-35 3z m0-140c-54-45-121-48-203-11-78 36-169 62-259-13-11-9-12-25-3-35 9-10 25-11 35-3 65 54 129 42 207 7 44-20 85-31 124-31 48 0 92 16 131 48 11 9 12 25 3 35-8 10-24 12-35 3z"/> |
| | | <glyph glyph-name="view-apps" unicode="" d="M111 356c-10 0-20 5-28 12-7 7-11 17-11 27 0 10 5 20 11 28 8 7 18 11 28 11 10 0 20-4 28-11 7-7 11-17 11-28 0-10-4-20-11-27-8-7-18-12-28-12z m172 12c8 7 12 17 12 27 0 10-4 20-12 28-7 7-17 11-27 11-10 0-21-4-28-11-7-7-11-17-11-28 0-10 4-20 11-27 7-7 17-12 28-12 10 0 20 5 27 12z m145 0c7 7 12 17 12 27 0 10-5 20-12 28-7 7-17 11-27 11-10 0-21-4-28-11-7-7-11-17-11-28 0-10 4-20 11-27 7-7 17-12 28-12 10 0 20 5 27 12z m-289-139c7 7 11 17 11 27 0 10-4 20-11 28-8 7-18 11-28 11-10 0-20-4-28-11-7-7-11-17-11-28 0-10 5-20 11-27 8-8 18-12 28-12 10 0 20 4 28 12z m144 0c8 7 12 17 12 27 0 10-4 20-12 28-7 7-17 11-27 11-10 0-21-4-28-11-7-7-11-17-11-28 0-10 4-20 11-27 7-8 17-12 28-12 10 0 20 4 27 12z m145 0c7 7 12 17 12 27 0 10-5 20-12 28-7 7-17 11-27 11-10 0-21-4-28-11-7-7-11-17-11-28 0-10 4-20 11-27 7-8 17-12 28-12 10 0 20 4 27 12z m-289-139c7 7 11 17 11 27 0 10-4 20-11 28-8 7-18 11-28 11-10 0-20-5-28-11-7-8-11-18-11-28 0-10 5-20 11-27 8-8 18-12 28-12 10 0 20 4 28 12z m144 0c8 7 12 17 12 27 0 10-4 20-12 28-7 7-17 11-27 11-10 0-21-5-28-11-7-8-11-18-11-28 0-10 4-20 11-27 7-8 17-12 28-12 10 0 20 4 27 12z m145 0c7 7 12 17 12 27 0 10-5 20-12 28-7 7-17 11-27 11-10 0-21-5-28-11-7-8-11-18-11-28 0-10 4-20 11-27 7-8 17-12 28-12 10 0 20 4 27 12z"/> |
| | | <glyph glyph-name="view-list" unicode="" d="M142 434c0 16 13 28 28 28l309 0c15 0 27-12 27-28 0-15-12-28-27-28l-309 0c-15 0-28 13-28 28z m337-150l-309 0c-15 0-28-12-28-28 0-16 13-28 28-28l309 0c15 0 27 12 27 28 0 16-12 28-27 28z m0-178l-309 0c-15 0-28-13-28-28 0-16 13-28 28-28l309 0c15 0 27 12 27 28 0 15-12 28-27 28z m-429 187c-22 0-39-18-39-40 0-21 17-39 39-39 22 0 39 18 39 39 0 22-18 40-39 40z m0 180c-22 0-39-18-39-39 0-22 17-40 39-40 22 0 39 18 39 40 0 21-18 39-39 39z m0-355c-22 0-39-18-39-40 0-21 17-39 39-39 22 0 39 18 39 39 0 22-18 40-39 40z"/> |
| | | <glyph glyph-name="view-list-large" unicode="" d="M482 282l-249 0c-17 0-30 14-30 30l0 75c0 17 13 30 30 30l248 0c17 0 30-13 30-30l0-75c1-16-12-30-29-30z m-235 45l220 0 0 46-220 0z m235-232l-249 0c-17 0-30 13-30 30l0 75c0 16 13 30 30 30l248 0c17 0 30-14 30-30l0-75c1-17-12-30-29-30z m-235 44l220 0 0 46-220 0z m-115 143l-101 0c-17 0-31 14-31 31l0 73c0 17 14 31 31 31l101 0c17 0 31-14 31-31l0-73c0-17-14-31-31-31z m-87 45l74 0 0 46-74 0z m87-232l-101 0c-17 0-31 14-31 31l0 73c0 17 14 31 31 31l101 0c17 0 31-14 31-31l0-73c0-17-14-31-31-31z m-87 44l74 0 0 46-74 0z"/> |
| | | <glyph glyph-name="view-thumb" unicode="" d="M194 285l-152 0c-17 0-31 14-31 32l0 119c0 18 14 31 31 31l152 0c17 0 31-13 31-31l0-119c0-18-14-32-31-32z m-138 45l125 0 0 93-125 0z m414-45l-152 0c-17 0-31 14-31 32l0 119c0 18 14 31 31 31l152 0c17 0 31-13 31-31l0-119c0-18-14-32-31-32z m-139 45l125 0 0 93-125 0z m-137-285l-152 0c-17 0-31 13-31 31l0 119c0 18 14 32 31 32l152 0c17 0 31-14 31-32l0-119c0-18-14-31-31-31z m-138 44l125 0 0 93-125 0z m414-44l-152 0c-17 0-31 13-31 31l0 119c0 18 14 32 31 32l152 0c17 0 31-14 31-32l0-119c0-18-14-31-31-31z m-139 44l125 0 0 93-125 0z"/> |
| | | <glyph glyph-name="volume-full" unicode="" d="M210 488c-9 3-17 2-24-5l-110-110-54 0c-12 0-22-10-22-22l0-190c0-12 10-22 22-22l55 0 109-110c5-5 10-7 16-7 3 0 5 1 8 2 8 3 13 12 13 21l0 422c0 9-5 18-13 21z m-32-389l-77 78c-5 4-9 7-15 7l-41 0 0 144 41 0c6 0 10 3 15 7l77 78z m118 63c-4-5-11-7-17-7-5 0-10 1-15 5-9 9-10 23-1 31 55 63 5 123 0 130-9 9-8 23 1 31 9 8 24 7 32-2 29-32 67-113 0-188z m67-60c-4-5-10-7-16-7-5 0-11 2-15 6-9 8-10 22-2 31 110 123 4 243 0 248-8 10-7 23 2 32 9 8 23 7 31-2 2-2 136-156 0-308z m71-45c-5-5-11-7-17-7-5 0-11 2-15 6-9 8-10 22-2 31 62 70 82 148 57 231-19 63-56 106-57 106-8 9-7 23 2 31 9 9 23 7 32-1 1-2 175-200 0-397z"/> |
| | | <glyph glyph-name="volume-low" unicode="" d="M299 488c-8 3-17 2-24-5l-109-110-55 0c-12 0-22-10-22-22l0-190c0-12 10-22 22-22l55 0 110-110c4-5 10-7 16-7 2 0 4 1 7 2 8 3 13 12 13 21l0 422c0 9-5 18-13 21z m-32-389l-77 78c-5 4-9 7-15 7l-41 0 0 144 41 0c6 0 10 3 14 7l78 78z m119 63c-5-5-11-7-17-7-6 0-11 1-15 5-9 9-10 23-2 31 58 64 3 127 0 130-8 8-7 23 2 31 9 8 23 7 31-2 30-32 67-113 1-188z"/> |
| | | <glyph glyph-name="volume-medium" unicode="" d="M254 488c-9 3-18 2-24-5l-109-110-54 0c-12 0-22-10-22-22l0-190c0-12 10-22 22-22l54 0 109-110c5-5 10-7 16-7 3 0 5 1 8 2 8 3 13 12 13 21l0 422c0 9-5 18-13 21z m-31-389l-78 78c-4 4-9 7-15 7l-41 0 0 144 41 0c6 0 11 3 15 7l78 78z m117 63c-4-5-11-7-17-7-5 0-10 1-15 5-9 9-10 23-1 31 55 63 5 123 0 130-9 9-8 23 2 31 9 8 23 7 31-2 29-32 66-113 0-188z m67-60c-5-5-11-7-17-7-5 0-10 2-15 6-9 8-10 22-2 31 110 122 5 243 0 248-8 10-7 23 2 31 10 9 23 8 31-1 2-2 137-156 1-308z"/> |
| | | <glyph glyph-name="volume-off" unicode="" d="M224 488c-8 3-18 1-25-5l-107-110-53 0c-12 0-22-10-22-22l0-190c0-12 10-22 22-22l53 0 107-110c4-5 10-7 16-7 3 0 6 1 9 2 9 3 15 12 15 21l0 422c0 9-6 18-15 21z m-29-389l-77 78c-4 4-11 7-17 7l-40 0 0 144 40 0c6 0 13 3 18 7l76 78z m294 90c9-9 9-23 0-32-5-3-10-6-16-6-6 0-12 3-16 7l-64 66-64-66c-5-4-10-7-16-7-6 0-11 3-16 6-9 9-9 23 0 32l65 67-65 67c-8 9-8 23 1 32 9 8 23 8 31-1l64-66 64 66c9 9 23 9 32 1 9-9 9-23 1-32l-66-67z"/> |
| | | <glyph glyph-name="wallet" unicode="" d="M402 238c8-8 11-18 11-28 0-10-3-20-11-27-7-8-17-12-27-12-10 0-20 4-28 12-8 7-11 17-11 27 0 10 4 20 11 28 7 7 17 11 28 11 10 0 20-4 27-11z m104 86l0-246c0-25-20-45-45-45l-403 0c-29 0-52 24-52 53l0 326c0 37 30 67 66 67l308 0c31 0 54-25 54-56l0-33 10 0c35 0 62-31 62-66z m-459 88c0-12 10-22 22-22l321 0 0 34c0 6-5 10-10 10l-311 0c-12 0-22-10-22-22z m415-88c0 10-8 21-18 21l-385 0c-5 0-9-7-9-12l0-247c0-4 4-8 8-8l403 0c1 0 1 0 1 0z"/> |
| | | <glyph glyph-name="warning" unicode="" d="M490 28l-468 0c-8 0-15 4-19 11-4 7-4 15 0 22l234 412c3 7 11 11 19 11 8 0 16-4 19-11l234-412c4-6 4-15 0-22-4-7-11-11-19-11z m-429 44l391 0-196 345z m217 133l0 104c0 12-10 22-22 22-12 0-22-10-22-22l0-104c0-12 10-22 22-22 12 0 22 10 22 22z m-3-92c5 5 9 12 9 19 0 8-3 15-9 20-5 5-12 8-19 8-7 0-14-3-19-8-5-5-9-12-9-20 0-7 3-14 9-19 5-5 12-8 19-8 7 0 14 3 19 8z"/> |
| | | <glyph glyph-name="web" unicode="" d="M256 512c-141 0-256-115-256-256 0-141 115-256 256-256 141 0 256 115 256 256 0 141-115 256-256 256z m21-466c-2 0-3 0-4-1l0 121c29 0 55 1 79 3-21-65-61-109-75-123z m-42 0c-15 15-54 58-75 123 24-2 50-3 79-3l0-121c-1 0-2 1-4 1z m-190 210c0 14 1 28 3 41 13 2 36 6 69 9-3-16-5-33-5-51 0-17 2-34 4-50-32 4-56 7-68 9-2 14-3 28-3 42z m101 0c0 19 3 37 6 53 26 2 54 4 87 4l0-114c-32 1-61 2-88 4-2 16-5 34-5 53z m130 210c15-15 53-59 75-123-23 2-49 3-78 3l0 121c1 0 2-1 3-1z m-37 1l0-121c-29 0-55-1-78-3 21 64 60 108 74 123 2 0 3 1 4 1z m34-268l0 114c32-1 61-2 87-4 3-16 6-34 6-53 0-19-2-37-5-53-26-2-55-3-88-4z m122 107c32-3 56-7 68-9 3-13 4-27 4-41 0-14-1-28-3-41-13-2-36-6-69-9 3 16 4 33 4 51 0 16-2 34-4 49z m58 27c-16 2-38 5-66 8-14 47-37 86-56 113 56-21 100-66 122-121z m-272 121c-20-27-42-65-56-113-28-2-50-5-66-8 22 55 67 100 122 121z m-122-275c16-2 38-5 66-8 13-47 35-86 55-113-55 22-99 66-121 121z m273-121c20 27 42 65 55 113 28 2 50 5 66 8-22-55-66-99-121-121z"/> |
| | | <glyph glyph-name="weight" unicode="" d="M452 339c-2 22-21 39-44 39l-41 0 0 10c0 66-48 118-110 118l-2 0c-62 0-110-52-110-118l0-10-41 0c-23 0-41-17-44-39l-32-308c-1-7 1-13 5-18 5-5 11-7 17-7l412 0c6 0 12 2 17 7 4 4 6 11 5 17z m-263 49c0 41 29 74 66 74l2 0c37 0 66-33 66-74l0-10-134 0z m-114-338l29 284 303 0 29-284z"/> |
| | | <glyph glyph-name="wifi" unicode="" d="M424 286c11-11 12-28 1-39-5-6-13-9-20-9-7 0-14 2-19 7-124 113-257 6-262 2-12-10-30-9-39 3-10 12-9 29 3 39 61 50 208 114 336-3z m-166-155c-14 0-28-5-38-15-10-10-15-24-15-38 0-13 5-27 15-37 10-10 24-15 38-15 14 0 27 5 37 15 10 10 16 24 16 37 0 14-6 28-16 38-10 10-23 15-37 15z m245 231c-132 115-260 109-344 83-89-27-148-80-150-83-11-11-12-28-1-39 10-11 28-12 39-1 1 0 52 47 129 70 102 32 200 7 290-72 5-4 12-7 19-7 8 0 15 4 21 10 9 11 8 29-3 39z m-339-152c-12-10-14-27-4-39 9-12 27-14 39-5 2 2 61 48 111 1 6-5 12-7 19-7 7 0 15 3 20 9 11 11 11 29-1 39-68 62-150 28-184 2z"/> |
| | | <glyph glyph-name="wrong" unicode="" d="M437 437c-100 99-262 99-362 0-100-100-100-262 0-362 50-51 115-76 180-76 66 0 132 25 181 76 101 100 101 262 1 362z m-331-331c-77 78-82 200-15 283l298-298c-83-67-205-62-283 15z m315 17l-298 298c38 31 86 46 133 46 54 0 109-20 150-61 77-78 82-200 15-283z"/> |
| | | <glyph glyph-name="zoom-in" unicode="" d="M505 43l-194 191c23 29 37 66 37 105 0 96-78 173-174 173-97 0-174-77-174-173 0-95 78-172 174-172 38 0 73 12 101 32l195-192c5-5 11-7 17-7 7 0 13 2 18 7 9 10 9 26 0 36z m-460 296c0 71 57 128 129 128 72 0 130-57 130-128 0-70-59-128-130-128-71 0-129 58-129 128z m216-2c0-11-9-20-19-20l-47 0 0-44c0-11-9-20-20-20-10 0-19 9-19 20l0 44-50 0c-10 0-19 9-19 20 0 10 9 19 19 19l50 0 0 51c0 10 9 19 19 19 11 0 20-9 20-19l0-51 47 0c11 0 19-9 19-19z"/> |
| | | <glyph glyph-name="zoom-out" unicode="" d="M505 43l-194 191c23 29 37 66 37 105 0 96-78 173-174 173-97 0-174-77-174-173 0-95 78-172 174-172 38 0 73 12 101 32l195-192c5-5 11-7 17-7 7 0 13 2 18 7 9 10 9 26 0 36z m-460 296c0 71 57 128 129 128 72 0 130-57 130-128 0-70-59-128-130-128-71 0-129 58-129 128z m216-2c0-11-9-20-19-20l-136 0c-10 0-19 9-19 20 0 10 9 19 19 19l136 0c11 0 19-9 19-19z"/> |
| | | </font></defs></svg> |
New file |
| | |
| | | @charset "UTF-8"; |
| | | |
| | | @font-face { |
| | | font-family: "dripicons-v2"; |
| | | src:url("fonts/dripicons-v2.eot"); |
| | | src:url("fonts/dripicons-v2.eot?#iefix") format("embedded-opentype"), |
| | | url("fonts/dripicons-v2.woff") format("woff"), |
| | | url("fonts/dripicons-v2.ttf") format("truetype"), |
| | | url("fonts/dripicons-v2.svg#dripicons-v2") format("svg"); |
| | | font-weight: normal; |
| | | font-style: normal; |
| | | |
| | | } |
| | | |
| | | [data-icon]:before { |
| | | font-family: "dripicons-v2" !important; |
| | | content: attr(data-icon); |
| | | font-style: normal !important; |
| | | font-weight: normal !important; |
| | | font-variant: normal !important; |
| | | text-transform: none !important; |
| | | speak: none; |
| | | line-height: 1; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | } |
| | | |
| | | [class^="dripicons-"]:before, |
| | | [class*=" dripicons-"]:before { |
| | | font-family: "dripicons-v2" !important; |
| | | font-style: normal !important; |
| | | font-weight: normal !important; |
| | | font-variant: normal !important; |
| | | text-transform: none !important; |
| | | speak: none; |
| | | line-height: 1; |
| | | -webkit-font-smoothing: antialiased; |
| | | -moz-osx-font-smoothing: grayscale; |
| | | } |
| | | |
| | | .dripicons-alarm:before { |
| | | content: "\61"; |
| | | } |
| | | .dripicons-align-center:before { |
| | | content: "\62"; |
| | | } |
| | | .dripicons-align-justify:before { |
| | | content: "\63"; |
| | | } |
| | | .dripicons-align-left:before { |
| | | content: "\64"; |
| | | } |
| | | .dripicons-align-right:before { |
| | | content: "\65"; |
| | | } |
| | | .dripicons-anchor:before { |
| | | content: "\66"; |
| | | } |
| | | .dripicons-archive:before { |
| | | content: "\67"; |
| | | } |
| | | .dripicons-arrow-down:before { |
| | | content: "\68"; |
| | | } |
| | | .dripicons-arrow-left:before { |
| | | content: "\69"; |
| | | } |
| | | .dripicons-arrow-right:before { |
| | | content: "\6a"; |
| | | } |
| | | .dripicons-arrow-thin-down:before { |
| | | content: "\6b"; |
| | | } |
| | | .dripicons-arrow-thin-left:before { |
| | | content: "\6c"; |
| | | } |
| | | .dripicons-arrow-thin-right:before { |
| | | content: "\6d"; |
| | | } |
| | | .dripicons-arrow-thin-up:before { |
| | | content: "\6e"; |
| | | } |
| | | .dripicons-arrow-up:before { |
| | | content: "\6f"; |
| | | } |
| | | .dripicons-article:before { |
| | | content: "\70"; |
| | | } |
| | | .dripicons-backspace:before { |
| | | content: "\71"; |
| | | } |
| | | .dripicons-basket:before { |
| | | content: "\72"; |
| | | } |
| | | .dripicons-basketball:before { |
| | | content: "\73"; |
| | | } |
| | | .dripicons-battery-empty:before { |
| | | content: "\74"; |
| | | } |
| | | .dripicons-battery-full:before { |
| | | content: "\75"; |
| | | } |
| | | .dripicons-battery-low:before { |
| | | content: "\76"; |
| | | } |
| | | .dripicons-battery-medium:before { |
| | | content: "\77"; |
| | | } |
| | | .dripicons-bell:before { |
| | | content: "\78"; |
| | | } |
| | | .dripicons-blog:before { |
| | | content: "\79"; |
| | | } |
| | | .dripicons-bluetooth:before { |
| | | content: "\7a"; |
| | | } |
| | | .dripicons-bold:before { |
| | | content: "\41"; |
| | | } |
| | | .dripicons-bookmark:before { |
| | | content: "\42"; |
| | | } |
| | | .dripicons-bookmarks:before { |
| | | content: "\43"; |
| | | } |
| | | .dripicons-box:before { |
| | | content: "\44"; |
| | | } |
| | | .dripicons-briefcase:before { |
| | | content: "\45"; |
| | | } |
| | | .dripicons-brightness-low:before { |
| | | content: "\46"; |
| | | } |
| | | .dripicons-brightness-max:before { |
| | | content: "\47"; |
| | | } |
| | | .dripicons-brightness-medium:before { |
| | | content: "\48"; |
| | | } |
| | | .dripicons-broadcast:before { |
| | | content: "\49"; |
| | | } |
| | | .dripicons-browser:before { |
| | | content: "\4a"; |
| | | } |
| | | .dripicons-browser-upload:before { |
| | | content: "\4b"; |
| | | } |
| | | .dripicons-brush:before { |
| | | content: "\4c"; |
| | | } |
| | | .dripicons-calendar:before { |
| | | content: "\4d"; |
| | | } |
| | | .dripicons-camcorder:before { |
| | | content: "\4e"; |
| | | } |
| | | .dripicons-camera:before { |
| | | content: "\4f"; |
| | | } |
| | | .dripicons-card:before { |
| | | content: "\50"; |
| | | } |
| | | .dripicons-cart:before { |
| | | content: "\51"; |
| | | } |
| | | .dripicons-checklist:before { |
| | | content: "\52"; |
| | | } |
| | | .dripicons-checkmark:before { |
| | | content: "\53"; |
| | | } |
| | | .dripicons-chevron-down:before { |
| | | content: "\54"; |
| | | } |
| | | .dripicons-chevron-left:before { |
| | | content: "\55"; |
| | | } |
| | | .dripicons-chevron-right:before { |
| | | content: "\56"; |
| | | } |
| | | .dripicons-chevron-up:before { |
| | | content: "\57"; |
| | | } |
| | | .dripicons-clipboard:before { |
| | | content: "\58"; |
| | | } |
| | | .dripicons-clock:before { |
| | | content: "\59"; |
| | | } |
| | | .dripicons-clockwise:before { |
| | | content: "\5a"; |
| | | } |
| | | .dripicons-cloud:before { |
| | | content: "\30"; |
| | | } |
| | | .dripicons-cloud-download:before { |
| | | content: "\31"; |
| | | } |
| | | .dripicons-cloud-upload:before { |
| | | content: "\32"; |
| | | } |
| | | .dripicons-code:before { |
| | | content: "\33"; |
| | | } |
| | | .dripicons-contract:before { |
| | | content: "\34"; |
| | | } |
| | | .dripicons-contract-2:before { |
| | | content: "\35"; |
| | | } |
| | | .dripicons-conversation:before { |
| | | content: "\36"; |
| | | } |
| | | .dripicons-copy:before { |
| | | content: "\37"; |
| | | } |
| | | .dripicons-crop:before { |
| | | content: "\38"; |
| | | } |
| | | .dripicons-cross:before { |
| | | content: "\39"; |
| | | } |
| | | .dripicons-crosshair:before { |
| | | content: "\21"; |
| | | } |
| | | .dripicons-cutlery:before { |
| | | content: "\22"; |
| | | } |
| | | .dripicons-device-desktop:before { |
| | | content: "\23"; |
| | | } |
| | | .dripicons-device-mobile:before { |
| | | content: "\24"; |
| | | } |
| | | .dripicons-device-tablet:before { |
| | | content: "\25"; |
| | | } |
| | | .dripicons-direction:before { |
| | | content: "\26"; |
| | | } |
| | | .dripicons-disc:before { |
| | | content: "\27"; |
| | | } |
| | | .dripicons-document:before { |
| | | content: "\28"; |
| | | } |
| | | .dripicons-document-delete:before { |
| | | content: "\29"; |
| | | } |
| | | .dripicons-document-edit:before { |
| | | content: "\2a"; |
| | | } |
| | | .dripicons-document-new:before { |
| | | content: "\2b"; |
| | | } |
| | | .dripicons-document-remove:before { |
| | | content: "\2c"; |
| | | } |
| | | .dripicons-dot:before { |
| | | content: "\2d"; |
| | | } |
| | | .dripicons-dots-2:before { |
| | | content: "\2e"; |
| | | } |
| | | .dripicons-dots-3:before { |
| | | content: "\2f"; |
| | | } |
| | | .dripicons-download:before { |
| | | content: "\3a"; |
| | | } |
| | | .dripicons-duplicate:before { |
| | | content: "\3b"; |
| | | } |
| | | .dripicons-enter:before { |
| | | content: "\3c"; |
| | | } |
| | | .dripicons-exit:before { |
| | | content: "\3d"; |
| | | } |
| | | .dripicons-expand:before { |
| | | content: "\3e"; |
| | | } |
| | | .dripicons-expand-2:before { |
| | | content: "\3f"; |
| | | } |
| | | .dripicons-experiment:before { |
| | | content: "\40"; |
| | | } |
| | | .dripicons-export:before { |
| | | content: "\5b"; |
| | | } |
| | | .dripicons-feed:before { |
| | | content: "\5d"; |
| | | } |
| | | .dripicons-flag:before { |
| | | content: "\5e"; |
| | | } |
| | | .dripicons-flashlight:before { |
| | | content: "\5f"; |
| | | } |
| | | .dripicons-folder:before { |
| | | content: "\60"; |
| | | } |
| | | .dripicons-folder-open:before { |
| | | content: "\7b"; |
| | | } |
| | | .dripicons-forward:before { |
| | | content: "\7c"; |
| | | } |
| | | .dripicons-gaming:before { |
| | | content: "\7d"; |
| | | } |
| | | .dripicons-gear:before { |
| | | content: "\7e"; |
| | | } |
| | | .dripicons-graduation:before { |
| | | content: "\5c"; |
| | | } |
| | | .dripicons-graph-bar:before { |
| | | content: "\e000"; |
| | | } |
| | | .dripicons-graph-line:before { |
| | | content: "\e001"; |
| | | } |
| | | .dripicons-graph-pie:before { |
| | | content: "\e002"; |
| | | } |
| | | .dripicons-headset:before { |
| | | content: "\e003"; |
| | | } |
| | | .dripicons-heart:before { |
| | | content: "\e004"; |
| | | } |
| | | .dripicons-help:before { |
| | | content: "\e005"; |
| | | } |
| | | .dripicons-home:before { |
| | | content: "\e006"; |
| | | } |
| | | .dripicons-hourglass:before { |
| | | content: "\e007"; |
| | | } |
| | | .dripicons-inbox:before { |
| | | content: "\e008"; |
| | | } |
| | | .dripicons-information:before { |
| | | content: "\e009"; |
| | | } |
| | | .dripicons-italic:before { |
| | | content: "\e00a"; |
| | | } |
| | | .dripicons-jewel:before { |
| | | content: "\e00b"; |
| | | } |
| | | .dripicons-lifting:before { |
| | | content: "\e00c"; |
| | | } |
| | | .dripicons-lightbulb:before { |
| | | content: "\e00d"; |
| | | } |
| | | .dripicons-link:before { |
| | | content: "\e00e"; |
| | | } |
| | | .dripicons-link-broken:before { |
| | | content: "\e00f"; |
| | | } |
| | | .dripicons-list:before { |
| | | content: "\e010"; |
| | | } |
| | | .dripicons-loading:before { |
| | | content: "\e011"; |
| | | } |
| | | .dripicons-location:before { |
| | | content: "\e012"; |
| | | } |
| | | .dripicons-lock:before { |
| | | content: "\e013"; |
| | | } |
| | | .dripicons-lock-open:before { |
| | | content: "\e014"; |
| | | } |
| | | .dripicons-mail:before { |
| | | content: "\e015"; |
| | | } |
| | | .dripicons-map:before { |
| | | content: "\e016"; |
| | | } |
| | | .dripicons-media-loop:before { |
| | | content: "\e017"; |
| | | } |
| | | .dripicons-media-next:before { |
| | | content: "\e018"; |
| | | } |
| | | .dripicons-media-pause:before { |
| | | content: "\e019"; |
| | | } |
| | | .dripicons-media-play:before { |
| | | content: "\e01a"; |
| | | } |
| | | .dripicons-media-previous:before { |
| | | content: "\e01b"; |
| | | } |
| | | .dripicons-media-record:before { |
| | | content: "\e01c"; |
| | | } |
| | | .dripicons-media-shuffle:before { |
| | | content: "\e01d"; |
| | | } |
| | | .dripicons-media-stop:before { |
| | | content: "\e01e"; |
| | | } |
| | | .dripicons-medical:before { |
| | | content: "\e01f"; |
| | | } |
| | | .dripicons-menu:before { |
| | | content: "\e020"; |
| | | } |
| | | .dripicons-message:before { |
| | | content: "\e021"; |
| | | } |
| | | .dripicons-meter:before { |
| | | content: "\e022"; |
| | | } |
| | | .dripicons-microphone:before { |
| | | content: "\e023"; |
| | | } |
| | | .dripicons-minus:before { |
| | | content: "\e024"; |
| | | } |
| | | .dripicons-monitor:before { |
| | | content: "\e025"; |
| | | } |
| | | .dripicons-move:before { |
| | | content: "\e026"; |
| | | } |
| | | .dripicons-music:before { |
| | | content: "\e027"; |
| | | } |
| | | .dripicons-network-1:before { |
| | | content: "\e028"; |
| | | } |
| | | .dripicons-network-2:before { |
| | | content: "\e029"; |
| | | } |
| | | .dripicons-network-3:before { |
| | | content: "\e02a"; |
| | | } |
| | | .dripicons-network-4:before { |
| | | content: "\e02b"; |
| | | } |
| | | .dripicons-network-5:before { |
| | | content: "\e02c"; |
| | | } |
| | | .dripicons-pamphlet:before { |
| | | content: "\e02d"; |
| | | } |
| | | .dripicons-paperclip:before { |
| | | content: "\e02e"; |
| | | } |
| | | .dripicons-pencil:before { |
| | | content: "\e02f"; |
| | | } |
| | | .dripicons-phone:before { |
| | | content: "\e030"; |
| | | } |
| | | .dripicons-photo:before { |
| | | content: "\e031"; |
| | | } |
| | | .dripicons-photo-group:before { |
| | | content: "\e032"; |
| | | } |
| | | .dripicons-pill:before { |
| | | content: "\e033"; |
| | | } |
| | | .dripicons-pin:before { |
| | | content: "\e034"; |
| | | } |
| | | .dripicons-plus:before { |
| | | content: "\e035"; |
| | | } |
| | | .dripicons-power:before { |
| | | content: "\e036"; |
| | | } |
| | | .dripicons-preview:before { |
| | | content: "\e037"; |
| | | } |
| | | .dripicons-print:before { |
| | | content: "\e038"; |
| | | } |
| | | .dripicons-pulse:before { |
| | | content: "\e039"; |
| | | } |
| | | .dripicons-question:before { |
| | | content: "\e03a"; |
| | | } |
| | | .dripicons-reply:before { |
| | | content: "\e03b"; |
| | | } |
| | | .dripicons-reply-all:before { |
| | | content: "\e03c"; |
| | | } |
| | | .dripicons-return:before { |
| | | content: "\e03d"; |
| | | } |
| | | .dripicons-retweet:before { |
| | | content: "\e03e"; |
| | | } |
| | | .dripicons-rocket:before { |
| | | content: "\e03f"; |
| | | } |
| | | .dripicons-scale:before { |
| | | content: "\e040"; |
| | | } |
| | | .dripicons-search:before { |
| | | content: "\e041"; |
| | | } |
| | | .dripicons-shopping-bag:before { |
| | | content: "\e042"; |
| | | } |
| | | .dripicons-skip:before { |
| | | content: "\e043"; |
| | | } |
| | | .dripicons-stack:before { |
| | | content: "\e044"; |
| | | } |
| | | .dripicons-star:before { |
| | | content: "\e045"; |
| | | } |
| | | .dripicons-stopwatch:before { |
| | | content: "\e046"; |
| | | } |
| | | .dripicons-store:before { |
| | | content: "\e047"; |
| | | } |
| | | .dripicons-suitcase:before { |
| | | content: "\e048"; |
| | | } |
| | | .dripicons-swap:before { |
| | | content: "\e049"; |
| | | } |
| | | .dripicons-tag:before { |
| | | content: "\e04a"; |
| | | } |
| | | .dripicons-tag-delete:before { |
| | | content: "\e04b"; |
| | | } |
| | | .dripicons-tags:before { |
| | | content: "\e04c"; |
| | | } |
| | | .dripicons-thumbs-down:before { |
| | | content: "\e04d"; |
| | | } |
| | | .dripicons-thumbs-up:before { |
| | | content: "\e04e"; |
| | | } |
| | | .dripicons-ticket:before { |
| | | content: "\e04f"; |
| | | } |
| | | .dripicons-time-reverse:before { |
| | | content: "\e050"; |
| | | } |
| | | .dripicons-to-do:before { |
| | | content: "\e051"; |
| | | } |
| | | .dripicons-toggles:before { |
| | | content: "\e052"; |
| | | } |
| | | .dripicons-trash:before { |
| | | content: "\e053"; |
| | | } |
| | | .dripicons-trophy:before { |
| | | content: "\e054"; |
| | | } |
| | | .dripicons-upload:before { |
| | | content: "\e055"; |
| | | } |
| | | .dripicons-user:before { |
| | | content: "\e056"; |
| | | } |
| | | .dripicons-user-group:before { |
| | | content: "\e057"; |
| | | } |
| | | .dripicons-user-id:before { |
| | | content: "\e058"; |
| | | } |
| | | .dripicons-vibrate:before { |
| | | content: "\e059"; |
| | | } |
| | | .dripicons-view-apps:before { |
| | | content: "\e05a"; |
| | | } |
| | | .dripicons-view-list:before { |
| | | content: "\e05b"; |
| | | } |
| | | .dripicons-view-list-large:before { |
| | | content: "\e05c"; |
| | | } |
| | | .dripicons-view-thumb:before { |
| | | content: "\e05d"; |
| | | } |
| | | .dripicons-volume-full:before { |
| | | content: "\e05e"; |
| | | } |
| | | .dripicons-volume-low:before { |
| | | content: "\e05f"; |
| | | } |
| | | .dripicons-volume-medium:before { |
| | | content: "\e060"; |
| | | } |
| | | .dripicons-volume-off:before { |
| | | content: "\e061"; |
| | | } |
| | | .dripicons-wallet:before { |
| | | content: "\e062"; |
| | | } |
| | | .dripicons-warning:before { |
| | | content: "\e063"; |
| | | } |
| | | .dripicons-web:before { |
| | | content: "\e064"; |
| | | } |
| | | .dripicons-weight:before { |
| | | content: "\e065"; |
| | | } |
| | | .dripicons-wifi:before { |
| | | content: "\e066"; |
| | | } |
| | | .dripicons-wrong:before { |
| | | content: "\e067"; |
| | | } |
| | | .dripicons-zoom-in:before { |
| | | content: "\e068"; |
| | | } |
| | | .dripicons-zoom-out:before { |
| | | content: "\e069"; |
| | | } |
New file |
| | |
| | | { |
| | | "version": 3, |
| | | "sources": [ |
| | | "../../source/scss/main.scss", |
| | | "../../source/scss/bootstrap-override/_bootstrap.scss", |
| | | "../../source/bower_components/bootstrap/scss/_root.scss", |
| | | "../../source/bower_components/bootstrap/scss/_reboot.scss", |
| | | "main.css", |
| | | "../../source/scss/_theme-variables.scss", |
| | | "../../source/scss/bootstrap-override/_variables.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_hover.scss", |
| | | "../../source/bower_components/bootstrap/scss/_type.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_lists.scss", |
| | | "../../source/bower_components/bootstrap/scss/_images.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_image.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_border-radius.scss", |
| | | "../../source/bower_components/bootstrap/scss/_code.scss", |
| | | "../../source/bower_components/bootstrap/scss/_grid.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_grid.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_breakpoints.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_grid-framework.scss", |
| | | "../../source/bower_components/bootstrap/scss/_tables.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_table-row.scss", |
| | | "../../source/bower_components/bootstrap/scss/_functions.scss", |
| | | "../../source/bower_components/bootstrap/scss/_forms.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_transition.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_forms.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_gradients.scss", |
| | | "../../source/bower_components/bootstrap/scss/_buttons.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_buttons.scss", |
| | | "../../source/bower_components/bootstrap/scss/_dropdown.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_caret.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_nav-divider.scss", |
| | | "../../source/bower_components/bootstrap/scss/_button-group.scss", |
| | | "../../source/bower_components/bootstrap/scss/_input-group.scss", |
| | | "../../source/bower_components/bootstrap/scss/_custom-forms.scss", |
| | | "../../source/bower_components/bootstrap/scss/_nav.scss", |
| | | "../../source/bower_components/bootstrap/scss/_breadcrumb.scss", |
| | | "../../source/bower_components/bootstrap/scss/_pagination.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_pagination.scss", |
| | | "../../source/bower_components/bootstrap/scss/_badge.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_badge.scss", |
| | | "../../source/bower_components/bootstrap/scss/_alert.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_alert.scss", |
| | | "../../source/bower_components/bootstrap/scss/_progress.scss", |
| | | "../../source/bower_components/bootstrap/scss/_close.scss", |
| | | "../../source/bower_components/bootstrap/scss/_modal.scss", |
| | | "../../source/bower_components/bootstrap/scss/_tooltip.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_reset-text.scss", |
| | | "../../source/bower_components/bootstrap/scss/_popover.scss", |
| | | "../../source/bower_components/bootstrap/scss/_carousel.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_align.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_background-variant.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_background.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_borders.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_clearfix.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_display.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_embed.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_flex.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_float.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_float.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_position.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_screenreaders.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_screen-reader.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_sizing.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_spacing.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_text.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_text-truncate.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_text-emphasis.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_text-hide.scss", |
| | | "../../source/bower_components/bootstrap/scss/utilities/_visibility.scss", |
| | | "../../source/bower_components/bootstrap/scss/mixins/_visibility.scss", |
| | | "../../source/bower_components/bootstrap/scss/_print.scss", |
| | | "../../source/scss/bootstrap-override/_tables.scss", |
| | | "../../source/scss/_theme-mixins.scss", |
| | | "../../source/scss/bootstrap-override/_forms.scss", |
| | | "../../source/scss/bootstrap-override/_nav.scss", |
| | | "../../source/scss/bootstrap-override/_buttons.scss", |
| | | "../../source/scss/bootstrap-override/_breadcrumb.scss", |
| | | "../../source/scss/bootstrap-override/_type.scss", |
| | | "../../source/scss/bootstrap-override/_modal.scss", |
| | | "../../source/scss/bootstrap-override/_popover.scss", |
| | | "../../source/scss/bootstrap-override/_alert.scss", |
| | | "../../source/scss/bootstrap-override/_badge.scss", |
| | | "../../source/scss/_plugin-overrides.scss", |
| | | "../../source/scss/_animations.scss", |
| | | "../../source/scss/_user_profile.scss", |
| | | "../../source/scss/_layout.scss", |
| | | "../../source/scss/_menu.scss", |
| | | "../../source/scss/_elements.scss", |
| | | "../../source/scss/_utilities.scss", |
| | | "../../source/scss/_osfont.scss", |
| | | "../../source/scss/_chat.scss", |
| | | "../../source/scss/_app_email.scss", |
| | | "../../source/scss/_projects.scss", |
| | | "../../source/scss/_full_chat.scss", |
| | | "../../source/scss/_pricing_plans.scss", |
| | | "../../source/scss/_pipelines.scss", |
| | | "../../source/scss/_os_dropdowns.scss", |
| | | "../../source/scss/_todo.scss", |
| | | "../../source/scss/_fancy_selector.scss", |
| | | "../../source/scss/_rentals.scss", |
| | | "../../source/scss/_support.scss", |
| | | "../../source/scss/_onboarding.scss", |
| | | "../../source/scss/_top_bar.scss", |
| | | "../../source/scss/_search.scss", |
| | | "../../source/scss/_customizer.scss", |
| | | "../../source/scss/_scheme_dark.scss", |
| | | "../../source/scss/_responsive.scss" |
| | | ], |
| | | "names": [], |
| | | "mappings": "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nB,uBAAmB;YAAnB,oBAAmB;IACnB,yBAAuB;QAAvB,sBAAuB;YAAvB,wBAAuB;GACxB;EAjEL;IAmEM,iBAAgB;GACjB;CjBy8DJ;;AqB7wED;EACE,sBAAqB;EACrB,iBpBwByB;EoBvBzB,mBAAkB;EAClB,oBAAmB;EACnB,uBAAsB;EACtB,0BAAiB;KAAjB,uBAAiB;MAAjB,sBAAiB;UAAjB,kBAAiB;EACjB,8BAA2C;ECsF3C,0BpBqOkC;EoBpOlC,kBpBuIkC;EoBtIlC,iBpBgJ+B;EoB7I7B,mBpB2G6B;EgB9M3B,sJhBuX6I;EgBvX7I,8IhBuX6I;EgBvX7I,sIhBuX6I;EgBvX7I,4KhBuX6I;CmB3UlJ;;AlB/BC;EkBCE,sBAAqB;ClBEtB;;AAFD;EkBKE,WAAU;EACV,yBnBoT8B;UmBpT9B,iBnBoT8B;CmBnT/B;;AApBH;EAyBI,cnBiV6B;CmB/U9B;;AA3BH;EA+BI,gBAAe;CAChB;;AAhCH;EAoCI,uBAAsB;CAMvB;;AAIH;;;;EAEE,qBAAoB;CACrB;;AAQC;ECzDA,YpBKa;EkBLX,0BlB8Ba;EoB5Bf,sBpB4Be;CmB6Bd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,wDpBaW;UoBbX,gDpBaW;CoBXd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBKa;EoBJb,sBpBIa;CoBHd;;AAED;;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;;EAKI,wDpBdS;UoBcT,gDpBdS;CoBgBZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBcc;EoBZhB,sBpBYgB;CmB6Cf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,uDpBHY;UoBGZ,+CpBHY;CoBKf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBXc;EoBYd,sBpBZc;CoBaf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,uDpB9BU;UoB8BV,+CpB9BU;CoBgCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBqCa;EoBnCf,sBpBmCe;CmBsBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,wDpBoBW;UoBpBX,gDpBoBW;CoBlBd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBYa;EoBXb,sBpBWa;CoBVd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,wDpBPS;UoBOT,gDpBPS;CoBSZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBuCa;EoBrCf,sBpBqCe;CmBoBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,yDpBsBW;UoBtBX,iDpBsBW;CoBpBd;;AAGD;EAEE,epBVc;EoBWd,0BpBca;EoBbb,sBpBaa;CoBZd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,yDpBLS;UoBKT,iDpBLS;CoBOZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBoCa;EoBlCf,sBpBkCe;CmBuBd;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,0DpBmBW;UoBnBX,kDpBmBW;CoBjBd;;AAGD;EAEE,epBVc;EoBWd,0BpBWa;EoBVb,sBpBUa;CoBTd;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,0DpBRS;UoBQT,kDpBRS;CoBUZ;;ADWH;ECzDA,YpBKa;EkBLX,0BlBkCa;EoBhCf,sBpBgCe;CmByBd;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,wDpBiBW;UoBjBX,gDpBiBW;CoBfd;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBSa;EoBRb,sBpBQa;CoBPd;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,wDpBVS;UoBUT,gDpBVS;CoBYZ;;ADWH;ECzDA,epBcgB;EkBdd,0BlBMc;EoBJhB,sBpBIgB;CmBqDf;;AlBnDD;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,0DpBXY;UoBWZ,kDpBXY;CoBaf;;AAGD;EAEE,epBVc;EoBWd,0BpBnBc;EoBoBd,sBpBpBc;CoBqBf;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,0DpBtCU;UoBsCV,kDpBtCU;CoBwCb;;ADWH;ECzDA,YpBKa;EkBLX,0BlBac;EoBXhB,sBpBWgB;CmB8Cf;;AlBnDD;EmBFE,YpBDW;EkBLX,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,uDpBJY;UoBIZ,+CpBJY;CoBMf;;AAGD;EAEE,YpBnBW;EoBoBX,0BpBZc;EoBad,sBpBbc;CoBcf;;AAED;;EAGE,YpB3BW;EoB4BX,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,uDpB/BU;UoB+BV,+CpB/BU;CoBiCb;;ADiBH;ECZA,epBrBe;EoBsBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBxBe;CmBmCd;;ACTD;EACE,YpBpDW;EoBqDX,0BpB5Ba;EoB6Bb,sBpB7Ba;CoB8Bd;;AAED;EAEE,wDpBlCa;UoBkCb,gDpBlCa;CoBmCd;;AAED;EAEE,epBvCa;EoBwCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB/Ca;EoBgDb,sBpBhDa;CoB0Dd;;AARC;;EAKI,wDpBvDS;UoBuDT,gDpBvDS;CoByDZ;;ADxBH;ECZA,epBrCgB;EoBsChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBxCgB;CmBmDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB5Cc;EoB6Cd,sBpB7Cc;CoB8Cf;;AAED;EAEE,uDpBlDc;UoBkDd,+CpBlDc;CoBmDf;;AAED;EAEE,epBvDc;EoBwDd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB/Dc;EoBgEd,sBpBhEc;CoB0Ef;;AARC;;EAKI,uDpBvEU;UoBuEV,+CpBvEU;CoByEb;;ADxBH;ECZA,epBde;EoBef,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBjBe;CmB4Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBrBa;EoBsBb,sBpBtBa;CoBuBd;;AAED;EAEE,wDpB3Ba;UoB2Bb,gDpB3Ba;CoB4Bd;;AAED;EAEE,epBhCa;EoBiCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBxCa;EoByCb,sBpBzCa;CoBmDd;;AARC;;EAKI,wDpBhDS;UoBgDT,gDpBhDS;CoBkDZ;;ADxBH;ECZA,epBZe;EoBaf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBfe;CmB0Bd;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBnBa;EoBoBb,sBpBpBa;CoBqBd;;AAED;EAEE,yDpBzBa;UoByBb,iDpBzBa;CoB0Bd;;AAED;EAEE,epB9Ba;EoB+Bb,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBtCa;EoBuCb,sBpBvCa;CoBiDd;;AARC;;EAKI,yDpB9CS;UoB8CT,iDpB9CS;CoBgDZ;;ADxBH;ECZA,epBfe;EoBgBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBlBe;CmB6Bd;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBtBa;EoBuBb,sBpBvBa;CoBwBd;;AAED;EAEE,0DpB5Ba;UoB4Bb,kDpB5Ba;CoB6Bd;;AAED;EAEE,epBjCa;EoBkCb,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBzCa;EoB0Cb,sBpB1Ca;CoBoDd;;AARC;;EAKI,0DpBjDS;UoBiDT,kDpBjDS;CoBmDZ;;ADxBH;ECZA,epBjBe;EoBkBf,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBpBe;CmB+Bd;;ACTD;EACE,YpBpDW;EoBqDX,0BpBxBa;EoByBb,sBpBzBa;CoB0Bd;;AAED;EAEE,wDpB9Ba;UoB8Bb,gDpB9Ba;CoB+Bd;;AAED;EAEE,epBnCa;EoBoCb,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpB3Ca;EoB4Cb,sBpB5Ca;CoBsDd;;AARC;;EAKI,wDpBnDS;UoBmDT,gDpBnDS;CoBqDZ;;ADxBH;ECZA,epB7CgB;EoB8ChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBhDgB;CmB2Df;;ACTD;EACE,epB3Cc;EoB4Cd,0BpBpDc;EoBqDd,sBpBrDc;CoBsDf;;AAED;EAEE,0DpB1Dc;UoB0Dd,kDpB1Dc;CoB2Df;;AAED;EAEE,epB/Dc;EoBgEd,8BAA6B;CAC9B;;AAED;;EAGE,epB9Dc;EoB+Dd,0BpBvEc;EoBwEd,sBpBxEc;CoBkFf;;AARC;;EAKI,0DpB/EU;UoB+EV,kDpB/EU;CoBiFb;;ADxBH;ECZA,epBtCgB;EoBuChB,8BAA6B;EAC7B,uBAAsB;EACtB,sBpBzCgB;CmBoDf;;ACTD;EACE,YpBpDW;EoBqDX,0BpB7Cc;EoB8Cd,sBpB9Cc;CoB+Cf;;AAED;EAEE,uDpBnDc;UoBmDd,+CpBnDc;CoBoDf;;AAED;EAEE,epBxDc;EoByDd,8BAA6B;CAC9B;;AAED;;EAGE,YpBvEW;EoBwEX,0BpBhEc;EoBiEd,sBpBjEc;CoB2Ef;;AARC;;EAKI,uDpBxEU;UoBwEV,+CpBxEU;CoB0Eb;;ADbL;EACE,iBpBjDyB;EoBkDzB,enB9Ce;EmB+Cf,8BAA6B;CAsB9B;;AlB3FC;EkBwEE,enBiEgD;EmBhEhD,2BnBiEiC;EmBhEjC,8BAA6B;EAC7B,0BAAyB;ClB3EL;;AkBkExB;EAcI,2BnB0DiC;EmBzDjC,0BAAyB;EACzB,yBAAgB;UAAhB,iBAAgB;CACjB;;AAjBH;EAqBI,enBpFc;CmBqFf;;AAUH;ECbE,qBpBiPgC;EoBhPhC,mBpBwImC;EoBvInC,iBpBwG+B;EoBrG7B,mBpB4G6B;CmBlGhC;;AAED;ECjBE,wBpB6OiC;EoB5OjC,kBpByIiC;EoBxIjC,iBpByG+B;EoBtG7B,mBpB6G6B;CmB/FhC;;AAOD;EACE,eAAc;EACd,YAAW;CAMZ;;AARD;EAMI,mBnBkP+B;CmBjPhC;;AAIH;;;EAII,YAAW;CACZ;;AE5IH;;EAEE,mBAAkB;CACnB;;ACwBG;EACE,sBAAqB;EACrB,SAAQ;EACR,UAAS;EACT,qBAA+B;EAC/B,wBAAkC;EAClC,YAAW;EAjCf,wBAA8B;EAC9B,sCAA4C;EAC5C,iBAAgB;EAChB,qCAA2C;CAsCxC;;AAkBD;EACE,eAAc;CACf;;ADlDL;EACE,mBAAkB;E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ArBH;EAyBI,gBAAe;CAChB;;AAGH;EAGM,eAAc;EvBPhB,4BNoL6B;EMnL7B,+BNmL6B;C6B3K5B;;AALL;EvBlBI,6BNkM6B;EMjM7B,gCNiM6B;C6BtK5B;;AAVL;EAcI,WAAU;EACV,Y7BvCW;E6BwCX,0B7Bfa;E6BgBb,sB7BhBa;C6BiBd;;AAlBH;EAqBI,e7BvCc;E6BwCd,qBAAoB;EAEpB,aAAY;EACZ,uB7BjDW;E6BkDX,sB7B/Cc;C6BgDf;;AC3DD;EACE,wB9BinBsC;E8BhnBtC,mB9BuOiC;E8BtOjC,iB9BuM6B;C8BtM9B;;AAIG;ExBoBF,4BNqL6B;EMpL7B,+BNoL6B;C8BvM1B;;AAGD;ExBCF,6BNmM6B;EMlM7B,gCNkM6B;C8BlM1B;;AAfL;EACE,wB9B+mBqC;E8B9mBrC,kB9BwO+B;E8BvO/B,iB9BwM6B;C8BvM9B;;AAIG;ExBoBF,4BNsL6B;EMrL7B,+BNqL6B;C8BxM1B;;AAGD;ExBCF,6BNoM6B;EMnM7B,gCNmM6B;C8BnM1B;;ACbP;EACE,sBAAqB;EACrB,sB/BgtBsC;E+B/sBtC,e/B4sBqC;E+B3sBrC,iBhCwBuB;EgCvBvB,eAAc;EACd,mBAAkB;EAClB,oBAAmB;EACnB,yBAAwB;EzBTtB,mBN+M6B;C+B/LhC;;AAfD;EAaI,cAAa;CACd;;AAIH;EACE,mBAAkB;EAClB,UAAS;CACV;;AAMD;EACE,qB/ByrBsC;E+BxrBtC,oB/BwrBsC;EMttBpC,qBNytBqC;C+BzrBxC;;AAOC;EC1CA,YhCUa;EgCTb,0BhCkCe;C+BSd;;A9B3BD;E+BZI,YhCKS;EgCJT,sBAAqB;EACrB,0BAAkC;C/BarC;;A8BsBD;EC1CA,YhCUa;EgCTb,0BhCkBgB;C+ByBf;;A9B3BD;E+BZI,YhCKS;EgCJT,sBAAqB;EACrB,0BAAkC;C/BarC;;A8BsBD;EC1CA,YhCUa;EgCTb,0BhCyCe;C+BEd;;A9B3BD;E+BZI,YhCKS;EgCJT,sBAAqB;EACrB,0BAAkC;C/BarC;;A8BsBD;EC1CA,ehCmBgB;EgClBhB,0BhC2Ce;C+BAd;;A9B3BD;E+BZI,ehCcY;EgCbZ,sBAAqB;EACrB,0BAAkC;C/BarC;;A8BsBD;EC1CA,ehCmBgB;EgClBhB,0BhCwCe;C+BGd;;A9B3BD;E+BZI,ehCcY;EgCbZ,sBAAqB;EACrB,0BAAkC;C/BarC;;A8BsBD;EC1CA,YhCUa;EgCTb,0BhCsCe;C+BKd;;A9B3BD;E+BZI,YhCKS;EgCJT,sBAAqB;EACrB,0BAAkC;C/BarC;;A8BsBD;EC1CA,ehCmBgB;EgClBhB,0BhCUgB;C+BiCf;;A9B3BD;E+BZI,ehCcY;EgCbZ,sBAAqB;EACrB,0BAAkC;C/BarC;;A8BsBD;EC1CA,YhCUa;EgCTb,0BhCiBgB;C+B0Bf;;A9B3BD;E+BZI,YhCKS;EgCJT,sBAAqB;EACrB,0BAAkC;C/BarC;;AgCjBH;EACE,mBAAkB;EAClB,yBjC8vByC;EiC7vBzC,oBjC8vBsC;EiC7vBtC,8BAA6C;E3BJ3C,mBNgN6B;CiC1MhC;;AAGD;EAEE,eAAc;CACf;;AAGD;EACE,iBlCauB;CkCZxB;;AAOD;EACE,uBAAwD;CAUzD;;AAXD;EAKI,mBAAkB;EAClB,OAAM;EACN,SAAQ;EACR,yBjCguBuC;EiC/tBvC,eAAc;CACf;;AASD;EC9CA,epBmFgE;EI9E9D,0BJ8E8D;EoBjFhE,sBpBiFgE;CmBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,epBmFgE;EI9E9D,0BJ8E8D;EoBjFhE,sBpBiFgE;CmBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,aAA0B;CAC3B;;ADoCD;EC9CA,epBmFgE;EI9E9D,0BJ8E8D;EoBjFhE,sBpBiFgE;CmBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,epBmFgE;EI9E9D,0BJ8E8D;EoBjFhE,sBpBiFgE;CmBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,epBmFgE;EI9E9D,0BJ8E8D;EoBjFhE,sBpBiFgE;CmBnC/D;;AC5CD;EACE,0BAAqC;CACtC;;AAED;EACE,eAA0B;CAC3B;;ADoCD;EC9CA,epBmFgE;EI9E9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pEkCa;EoEjCb,8BAA6B;EAC7B,mBrEDsB;EqEEtB,0BAAyB;EACzB,oBAAmB;EACnB,iBrE0BqB;EqEzBrB,mBAAgC;EAChC,iBAAgB;EAChB,0BAAsB;EACtB,gBAAe;CAUhB;;AArBH;EAeM,sBpEqBW;EoEpBX,epEoBW;CoEnBZ;;AAjBL;EAmBM,kBAAiB;CAClB;;AApBL;EAwBM,sCAAkC;EAClC,0BAAsB;EACtB,mBAAgC;CAKjC;;AA/BL;EA4BQ,0BpEQS;EoEPT,YAAW;CACZ;;AjDsFP;ECjBE,wBpB6OiC;EoB5OjC,oBpB0ImC;EoBzInC,iBpBgJ+B;EoB7I7B,mBpB6G6B;CoE9KhC;;AAGD;EhDpCE,epBcgB;EkBdd,uBkDqC0B;EhDnC5B,mBgDmCkC;CACnC;;AnE9BC;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,0DgDoB8B;UhDpB9B,kDgDoB8B;ChDlBjC;;AAGD;EAEE,epBVc;EoBWd,uBgDY0B;EhDX1B,mBgDWgC;ChDVjC;;AAED;;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;;EAKI,0DgDP4B;UhDO5B,kDgDP4B;ChDS/B;;AgDNL;EhDxCE,epBcgB;EkBdd,0BkDyC6B;EhDvC/B,sBgDuCwC;CACzC;;AnElCC;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,0DgDwBoC;UhDxBpC,kDgDwBoC;ChDtBvC;;AAGD;EAEE,epBVc;EoBWd,0BgDgB6B;EhDf7B,sBgDesC;ChDdvC;;AAED;;EAGE,epBlBc;EoBmBd,0BAlCuK;EAsCvK,sBAtC+M;CAgDhN;;AARC;;EAKI,0DgDHkC;UhDGlC,kDgDHkC;ChDKrC;;AgDFL;EhD5CE,epBcgB;EkBdd,uBkD6C0B;EhD3C5B,mBgD2CkC;EAClC,eAAc;CACf;;AnEvCC;EmBFE,epBQc;EkBdd,0BEDoF;EASpF,sBATyH;CnBSrG;;AmBGtB;EAMI,0DgD4B8B;UhD5B9B,kDgD4B8B;ChD1BjC;;AAGD;EAEE,epBVc;EoBWd,uBgDoB0B;EhDnB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B;EAClB,kBAAiB;EACjB,gBAAe;EACf,sBAAqB;EACrB,uBAAsB;CACvB;;AAPH;EASI,sBAAqB;EACrB,uBAAsB;EACtB,iCjFhFa;CiFiFd;;AvF9BH,oBAAoB;AwFvFpB;EACE,sBAAqB;EACrB,i0kIAAg0kI;EACh0kI,oBAAmB;EACnB,mBAAkB;CpF6kcnB;;AoF1kcD;EACE,gFAAgF;EAChF,iCAAgC;EAChC,YAAW;EACX,mBAAkB;EAClB,oBAAmB;EACnB,qBAAoB;EACpB,qBAAoB;EACpB,eAAc;EAEd,uCAAuC;EACvC,oCAAmC;EACnC,mCAAkC;CACnC;;AAED;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;EAChB,eAAc;CACf;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;EAChB,eAAc;CACf;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBAAgB;CACjB;;AACD;EACE,iBA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", |
| | | "file": "main.css" |
| | | } |
New file |
| | |
| | | { |
| | | "dashboard" : { |
| | | "downloadToImage" : " Download To Image", |
| | | "downloadToExcel" : " Download To Excel", |
| | | "remainedIssue" : "Remained Issue", |
| | | "delayedIssue" : "Delayed Issue", |
| | | "allocatedIssue" : "Allocated Issue", |
| | | "registeredIssue" : "Registered Issue", |
| | | "unallocatedIssue" : "Unallocated Issue", |
| | | "completionIssue" : "complete Issue", |
| | | "processingRate" : "Processing Rate", |
| | | "dailyAverage" : "Daily Average", |
| | | "inProgressStatusOfProject" : "Status of projects in progress", |
| | | "progressProject" : "Progress Project", |
| | | "issueAll" : "Issue list", |
| | | "projectProgress" : "Project Progress", |
| | | "admin" : "Admin", |
| | | "progressPercent" : "Progress", |
| | | "teamMember" : "Team Member", |
| | | "assignedToMeIssue" : "Issues assigned to me", |
| | | "assignedTodayIssue" : "Issues assigned today", |
| | | "progressingIssue" : "List of pending issues", |
| | | "issueName" : "Issue name", |
| | | "managementRisk" : "Risk Management", |
| | | "updateIssueAndStatusUpdate" : "List of issues that appear to have risks in handling issues, such as frequent staff changes and frequent status changes", |
| | | "reversalStatusUpdate" : "Change the status of the reversal", |
| | | "reversalAssigneeUpdate" : "Change frequent contacts", |
| | | "division" : "Division", |
| | | "registeredByMeIssue" : "Status of issues registered by me", |
| | | "registeredTodayIssue" : "Issues registered today", |
| | | "delayingIssue" : "Pending issue", |
| | | "delayDate" : "Delay Date", |
| | | "statusOfIssues" : "Issue Count by Status", |
| | | "doesNotExistWorkflow" : "Workflow does not exist.", |
| | | "progressByMember" : "Progress by Member", |
| | | "assignedIssue" : "Assigned Issue", |
| | | "delaying" : "Delaying", |
| | | "myIssueStatus" : "Current status of my issue", |
| | | "complete" : "Complete", |
| | | "registration" : "Registration", |
| | | "assigned" : "Assigned", |
| | | "failedDashboardWidgetLookup" : "Dashboard widget lookup failed", |
| | | "failedToTotalIssueHandling" : "Total issue handling status failed", |
| | | "notSupportedImageDownload" : "Image download not supported", |
| | | "ieNotSupportedImageDownload" : "IE does not support image download.", |
| | | "overallIssueHandlingStatusPNG" : "Overall Issue Handling Status.png", |
| | | "excludeWorkspaceParticipation" : "Exclude workspace participation", |
| | | "failedToListOfPendingIssuesLookup" : "Failed to look up the list of pending issues", |
| | | "statusOfIssuesPNG" : "Issue Count by Status.png", |
| | | "failedToCheckProgressMember" : "Failed to check progress by member", |
| | | "failedToListOfIssueAllocatedLookup" : "Failed to look up the list of issues allocated to me", |
| | | "failedToListOfIssueRegisteredLookup" : "Failed to look up the list of issues I have registered", |
| | | "failedToRiskManagementIssueLookup" : "Risk management issue lookup failed", |
| | | "issueTypeStandIssues" : "Status of issues by issue type", |
| | | "workspaceExpire1" : "Your workspace", |
| | | "workspaceExpire2" : "period of use", |
| | | "workspaceExpire3" : "remain", |
| | | "workspaceExpire4" : "usage period of has expired.", |
| | | "extensionServicePeriod" : "extension of service period" |
| | | }, |
| | | |
| | | "managementWorkspace" : { |
| | | "managementWorkspace" : "Workspace Management", |
| | | "myWorkspace" : "My workspace", |
| | | "workspaceInformation" : "Workspace Information", |
| | | "serviceStatus" : "Service Status", |
| | | "numberOfUsers" : "Number of Users", |
| | | "pleaseEnterNumberOfUsers" : "Please enter the number of users.", |
| | | "inviteUser" : "Invite Users", |
| | | "invite" : "invitation", |
| | | "emailAddress" : "e-mail address", |
| | | "useStorageSize" : "Storage size", |
| | | "usageTraffic" : "Usage Traffic", |
| | | "duration" : "Duration", |
| | | "inUse" : "in Use", |
| | | "expiredUse" : "expired Use", |
| | | "projectToInvolved" : "Project to be involved", |
| | | "daysLeft" : " Days left)", |
| | | "daysLeftUnlimited" : "Ulimited", |
| | | "pay" : "Pay", |
| | | "paymentInformation" : "Payment Information", |
| | | "cardNumber" : "CardNumber", |
| | | "FirstTwoDigits" : "the first two digits", |
| | | "validity" : "Validity", |
| | | "dateOfOnesBirth" : "Date of one’s birth", |
| | | "exampleBirthInput" : "Please enter 6 digits for the date of birth", |
| | | "brn" : "(Business license number)", |
| | | "agreeMyPersonalInformation" : "I agree to provide my personal information to the payment service.", |
| | | "termsAndConditions" : "You need to", |
| | | "agreeToMakeThePayment" : "agree to the terms and conditions to make the payment.", |
| | | "productInformation" : "Product Information", |
| | | "paymentType" : "Payment Type", |
| | | "paymentMethod" : "Payment Method", |
| | | "paymentDate" : "Payment Date", |
| | | "monthly" : "Monthly", |
| | | "yearly" : "Yearly", |
| | | "creditCard" : "CreditCard", |
| | | "paymentAmount" : "Payment Amount", |
| | | "includesVAT" : "(Includes VAT)", |
| | | "regularPayment" : "Regular Payment", |
| | | "regularPaymentInformation" : "Regular Payment Information", |
| | | "paymentScheduledAmount" : "Payment scheduled amount", |
| | | "priceInformation" : "Price Information", |
| | | "1to10People" : "1 to 10 People", |
| | | "11orMore" : "11 or More", |
| | | "perPerson" : "1 per person", |
| | | "cancelRegularPayment" : "Cancel Regular Payment", |
| | | "updateRegularPayment" : "Change Regular Payment", |
| | | "joinStatus" : "Participation status", |
| | | "paymentCompleted" : "Payment Completed.", |
| | | |
| | | "scheduleUserWaitingToJoin" : "Schedule a user waiting to join", |
| | | "schedulePeopleWaitingToParticipate" : "If the number of users paying is reduced, you can pre-schedule people who are waiting to participate.", |
| | | "privacyPolicyAndTermsOfUse" : "Privacy Policy and Terms of Use", |
| | | "termsOfUse" : "Terms of Use", |
| | | "termsOfUse1" : "Article 1 (Objective)<br>The purpose of this Agreement is to stipulate the requirements of the rights, duties and responsibilities between the company and its members, conditions and procedures related to the use of OWL service provided by the company's Wisestone (hereinafter referred to as the \"Company\").<br> <br>Article 2 (Definitions)<br>The terms used in this Agreement are as follows:<br>(1) \"Service\" refers to the OWL service and related services available to \"members\" regardless of the terminal being implemented (including various wired and wireless devices such as PCs and mobile terminals).<br>(2) \"OWL ITS\" means a platform for registering problems with the system and recording progress that arise from working between \"members\" and members.<br>(3) \"member\" refers to a customer who accesses the company's \"service\" and enters into a service contract with the \"company\" under this Agreement and uses the \"service\" provided by the \"company.<br>(4) \"Password\" means a combination of letters or numbers designated by the \"member\" to confirm that the \"member\" is a \"member\" consistent with the e-mail address given to the \"member\" and to ensure confidentiality.<br>(5) \"Members\" refer to persons who use \"OWL ITS\" under \"members\" control, and are classified as \"business space managers\" and \"general members\" according to the authority granted by \"members\" as follows:However, when \"members\" are \"workspaces managers\", \"members\" are categorized as \"regular members.\"<br>(6) \"Workspace manager\" means a \"member\" who can use all management functions for his workspace and cancels the \"OWL ITS\" service contract.<br>(7) \"General member\" means \"members\" who use \"OWL ITS\" without special administrative authority.<br>(8) \"Account\" means an account for a service that is linked to a login \"account\" or other service created on the basis of the \"password\" and the e-mail address required by the \"member\" to use the OWL service.<br>(9) \"Workspace\" refers to a space where cooperation can be made with a service account created to use \"OWL ITS.\" The \"account\" of the \"member\" may belong to a number of work spaces.<br>(10)\"Publishing\" refers to postings, photos, videos, and various files and links in the form of information posted on \"service\" by \"members\" in using \"service.\"<br>(11) \"Product\" means a type of service selected and contracted by \"member\" in accordance with the plan designated by \"Company\" for the smooth use of \"Service\".The \"members\" option may be offered to the members as a free product that does not require payment and as a paid product that requires payment.<br>(12) \"Payment\" means that the member pays the expenses to the \"Company\" in order to use the paid function of \"OWL ITS\".<br>(13) The term \"regular payment\" refers to the method in which the usage fee is \"payed\" on the automatic payment date of each month so that the OWL ITS paid function can be used.<br>(14) \"Immediate payment\" means the \"payment\" method to add \"general members\" immediately in the middle of the payment date.<br> <br>Article 3 (Publishing and revising the terms and conditions)<br>(1) The company shall post the contents of this Agreement in the initial page of the OWL service so that the members can easily understand the contents of this Agreement.<br>(2) If necessary, the company may change this Agreement to the extent that it does not violate the relevant laws.<br>(3) If the company revises this Agreement, it shall specify the date and reason of application and notify the OWL service announcement bulletin board from 15 days before the application date. However, in the event that the terms and conditions are amended to prevent the member from being rejected, the member shall, in addition to the notice, send an e-mail to the address entered at the time of sign - up, or notify the member by electronic means such as a pop-up window or consent window 30 days prior to the application date.<br>(4) If the member did not express his or her intention to express his or her intention to express his or her intention within 30 days while the company notified or notified the member of the revised agreement in accordance with the previous paragraph, the member shall have agreed to the amended agreement.<br>(5) If the member does not agree to the amended agreement, the company shall not apply the contents of the amended agreement, and the member may cancel the service contract. However, the company may terminate the service contract in the event of special circumstances that do not apply the existing terms and conditions.<br> <br>Article 4 (Applications and Conditions and the Rules)<br> Matters not specified in this Agreement shall be interpreted and applied in accordance with the provisions of the Telecommunications Framework Act, the Telecommunications Business Act and other related statutes, the purpose of this Agreement and the general practice of the same industry.<br><br>Article 5 (Confirmation of service contract) <br>(1) The OWL service contract is concluded by the company's consent after the person who intends to become a member agrees to the terms of this Agreement, registers the e-mail address and password, and submits a sign-<br>(2) The email address registered as an account cannot be changed.<br>(3) You can use the service by adding more members and applying/paying for additional service period at any time until the service is explicitly cancelled after signing up.<br>① The functions available after the expiration of the service contract are limited in some ways, and the service use information will be deleted after one month.<br>(4) The company may modify, suspend or change some or all of the services provided for free in accordance with the company's policy and operation needs, and shall not compensate the members separately unless otherwise stipulated in the relevant laws.<br>(5) The company may cancel the service contract after it has failed to accept the application in any of the following subparagraphs:<br>① In case a member whose service contract has been cancelled by the company pursuant to Article 10 paragraph 3 of this Agreement applies for membership registration<br>② In case of using other people's personal information<br>③ In case of false information or information provided by the company as required<br>④ In case of violation of other relevant laws or the criteria set by the company, such as detailed guidelines<br> <br>(6) The company can defer the creation of an account by the applicant for membership in any of the following subparagraphs:<br>① Where there is no real room for the provision of service facilities<br>② If there is a technical problem with the provision of the service<br>③ In case the company acknowledges that it is financially and technically necessary<br> <br>Article 6 (Management of member information)<br>(1) The member shall be responsible for managing the member's account and password and shall not be allowed to use it by a third party.<br>(2) In the event the member's account and password are stolen or recognized as being used by a third party, the member shall immediately notify the company and follow the company's instructions.<br>(3) In the event of a previous protest, the company shall not be held liable for damages caused by the member's failure to comply with the company's instructions even if the member did not notify the company of such fact.<br>(4) The members can access and modify their personal information at any time through the account management function within the OWL service. The company shall not be held liable for any disadvantages caused by the members' failure to properly modify their information.<br> <br>Article 7 (Company obligation)<br>(1) The company strives to faithfully implement measures such as maintenance, inspection, or restoration of OWL service and security-related facilities to comply with continuous and reliable service provision.<br>(2) The company does not send commercial advertising e-mails or notification messages for which the members have not agreed to receive.<br>(3) The company does not leak or distribute the members' personal information that it has learned regarding the provision of OWL services to third parties without their consent. Other matters concerning the protection of the members' personal information shall follow the Information and Communications Network Act and the \"Personal Information Processing Policy\" separately set by the company.<br><br>Article 8 (Mission of Members)<br>(1) The members shall not commit any of the following acts.<br>① Registration of false information when applying for membership or changing member information<br>② for the information of others<br>③ Changes to information posted by the company<br>④ Send or post information (computer programs, etc.) other than the information specified by the company.<br>⑤ An act to violate the intellectual property rights of the company and other third parties, including those of the company and other third parties<br>⑥ An act to defame or disrupt the company and other third parties<br>⑦ Disclosure or posting of information against obscene or violent messages, burns, sounds and other forms of information to OWL service<br>⑧ An act to use OWL services for profit without the consent of the company<br>⑨ An act to collect, use, or provide information of other service users to others without permission<br>⑩ Copy, modify, distribute, sell, transfer, loan, security or otherwise replicate, disassemble, or otherwise modify OWL services, such as reverse engineer or attempt to extract source code.<br>⑪ An act to access OWL services using a method other than the company's guidance<br>⑫ An act to create and preoccupy OWL subdomain that is not related to yourself and thus prevent other people from using OWL service<br>⑬ An act to transfer or give or mortgage one's rights to use OWL services and other service contract status to another person<br>⑭ other illegal or unjust conduct<br> <br>(2) If the member fails to comply with the relevant statutes, these terms and conditions or the \"detailed guidelines\", the company may investigate the member's violation, suspend or suspend the member's use of OWL services, or limit the member's re-enrollment. The member shall be responsible for the loss of information caused by such cancellation.<br>(3) If there is no record of the members logging in or accessing the service during the period specified in the related statutes, the company can sell or store your information separately after notification by the member's registered OWL account e-mail address or other valid means. As a result, the service contract may be canceled if there is insufficient information necessary for the use of OWL service.<br>(4) The member shall be obliged to pay the company-set charges in exchange for the use of the paid service, and shall assume all responsibilities to the member other than for the company's negligence or reasons recognized by the company for the failure to pay the fee.<br> <br>Article 9 (Changes and suspensions of services)<br>(1) The company does its best to provide OWL services 24 hours a day, 365 days a week. However, the service provision may be temporarily suspended due to regular or temporary inspection or other significant reasons for maintaining or maintaining the equipment. In such a case, the service supply screen will be notified in advance. If OWL service is interrupted for unforeseen reasons, the company strives to recover the service as soon as possible as it identifies the situation.<br>(2) The company can change all or part of the OWL service according to the operational and technical needs and notify the members of the service by posting it on the OWL service initialization screen or in the notice box before service change or suspension. In addition to the notification, the member sends an e-mail to the registered e-mail address when he or she subscribes to the member, and notifies the member 30 days before the application date through the notification pop-up window or consent window.<br>(3) The company may stop providing OWL services in the following cases:<br>① In case there is a concern that normal service may be disrupted, such as national emergency, service facility failure, and a sudden increase in service use<br>② In case it is virtually impossible for the company to provide services for unavoidable reasons such as natural disasters<br>③ In case the primary communication service provider as defined in the Telecommunications Business Act has stopped the telecommunication service<br> <br>Article 10 (transfer of customer data due to system improvement)<br>(1) In the event of an inevitable situation, such as large-scale system improvement, the company can transfer the customer's data stored in the existing system to the new system without the customer's consent or application procedure to provide the service.<br> <br>Article 11 (Service Revocation)<br>(1) Termination of service subscription includes termination by the member's application for service cancellation and termination by the company's authority.<br>(2) The member may apply for a service cancellation using the menu provided in the OWL service at any time, and only in the event of a workspace cancellation is processed according to the following subparagraphs<br>① You can decommission a workspace only by the manager of that workspace.<br>② Regular payment delays will be automatically cancelled when a work space with paid functions is contracted.<br>(2) The company swiftly processes applications for cancellation of the service contract as provided under the relevant laws. However, for regular payments with a monthly payment cycle set, the contract termination is processed according to each of the following. <br>① If it is monthly, the service contract cancellation will be processed on the regular payment date of the month.<br>② If the member's application date for service contract is before the regular settlement date of the month, the member's contract cancellation is processed after the remaining period of use is exhausted. And during the remaining period of use, members can use OWL service normally.<br>(3) A member using paid service shall delete the postings he/she has written in the OWL service before leaving the OWL service. However, all postings will be automatically deleted when the work space opened by the member is canceled.<br>(4) If a member of a general member withdraws from a member without deleting the postings, the postings remain in the OWL service workspace and should be checked carefully before leaving.<br>(5) When the service contract is terminated, all information of the member is deleted except in case the member's specific information is kept in accordance with the relevant statutes and privacy policy.<br>(6) If a member violates Article 8 paragraph 1 of this Agreement, the company may terminate the service contract for the member concerned as a serious violation. In this case, the company will notify the member's OWL account email address by filling in the reason and details of the withdrawal before processing.The member may raise an objection within 30 days of receiving the company's notification, and the company resumes the service contract with the member if the member's objection is recognized as legitimate.<br>Article 12 (Article of data)<br>(1) In principle, the data of a member whose service contract expires shall be kept for one month from the expiration date, and the data will be deleted if the company does not purchase products with a period of one month.<br>(2) The data of the members using the free service are deleted immediately after the service cancellation.<br>(3) In the following cases, the data of a member whose service contract expires or has been canceled may be kept.<br>① In case it is deemed necessary for the company to keep information for a certain period of time in order to verify the history, such as the membership fee for cancellation of subscription<br>(4) Among the data generated by the service use, the job log will be kept for six months and the previous one will be automatically deleted.<br> <br>Article 13 (Transfer of Information)<br>(1) With the consent of the members, the company can send new functions and useful information to the members through e-mail or text message registered by the members.<br>(2) The company may send the necessary forwarding information, such as expiration date of the service period and notice of termination, to the members regardless of the members' consent.<br> <br>Article 14 (Stop using the service)<br>(1) In the event a member violates his or her obligations under this Agreement or interferes with the normal operation of OWL services, the company may request improvement and, if not, stop using the service without prior notice.The company may resume the service if it believes that the reasons attributable to the members have been resolved.<br>(2) OWL service suspension period is included in the OWL service delivery period.<br> <br>Article 15 (Description of the product)<br>(1) The OWL service product is applied to the work space generated by the members for cooperation with other members. The product can be purchased by a member with administrator rights.<br>(2) When a member creates a work area, he or she can join FREE (free experience) and if the conditions of the free product exceed the limit of the number of members and the capacity of the work area, he or she can purchase a paid product to solve the restriction on the service use.<br>(3) Information on the types and prices of products provided by the company is posted on the service-provided Internet site at(www.owlsolution.io)<br> <br>Article 16 (Contracts of Items)<br>(1) The contract for the product is signed when the product is settled using the specified payment method and the product is applied by a \"manager\" among the members of the workspace.<br>(2) The work area can be used from the time the company approves the application for the use of the product. This time means that you have settled a paid product and converted it.<br>(3) The application for a change to a paid product will be made as soon as the payment is completed.<br>(4) You can't change a paid product for free.<br> <br>Article 17 (Calculation of charges)<br>The billing date of the OWL service fee is when the company approves the service application.<br>(1) The calculation of the daily rate will be 1 day from 00:00 to 24:00 and if the start or end of the service is 1 day, this will be considered 1 day.<br>(2) When applying for the paid service function of OWL service, the member may select only the monthly or annual payment method.<br>① Charges will be set according to the number of users when paying for a paid service.<br>② The paid service can be used by activating members within the number of paid users.<br>③ Payment can be made by adding a user while using the paid service. You can use the service immediately by paying for the days remaining until the previous regular payment date and the number of additional users requested.Immediate payment is a one-time payment, which automatically reflects the number of users added to the next regular payment after the payment.<br> <br>Article 18 (Cash Refund)<br>(1) OWL services are prepaid and charges are not refundable unless required by law. However, you can apply for and process a refund according to each of the following subparagraphs:<br>① The cancellation will be applied on the day of service subscription when a cancellation request.<br>② When requesting the service cancellation of the annual prepaid rate, 10% of the total used amount (calculated as normal value) will be deducted from the amount corresponding to the remaining number of days after the cancellation date, before refunding.<br>③ The refund amount will be paid in cash to the account designated by the member when applying for the refund.<br>④ The refund of the cancellation fee shall be paid within 15 days of the cancellation date.<br> <br>Article 19 (Damage Compensation)<br>(1) In the event a member suffers loss of service use due to the company's deliberate or serious negligence in relation to the company's service provision, the member can receive proper compensation and compensation.In the event of a claim for damages, an application shall be made in writing, stating the reason, amount and calculation basis for the claim.<br> <br>Article 20 (Article 20)<br>(1) In case service cannot be provided due to natural disasters, wars and other force majeure<br>(2) In case damages occur due to the main communication service provider's failure to stop or provide telecommunication services normally<br>(3) In case the member's service use is impaired or damaged due to reasons attributable to the member<br>(4) In case damages occur due to inevitable reasons such as repair, replacement, regular inspection, and construction of service facilities<br>(5) The members shall not be held liable for damages caused by transmission, storage or inquiry of obscene materials, indecent contents, defamation due to false facts, illegal copying, and other intellectual property rights infringement, national secrets infringement, harmful media for young people.<br>(6) A facility failure, such as a network, disrupts service use or causes data loss or errors before storage storage is stored.<br>(7) In case of abnormally stored data. However, \"normally stored data\" means that the data is transferred by the member and stored normally in the storage without any increase in capacity or changes in properties.<br>(8) In case a member's mistake or insufficient understanding of the service has resulted in damages to the member<br>(9) The company shall not be held liable for the cancellation of the service contract, modification of the product, or loss of data due to the cancellation of the user's or work space.<br>(10) In case a member discloses his/her ID/password to others or the member's ID/password is exposed due to poor management.<br>(11) In order to provide smooth service, the service can be temporarily suspended after being notified in advance of regular or emergency inspections, and thus the damages caused by failure to use the service are exempted.<br>(12) The company is not obliged to intervene in disputes arising from the intermediation of services between the members, the members' companies concerned, or between third parties, and is not responsible for any damages resulting from such disputes.<br> <br>Article 21 (Compliance Act and Related)<br>(1) The company and the members shall exert their best efforts to resolve disputes arising in connection with the service.<br>(2) Matters not specified in the company's policy or service agreement shall be interpreted in accordance with the provisions of the Telecommunications Business Act, the Act on Promotion of Information and Communication Network Utilization and other related statutes, the purpose of these terms and conditions, and the general practice of the same industry.<br>(3) In the event that the dispute over the use of the service between the company and the members has not been settled amicably, the jurisdiction of the related litigation shall be the court responsible for the location of the company's main office.<br>– Implementation date: November 9, 2018", |
| | | "workspaceUserManagement" : "Workspace User Management", |
| | | "numberOfParticipants" : "Number of participants", |
| | | "participation" : "Participation", |
| | | "waitForParticipation" : "Wait for participation", |
| | | "withdrawal" : "Withdrawal", |
| | | "canParticipate" : "Can participate", |
| | | "installingManagerServerAddress" : "(Manager installation server address)", |
| | | "failedToSelectWorkspaceInformation" : "Failed to view the workspace information you manage", |
| | | "failedToPaymentInformation" : "Failed to check payment information", |
| | | "completedPayment" : "Payment completed", |
| | | "failedPayment" : "Payment failed", |
| | | "cancelTheRegularPaymentReceive" : "Would you like to cancel the regular payment? \nYou will receive a refund within seven days, excluding usage charges.", |
| | | "failedToCancelPayment" : "Failed to cancel payment", |
| | | "failedToModifyWorkspaceName" : "Failed to modify workspace name", |
| | | "failedToRegularPaymentChange" : "Regular payment change failed", |
| | | "failedToParticipationStatusChange" : "Failed to change participation status", |
| | | "failedToSelectWorkspaceFullUserList" : "Failed to look up workspace full user list" |
| | | }, |
| | | |
| | | "issue" : { |
| | | "issueType" : "Issue Type", |
| | | "managementIssue" : "Issue Management", |
| | | "createIssue" : "Create Issues", |
| | | "issueStatus" : "Issue status", |
| | | "issueNumber" : "Issue number", |
| | | "issueContent" : "Issue content", |
| | | "issueTitle" : "Issue Title", |
| | | "requireIssueTitle" : "Please enter an issue title.", |
| | | "issueList" : "List of issues", |
| | | "summaryIssueActivity" : "Summary of Issue Activity Details", |
| | | "modifyIssues" : "Modify Issues", |
| | | "continueCreateIssue" : "This screen will continue to generate issues.", |
| | | "initializedAssigneeCustomField" : "When you change a project, the value of the person in charge, custom field is initialized.", |
| | | "setUpUsersParticipatingInProject" : "Set up the users who are participating in the project.", |
| | | "initializedIssueStatus" : "If you change the type, the user-defined field, issue state is initialized.", |
| | | "clickToSelectDate" : "Click to select a date.", |
| | | "notIssueTypeCustomFields" : "There are no user-defined fields associated with issue type.", |
| | | "attachOnlyFiles" : "You can attach only the hwp, jpg, png, txt, pptx, ppt, pdf, xlsx, docx, zip, gif, jpeg, doc, tif, bmp, wmv, avi, mp4, mkv, mov files.", |
| | | "registerExcelIssues" : "Register for Excel Issues", |
| | | "videoExample" : "Video Example", |
| | | "writeWaring" : "the art of writing", |
| | | "pleaseEnterIssueName" : "Enter issue name to search.", |
| | | "selectProjectAndIssueTypeDownloadExcel" : "Select Project, issue type to download Excel in the corresponding form.", |
| | | "settingTableDisplay" : "table display settings", |
| | | "deleteIssue" : "Delete Issue", |
| | | "wantToDeleteSelectIssue" : "Are you sure you want to delete the selected issue? Deleted issues cannot be recovered.", |
| | | "failedToSaveFieldConditions" : "Failed to save search field conditions", |
| | | "failedToGetSearchFieldCondition" : "Failed to get search field condition", |
| | | "failedIssueLookup" : "Issue lookup failed", |
| | | "selectionCheck" : "Check for selection", |
| | | "selectIssueToChangeStatus" : "Select an issue to change its status.", |
| | | "notHaveDeletePermissionExistsAnIssue" : "An issue exists that does not have delete permission.", |
| | | "failedToIssueTypeListLookup" : "Failed to look up issue type list", |
| | | "failedToPriorityListLookup" : "Failed to look up priority list", |
| | | "failedToCriticalListLookup" : "Failed to lookup criticality list", |
| | | "failedToUserDefinedFieldListLookup" : "Failed to lookup user-defined field list", |
| | | "failedToIssueTableColumnLookup" : "Issue table column lookup failed", |
| | | "capacityExceededImageFile" : "Image file capacity exceeded", |
| | | "attachedOnlyImageFiles10mb" : "Only image files under 10 MB can be attached.", |
| | | "attachedMultipleImageFiles100mb" : "If you attach multiple images at once, you can attach only up to 100MB or less.", |
| | | "limitImageFile" : "Image File Limit", |
| | | "canBeUploadedOnlyImageFiles" : "Only image files can be uploaded. - bmp, jpg, jpeg, png, tif", |
| | | "previewImage" : "Image Preview", |
| | | "nameErrorImageFile" : "Image File Name Error", |
| | | "cannotUploadFileNameSpecialCharacters" : "If the file name contains special characters (;), you cannot upload it.", |
| | | "errorFileUpload" : "Error uploading file", |
| | | "attachmentCapacityExceeded" : "Attachment capacity exceeded", |
| | | "canAttachFileUpTo100mb" : "You can attach files up to 100MB or less.", |
| | | "limitAttachmentExtensions" : "Limit attachment extensions", |
| | | "notAllowedAttachment" : "Attachments are not allowed.", |
| | | "nameErrorAttachment" : "Attachment Name Error", |
| | | "succeededIssueRegistration" : "Issue registration succeeded", |
| | | "failedIssueRegistration" : "Issue registration failed", |
| | | "failedIssueModify" : "Failed to correct issue", |
| | | "failedToProjectDetails" : "Failed to look up project details", |
| | | "failedToUserDefinedFieldListAssociatedLookup" : "Failed to lookup user-defined field list associated with issue type", |
| | | "applyTemplate" : "Apply Template", |
| | | "issueContentIsWrittenApplyTheTemplate" : "Issue content is written. Do you want to apply the template? Once the template is applied, the already created content disappears.", |
| | | "failedIssueStatusCheck" : "Moveable issue status check failed", |
| | | "failedToChangeMultipleIssueStatus" : "Failed to change multiple issue state", |
| | | "completedSavingIssueTable" : "Completed saving issue table settings", |
| | | "saveIssueTableSettingsInformation" : "Issue table settings information has been saved.", |
| | | "failedToSaveIssueTableSetting" : "Failed to save issue table settings", |
| | | "errorRemovableIssueStatusList" : "Error retrieving removable issue status list", |
| | | "errorIssueDetails" : "Error retrieving issue details", |
| | | "failedToRegisterComments" : "Failed to register comments", |
| | | "deleteComments" : "Delete Comments", |
| | | "failedToDeleteComments" : "Failed to delete comments", |
| | | "wantToDeleteTheSelectedComments" : "Are you sure you want to delete the selected comments? Deleted comments cannot be recovered.", |
| | | "failedToGetCommentListData" : "Failed to get comment list data", |
| | | "failedToAttachmentList" : "Failed to look up attachment list", |
| | | "setIssueTableDisplay" : "Set issue table display", |
| | | "columnName" : "Column name", |
| | | "area" : "Area", |
| | | "displayed" : "Displayed", |
| | | "sequence" : "Sequence", |
| | | "cannotChangedIssueTitle" : "Issue title cannot be changed.", |
| | | "selectSendIssueMail" : "Select who will send Issue mail", |
| | | "sendIssueSelectedUsers" : "Send Issue to the selected users.", |
| | | "sendMail" : "Send", |
| | | "changedHistory" : "History details of changed issues", |
| | | "noChangeHistory" : "No issue change information.", |
| | | "changedTime" : "changed Time", |
| | | "changedUser" : "changed User", |
| | | "issueReservation" : "Issue Reservation", |
| | | "issueReservationType" : "Issue Reservation Type", |
| | | "issueReservationDescription" : "You can resubmit your issue on a certain date. <br />This can be useful when you have an issue that needs to be repeated.", |
| | | "everyDay" : "every day", |
| | | "everyWeek" : "every week", |
| | | "everyMonth" : "every month", |
| | | "everyYear" : "every year", |
| | | "scheduledDate" : "Issue scheduled date", |
| | | "monday" : "monday", |
| | | "tuesday" : "tuesday", |
| | | "wednesday" : "wednesday", |
| | | "thursday" : "thursday", |
| | | "friday" : "friday", |
| | | "saturday" : "saturday", |
| | | "sunday" : "sunday", |
| | | "enterOnlyNumbers" : "Only numbers can be entered.", |
| | | "january" : "january", |
| | | "february" : "february", |
| | | "march" : "march", |
| | | "april" : "april", |
| | | "may" : "may", |
| | | "june" : "june", |
| | | "july" : "july", |
| | | "august" : "august", |
| | | "september" : "september", |
| | | "october" : "october", |
| | | "november" : "november", |
| | | "december" : "december", |
| | | "succeededIssueReservation" : "Successfully saved issue reservation", |
| | | "failedIssueReservation" : "Failed to save problem reservation", |
| | | "failedToIssueReservationDetails" : "Failed to check details for problem occurring schedule", |
| | | "succeededIssueMail" : "Issue Mail Shipment Completed", |
| | | "sentToTheSelectedUser" : "An email has been sent to the selected user.", |
| | | "failedIssueMail" : "Issue Mail Shipment Failed", |
| | | "issueVersionLookupFailed" : "Issue version lookup failed" |
| | | }, |
| | | |
| | | "project" : { |
| | | "createProject" : "Create Project", |
| | | "projectKey" : "Project Key", |
| | | "projectStatus" : "Project Status", |
| | | "projectType" : "Project type", |
| | | "projectAdmin" : "Project Manager", |
| | | "projectTeam" : "a project team", |
| | | "modifyProject" : "Modify Project", |
| | | "settingCustomFields" : "Set custom fields", |
| | | "selectCustomField" : "Select a custom field", |
| | | "availableFields" : "Available fields", |
| | | "inUseField" : "Field in use", |
| | | "pleaseEnterProjectName" : "Please enter a project name.", |
| | | "deleteProject" : "Delete Project", |
| | | "wantToDeleteSelectProject" : "Are you sure you want to delete the selected project? Deleted projects cannot be recovered.", |
| | | "notHaveDeletePermissionExistsProject" : "A project does not have delete permission exists.", |
| | | "failedToProjectListLookup" : "Project list lookup failed", |
| | | "failedProjectCreation" : "Project creation failed", |
| | | "saveCompleteFieldManagement" : "Field Management Save Complete", |
| | | "saveUserDefinedFieldAndIssueTypeConnection" : "User-defined fields and issue type connection information have been saved.", |
| | | "failedToSaveFieldManagement" : "Failed to save field management", |
| | | "failedToModifyProject" : "Failed to modify project", |
| | | "failedToProjectDetails" : "Failed to look up project details", |
| | | "failedToProjectMember" : "Project member lookup failed", |
| | | "failedToProjectKeyPattern" : "Invalid project key input value.", |
| | | "limitNameToSpecialCharacters" : "The project name cannot contain special characters." |
| | | }, |
| | | |
| | | "managementStatus" : { |
| | | "managementStatus" : "Status Management", |
| | | "createStatus" : "Create Status", |
| | | "issueStatusName" : "Issue status name", |
| | | "statusProperties" : "Status Properties", |
| | | "createIssueStatus" : "Create Issue State", |
| | | "modifyIssueStatus" : "Modify Issue Status", |
| | | "useInTheWorkflow" : "The issue status is in use in the workflow. The issue status name changes to all workflow plans that use the issue state when renamed.", |
| | | "builtInIssueStatus" : "The issue state cannot be changed.", |
| | | "pleaseEnterIssueStatusName" : "Please enter issue status name.", |
| | | "updateNotStatusProperties" : "You cannot change the status properties after creation.", |
| | | "deleteIssueStatus" : "Delete Issue Status", |
| | | "wantToDeleteSelectIssueStatus" : "Are you sure you want to delete the selected issue status? Deleted issue status cannot be restored.", |
| | | "failedToCreateIssueStatus" : "Failed to create issue state", |
| | | "failedToModifyIssueStatus" : "Failed to modify issue status", |
| | | "failedToIssueStatusDetails" : "Failed to look up issue status details", |
| | | "limitNameToSpecialCharacters" : "The issue state name cannot be a special character." |
| | | }, |
| | | |
| | | "managementWorkflow" : { |
| | | "managementWorkflow" : "Workflow Management", |
| | | "workflowName" : "Workflow Name", |
| | | "createWorkflow" : "Creating a workflow", |
| | | "modifyWorkflow" : "Modify Workflow", |
| | | "deleteIssueStatusInTheUse" : "If you delete a state that is in use, the status of the issue that is currently using the workflow changes to the status property 'Standby'.", |
| | | "statusList" : "Status list", |
| | | "insert" : "insert", |
| | | "startPoint" : "Start Point", |
| | | "endPoint" : "End Point", |
| | | "designNotCompleteWorkflow" : "Workflow design is not complete.", |
| | | "onlyOneStatusPropertyWaitIssueStatus" : "Workflow must have only one status property 'wait' issue state.", |
| | | "onlyOneStatusPropertyProgressIssueStatus" : "The workflow must have at least one status property 'Progress' issue state.", |
| | | "onlyOneStatusPropertyEndIssueStatus" : "The workflow must have at least one status property 'End' issue state.", |
| | | "pleaseEnterWorkflowName" : "Please enter a workflow name.", |
| | | "connectedIssueType" : "Connected Issue Type", |
| | | "notHaveDeletePermissionExistsWorkflow" : "A workflow does not have delete permission exists.", |
| | | "deleteWorkflow" : "Delete Workflow", |
| | | "wantToDeleteTheSelectedWorkflow" : "Are you sure you want to delete the selected workflow? Deleted workflows cannot be recovered.", |
| | | "failedWorkflowListLookup" : "Workflow list lookup failed", |
| | | "failedCreateWorkflow" : "Failed to create workflow creation", |
| | | "failedToModifyWorkflow" : "Failed to modify workflow", |
| | | "failedToWorkflowDetails" : "Failed to look up workflow details", |
| | | "failedToPutIssueStatus" : "Failed to put issue status", |
| | | "onlyOneInTheWorkflow" : "The property 'atmosphere' status issues must be there only one in the workflow.", |
| | | "removeMetastaticLine" : "removal of metastatic lines", |
| | | "removeIssueStatus" : "Remove Issue Status", |
| | | "limitNameToSpecialCharacters" : "Workflow name cannot contain special characters.", |
| | | "excludeWorkflowParticipation " : "Exclude workflow participation", |
| | | "imageDownloadNotSupported" : "Image download not supported", |
| | | "IEDoesNotSupport" : "IE does not support image download." |
| | | }, |
| | | |
| | | "support" : { |
| | | "support" : "Support", |
| | | "supportFAQ" : "Frequently Question", |
| | | "supportQNA" : "Question / Answer" |
| | | }, |
| | | |
| | | "customField" : { |
| | | "createField" : "Create Field", |
| | | "customFieldName" : "User-defined field name", |
| | | "fieldType" : "Field Type", |
| | | "createCustomField" : "Create a custom field", |
| | | "createSingleFieldList" : "Create a single selection field list", |
| | | "createMultiFieldList" : "Creating a multi-selection field list", |
| | | "defaultValue" : "Default Value", |
| | | "selectSingleFieldListHashTag" : "You must use a hashtag when you want to select a value from a single selection field list by default. ex) Target value", |
| | | "selectMultiFieldListHashTag" : "You must use a hashtag when you want to select a value in the multi-select field list by default. ex) destination #destination", |
| | | "modifyCustomFields" : "Modify Custom Fields", |
| | | "pleaseEnterUserDefinedFieldName" : "Please enter a user-defined field name.", |
| | | "deleteUserDefinedFields" : "Delete User-Defined Fields", |
| | | "wantToDeleteSelectUserDefinedFields" : "Are you sure you want to delete the selected custom field? Deleted custom fields cannot be recovered.", |
| | | "duplicateInputValue" : "Duplicate Input Value Notification", |
| | | "alreadyAddedValue" : "The value entered is already added.", |
| | | "failedToCreateUserDefinedFields" : "Failed to create user-defined fields", |
| | | "failedToModifyUserDefinedFields" : "Failed to modify user-defined fields", |
| | | "failedToDetailUserDefinedFields" : "Failed to lookup user-defined field details", |
| | | "limitNameToSpecialCharacters" : "User-defined field names cannot be entered with special characters.", |
| | | "emptyInputValue" : "Confirm Input Value Notification", |
| | | "emptyAddValue" : "No value entered." |
| | | }, |
| | | |
| | | "managementType" : { |
| | | "managementIssueType" : "Issue Type Management", |
| | | "createIssueType" : "Create issue type", |
| | | "modifyIssueType" : "Modify issue type", |
| | | "issueTypeName" : "Issue type name", |
| | | "enterIssueTypeName" : "Please enter issue type name.", |
| | | "managementType" : "Type Management", |
| | | "createType" : "Create Type", |
| | | "typeName" : "Type name", |
| | | "modifyType" : "Modify Type", |
| | | "template" : "Template", |
| | | "registerAnIssueTemplate" : "Can be used in the content field when you pre-populate a template to register an issue.", |
| | | "updateWorkflowIssueStatusStandby" : "If you change a workflow and the state does not exist in the workflow that you want to change, the status of the issue changes to the status property 'Standby' state.", |
| | | "notHaveDeletePermissionExistsIssueType" : "An issue type exists that does not have delete permission.", |
| | | "deleteIssueType" : "Delete issue type", |
| | | "wantToDeleteSelectIssueType" : "Are you sure you want to delete the selected issue type? Deleted issue types cannot be recovered.", |
| | | "failedToIssueTypeList" : "Issue type list lookup failed", |
| | | "failedToCreateIssueType" : "Issue Type Creation Failed", |
| | | "failedToModifyIssueType" : "Issue type modification failed", |
| | | "failedToDetailIssueType" : "Issue type details lookup failed", |
| | | "limitNameToSpecialCharacters" : "Issue type name cannot enter special characters." |
| | | }, |
| | | |
| | | "users" : { |
| | | "temporaryPassword" : "temporary password", |
| | | "guidanceTemporaryPassword" : "Temporary password issue guidance", |
| | | "pleaseMakeSureChangeYourPassword" : "We will issue you a temporary password to change your OWL ITS account password.Please make sure to change your password after logging in.", |
| | | "phoneNumber" : "Phone Number", |
| | | "modifyInformation" : "Update User Information", |
| | | "updatePassword" : "Update Password", |
| | | "setEmailNotificationTime" : "Set Email Notification Time", |
| | | "selectProfileShowOther" : "Please select a profile to show to others.", |
| | | "membershipWithdrawal" : "Membership Withdrawal", |
| | | "signOutNotRecovered" : "When you sign out, all data in the workspace disappears and cannot be recovered.", |
| | | "existingPassword" : "Existing Password", |
| | | "newPassword" : "New Password", |
| | | "confirmNewPassword" : "Verification New Password", |
| | | "checkPassword" : "Check Password", |
| | | "join" : "Free Use", |
| | | "enable" : "Enable", |
| | | "disable" : "Disable", |
| | | "withdrawal" : "Withdrawal", |
| | | "usedAccount" : "Do you already have an account?", |
| | | |
| | | "joinOWLITSMembership" : "OWL ITS Sign Up", |
| | | "enterAnEmail" : "Please enter an email.", |
| | | "enterAnPassword" : "Please enter your PIN number.", |
| | | "pleaseSelectFile" : "Please select a file", |
| | | "invalidEmailFormat" : "Email format is invalid.", |
| | | "enterYourEmailAddress" : "You will be notified by the email you entered. Please enter your e-mail address.", |
| | | "least4CharactersPassword" : "Password must be at least 4 characters long.", |
| | | "enter4CharactersPassword" : "Please enter a password with at least 4 characters.", |
| | | "differentPassword" : "Password is different.", |
| | | "contactedEnterPhone" : "Please enter a phone number that can be contacted.", |
| | | "enterTheNameInWorkspace" : "Enter the name of the built-in workspace.", |
| | | "agreePrivacyPolicy" : "I agree to the privacy policy.", |
| | | "privacyPolicy" : "Privacy Policy", |
| | | "privacyPolicy1" : "Privacy Policy<br><br>Wisestone (hereinafter “Company”) takes protecting its customer’s personal data very seriously, and abides by the Act on the Promotion of Information and Communication Network Utilization and Information Protection, etc. Through the disclosure of this Privacy Policy, the company shall inform you of the methods by which your personal information is being used and its purpose, as well as the measures that are taken to protect such information. This Privacy Policy may be amended in accordance with the amendment of related laws or the company’s internal policy. The company shall notify you through announcements upon update so that you can easily understand the content and reason of amendment.<br>Article 1 (Collection of Personal Information and Purpose of Use)<br>In order to provide the various features of the OWL solution site and OWL-ITS (hereinafter “OWL Services”) in accordance with the Terms of Use to which the customers have agreed, Company shall collect and store the following personal information (hereinafter referred to as a whole as “Personal Information”):<br>(1) Required Fields<br>① Items to be collected when registering for membership: E-mail, Name, Company Name<br>(2) Optional Fields<br>① Picture<br>(3) Information about various transactions and personal tendencies generated and collected during the use of Services or the business process<br>① Records of services use, access log, cookies, IP connection information, payment records, poor usage records<br>(4) Purpose of collection and use<br>① Counseling activities in response to inquiries about services (products)<br>② Membership system service use: Identity confirmation, identity verification, preventing of wrongful and non-approved usage, confirming intention of registration, record keeping for the purpose of dispute resolution, managing petitions such as complaints, and delivering public notices<br>③ Settling fees pursuant to service provision and contract implementation in relation to service provision, and providing customized services (billing emails, payment, etc.)<br>④ Providing services in accordance with statistics for developing new services (products), specialization, advertising events and offering opportunities to participate, verifying the validity of the services, and understanding statistics on access frequency or use of services by members<br>Article 2 (Personal Information Collection Method)<br>Personal information shall be collected only if Users agree through membership registration, user information modification, telephone, email, seminar/questionnaire/registration to events, inquiry and consultation, affiliate inquiries and other information generating tools.<br>Article 3 (Installation and operation of automatic collection device of personal information and its rejection method)<br>Company may install and operate a device that automatically collects “cookies” and website usage records (hereinafter “statistical data”) that store and find customer information whenever customers use the website.<br>(1) What is a cookie?<br>A cookie is a small amount of information that a website sends to a customer’s web browser. When a customer accesses a web page, Company’s computer may read the contents of the cookies in the customer’s browser, and thus offer services without any further input required such as the name of the connection by searching additional information about the customer in the customer’s computer. Customers are able to decide whether to share cookies. Customers may select options concerning cookies in “Tools”> “Internet Options Tab” at the top of their web browser; they may choose to enable all cookies, get a notification when cookies are installed, or disable all cookies. However, if all cookies are disabled, customers may have difficulty in using the services or in providing services.<br>(2) What is statistical data?<br>Statistical data is information that is stored in a specific area in a computer or a terminal when using services such as on the web page or on mobile phones, and is periodically transmitted to Company’s server. Such information is as follows:<br>① Service usage statistics (Network environment in cases of call connection, call cuts, call failure, download execution errors, connection failures and connection time in cases of wired/wireless Internet, etc.)<br>② Usage pattern information (customer’s menu navigation path, mostly used services, service use frequency, records of visits, etc.)<br>(3) Operating Company’s cookies and statistical data<br>Company operates cookies and statistical data for the convenience of customers. Company’s purpose of use concerning cookies and statistical data is as follows:<br>① Track the traces of contents that customers have looked at with interest and provide personalized services during the next visit<br>② Analyze the frequency and duration of registered users and non-registered users to identify customers’ preferences and areas of interest, and analyze the registered users’ habits to use them as a basis during target marketing in case of service reorganization<br>③ Announce usage period while using paid services<br>④ Facilitate uploading posts for inquiries and consultation<br>Article 4 (Using Personal Information and Sharing it with a Third Party)<br>(1) Company shall use and share the personal information of its customer within the scope of the “Notice of Collection and Use of Personal Information” in the membership application form, Terms of Use, and Privacy Policy, and shall not use or provide it beyond such scope. In particular, Company shall use and provide personal information with the following cautions:<br>① Affiliate Relationship<br> Company may provide or share its customers’ personal information with its affiliates for better service. In this case, Company shall individually notify the relevant customers in advance concerning the identify of the affiliates, the nature of items of personal information shall be shared or provided, the reason why personal information should be shared or provided, and the method and period of storage and management. Customers shall be notified through electronic means, telephone, written, fax, or mail, and if such customers were to not agree, personal information shall not be shared or provided to the affiliate.<br>(2) In order to implement contracts for the provision of services, Company may collect and use personal information without the consent of its customers if it is difficult for Company to obtain a usual consent for technical or economic reasons.<br>(3) Pursuant to the provisions of relevant laws and regulations, it is possible to share personal information without the consent of users in the following cases:<br>① When necessary for the settlement of fees for the provision of services<br>② When it is processed and provided in manner unrecognizable by a specific individual and required for statistical writing, academic research or market research<br>③ When there are special regulations in the law such as in the Act on Real Name Financial Transactions and Confidentiality, Credit Information Use and Protection Act, Framework Act on Telecommunications, Telecommunications Business Act, Local Tax Act, Consumer Protection Act, Bank of Korea Act and Criminal Procedure Act<br>④ When there is a request from an investigating agency in accordance with procedures and methods set forth in relevant acts for the purpose of investigation<br>⑤ If customers agree in advance<br>Article 5 (Entrusting the Personal Information Process)<br>(1) In order to facilitate business, such as providing customer convenience and better services, Company may entrust collection, storage, processing, use, provision, management, and destruction (hereinafter “processing”) of customers' personal information to an external professional company.<br>(2) When Company entrusts the processing of customers’ personal information to an external professional company, the details of the entrusted business and the trustee are shown in the following table:<br><Status of Provision and Entrustment of personal information to third party><br>Trustee Nice Information & Telecommunication<br>Entrusted Business Credit card payment<br>Period of Retention and Use Upon membership withdrawal or termination of Entrustment Contract<br>(3) In principle, Company shall not entrust the processing of personal information for purposes other than providing services other than what the customer has agreed to. However, if such need arises, the customer shall be informed of the details of the entrustment services and the trustee, and shall be asked whether he/she gives his/her consent.<br>Article 6 (Use and Storage Period for Personal Information)<br>The personal information that customers agreed to share shall be destroyed without delay once the purpose of collection and usage is reached, provided, however, when it is necessary to preserve it in accordance with laws or internal policies.<br>(1) Membership information may be retained during one (1) year after membership withdrawal in order to minimize damage<br>(2) If the retention period is notified in advance and the consent is obtained, the retention period can be retained.<br>(3) The following table lists the personal information the company keeps pursuant to the statutes and the corresponding statutes.<br>preservation items: records of contracts or contract withdrawal, etc.<br>Evidence Act: Consumer Protection in Electronic Commerce, etc.<br>Retention Period: 5 Years<br>preservation items: records of payment and supply of goods, etc.<br>Evidence Act: Consumer Protection in Electronic Commerce, etc.<br>Retention Period: 5 Years<br>preservation items: records of consumer complaints or dispute handling<br>Evidence Act: Consumer Protection in Electronic Commerce, etc.<br>Retention Period: 3 years<br>preservation items: records of display/advertising<br>Evidence Act: Consumer Protection in Electronic Commerce, etc.<br>Retention Period: 6 Months<br>preservation items: books and vouchers for all transactions specified by the tax law<br>the National Tax Act<br>Retention Period: 5 Years<br>Retention items: records on electronic financial transactions<br>Code of Evidence: Electronic Financial Transactions Act<br>Retention Period: 5 Years<br>Retention items: Service visit history<br>Code of Evidence: Communications Secrets Protection Act<br>Retention Period: 3 Months<br>(4) The company divides the customer's membership account into user accounts and dormant accounts to protect the customer's personal information. If OWL service does not have login or usage details for one year, it is divided into a dormant account to protect the customer's personal information and does not provide the customer's information to its affiliates (partners agreed to by a third party).<br>Article 7 (Putting procedures and methods of destruction of personal information)<br>(1) The customer's personal information is transferred to a separate database (a separate document box in case of paper) for a certain period of time and then destroyed after obtaining consent from the customer.<br>(2) Personal information printed on a piece of paper is destroyed by shredding it with a shredder or incineration, and personal information stored in electronic file forms is deleted using a technical method in which records cannot be reproduced.<br>Article 8 (Customer's rights and methods of exercise)<br>(1) The customer (the legal representative for those under 14 years of age) can access or change the customer's personal information within the OWL service at any time. The customer can request the company to withdraw consent or withdraw from the OWL service for personal information collection and utilization of the customer's personal information under the terms of the service.<br>(2) For customers who wish to access or edit their online subscription information, click \" Member Information\" on the website to view and correct it, or contact the customer center in writing, phone, or e-mail, and we will take action without delay.<br>(3) The company shall confirm the accuracy of the proxy by submitting a letter of attorney, a certificate of personal identification, and an ID card of the proxy, which can verify that the proxy has received the due authorization when the proxy visits and requests confirmation of inspection and certification.<br>(4) If a customer requests correction of a personal information error, the company will not use or provide the personal information until the correction is completed. In addition, the company shall notify the correction result to a third party immediately in case the wrong personal information has been provided to the third party.(5) The customer shall enter the latest personal information accurately and notify the company if any changes are made, and the customer shall be responsible for any changes in customer information that the company does not know because the information is incorrect or has not been notified to the company.<br>(6) In the event a customer enters information that is stolen, violated, or false, the service cancellation and membership qualification may be lost and punished according to the relevant laws, such as the Act.<br>Article 9 (Technical administrative measures for privacy)<br>In order to prevent the loss, theft, leakage, tampering, or damage to customers' personal information, the company is pursuing the following technical and administrative measures:<br>(1) technical measures<br>① We take measures to prevent forgery and forgery of the connection records.<br>② Personal information is managed by applying encryption technology to the level required by the relevant statutes.<br>③ We take measures to prevent damage caused by computer viruses by using antivirus software, and we prevent the infringement of personal information by updating the vaccine program periodically and providing the vaccine upon the sudden appearance of the virus.<br>④ Security devices (SSL, etc.) that send personal information safely on the network using cryptography are adopted.<br>⑤ In preparation for external intrusion, such as hacking, POSCO E&C makes the utmost effort to secure each server by using the intrusion prevention system and vulnerability analysis system.<br>(2) administrative measures<br>① The company implements and implements an internal management plan for personal information protection.<br>② The company restricts access to personal information to a minimum number of employees.<br>③ The company limits the employees handling personal information to those who are responsible for handling personal information and updates them regularly by giving them a separate password. The company always emphasizes compliance with the company's privacy policy through frequent training to those in charge.<br>④ The company is not responsible for what happens due to customer error or the underlying Internet risk. Customers themselves must properly manage their email and password and take responsibility for their own privacy.<br>Article 10 (Contact of the person in charge of personal information protection)<br>The company designates the concerned departments and personal information management managers to protect the customers' personal information and to deal with complaints regarding personal information as follows.<br><Responsible for personal information protection><br>a chief officer: Jeong-Sun Lee Team Leader | an administrative officer: Yu-Jin Kim Assistant Research Engineer<br>department: Testing Solution Center Solution Developer Team<br> jslee1@wisestone.kr<br>If you need to report or consult any other privacy concerns, please contact the following agency:<br>① Personal Information Infringement Reporting Center: tel 118 / email privacy@kisa.or.kr / http://privacy.kisa.or.kr<br>② Accreditation Council for Information Protection Marks: tel 02-580-0533~4 / http://www.eprivacy.or.kr<br>③ Supreme Public Prosecutors' Office Cyber Crime Investigation Team: tel 02-3480-3571 / email cybercid@spo.go.kr / http://www.spo.go.kr<br>④ National Police Agency Cyber Terror Response Center: tel 1566-0112 / http://cyber.go.kr<br>Article 11 (Duty of Notice)<br>The company can modify its Privacy Policy for the purpose of reflecting changes in laws or services. If the privacy policy is changed, the company will post the change, and the changed privacy policy will take effect seven days after the date of posting. However, if there are any significant changes to your rights, we will notify you 30 days in advance of the changes.<br>– Implementation date: November 9, 2018<br><br>", |
| | | "login" : "Login", |
| | | "logout" : "Logout", |
| | | "logInSocialAccount" : "Login as a social account", |
| | | "rememberMe" : "Keep Login in", |
| | | "findPassword" : "Find Password", |
| | | "loginFailed" : "Login failed.", |
| | | "createAccountNow" : "Create an account now!", |
| | | "forgetYourPassword" : "Lost your password?", |
| | | "incorrectEmailFormat" : "Email format is invalid.", |
| | | "sendingYouTemporaryPassword" : "We will send you a <strong class=\"text-primary\">temporary password</strong> in your e-mail.", |
| | | "pleaseEnterPassword4Characters" : "Please enter a password with at least 4 characters.", |
| | | "failedInviteMail" : "Invite mail sent failed", |
| | | "successInviteMail" : "Invite mail sent successfully", |
| | | "welcomeKakTalkMembership" : "Welcome to Kakao Talk membership", |
| | | "signUpMembershipKakTalk" : "To sign up for membership through Kakao Talk, you must choose to provide e-mail information. If you don't agree, please subscribe to another social service.", |
| | | "failedToCreateUser" : "Failed to create user", |
| | | "failedToModifyUser" : "Failed to modify user", |
| | | "failedToRetrieveIssueHistory" : "Failed to retrieve issue history information", |
| | | "proceedWithMembershipWithdrawal" : "Would you like to proceed with membership withdrawal? When you leave the membership, all data in the workspace disappears and cannot be recovered.", |
| | | "successWithdrawalFromMembership" : "Success in withdrawal from membership", |
| | | "failedMemberWithdrawal" : "Member withdrawal failed", |
| | | "completedWithdrawalFromOwlITS" : "Your withdrawal from OWL ITS has been completed.", |
| | | "failedToSelectUserDetail" : "Failed to query user details", |
| | | "notExistUserSession" : "User session does not exist", |
| | | "completedPasswordChange" : "Password change completed", |
| | | "failedPasswordChange" : "Password change failed", |
| | | "temporaryPasswordIssue" : "temporary password issue", |
| | | "failedRequestFindPassword" : "Request to find password failed", |
| | | "duplicateEmail" : "Duplicate email", |
| | | "duplicateEmailEntered" : "Duplicate email entered.", |
| | | "confirmEmailInput" : "Confirm email input.", |
| | | "emailEnteredIncorrectly" : "Email entered incorrectly.", |
| | | "noEmailEntered" : "No email entered." |
| | | }, |
| | | "notice" : { |
| | | "notice" : "Notice", |
| | | "registerNotice" : "Notice Registration", |
| | | "modifyNotice" : "Modify Notice", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedNoticeRegistration" : "Failed to register notice.", |
| | | "failedToLookupNotificationList" : "Failed to look up notification list", |
| | | "failedToModifyNotice" : "Failed to modify notice", |
| | | "failedToLookupNotificationDetails" : "Failed to look up notification details" |
| | | }, |
| | | "manageUser" : { |
| | | "manageUser" : "User Permission Management", |
| | | "manageIssueSystemPerm" : "Issue System", |
| | | "manageUserPerm" : "User", |
| | | "manageNoticePerm" : "Notice", |
| | | "manageFAQPerm" : "FAQ", |
| | | "manageQnAPerm" : "QnA", |
| | | "manageEventPerm" : "Event", |
| | | "manageGuidePerm" : "Guide" |
| | | }, |
| | | "FAQ" : { |
| | | "FAQ" : "FAQ", |
| | | "manageFAQ" : "FAQ Management", |
| | | "registerFAQ" : "FAQ Registration", |
| | | "modifyFAQ" : "Modify FAQ", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedFAQRegistration" : "Failed to register FAQ.", |
| | | "failedToLookupFAQList" : "Failed to look up FAQ list", |
| | | "failedToModifyFAQ" : "Failed to modify FAQ", |
| | | "failedToLookupFAQDetails" : "Failed to look up FAQ details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "QNA" : { |
| | | "QNA" : "QnA", |
| | | "manageQNA" : "QnA Management", |
| | | "registerQNA" : "Question Registration", |
| | | "modifyQNA" : "Modify QnA", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedQNARegistration" : "Failed to register QnA.", |
| | | "failedToLookupQNAList" : "Failed to look up QnA list", |
| | | "failedToModifyQNA" : "Failed to modify QnA", |
| | | "failedToLookupQNADetails" : "Failed to look up QnA details" |
| | | }, |
| | | "event" : { |
| | | "event" : "Event", |
| | | "manageEvent" : "Event Management", |
| | | "registerEvent" : "Event Registration", |
| | | "modifyEvent" : "Modify Event", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedEventRegistration" : "Failed to register Event.", |
| | | "failedToLookupEventList" : "Failed to look up Event list", |
| | | "failedToModifyEvent" : "Failed to modify Event", |
| | | "failedToLookupEventDetails" : "Failed to look up Event details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "guide" : { |
| | | "guide" : "Guide", |
| | | "manageGuide" : "Guide Management", |
| | | "registerGuide" : "Guide Registration", |
| | | "modifyGuide" : "Modify Guide", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedGuideRegistration" : "Failed to register Guide.", |
| | | "failedToLookupGuideList" : "Failed to look up Guide list", |
| | | "failedToModifyGuide" : "Failed to modify Guide", |
| | | "failedToLookupGuideDetails" : "Failed to look up Guide details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "inquiry" : { |
| | | "toInquiry" : "Inquiry", |
| | | "inquiryToOWL" : "Inquiry to OWL ITS", |
| | | "asap" : "I'll answer you as soon as possible.", |
| | | "inquiryGreeting" : "What can I do for you?", |
| | | "contactCompleted" : "Contact completed.", |
| | | "failedToReceiveEnquiry" : "Failed to receive enquiry." |
| | | }, |
| | | "common" : { |
| | | "urgent" : "Urgent", |
| | | "high" : "High", |
| | | "medium" : "Medium", |
| | | "low" : "Low", |
| | | "critical" : "Critical", |
| | | "major" : "Major", |
| | | "minor" : "Minor", |
| | | "trivial" : "Trivial", |
| | | "save" : "Save", |
| | | "saved" : "Saved", |
| | | "close" : "Close", |
| | | "search" : "Search", |
| | | "reset" : "Reset", |
| | | "uploadExcel" : "Upload Excel", |
| | | "create" : "Create", |
| | | "cancel" : "Cancel", |
| | | "submit" : "Submit", |
| | | "modify" : "Modify", |
| | | "dashboard" : "Dashboard", |
| | | "workspace" : "Workspace", |
| | | "project" : "Project", |
| | | "issue" : "Issue", |
| | | "setting" : "Setting", |
| | | "user" : "User", |
| | | "workflow" : "Workflow", |
| | | "updateIssueStatus" : "Change Issue Status", |
| | | "changeReason" : "Reason for change", |
| | | "failedToIssueStatusListLookup" : "Failed to look up issue status list", |
| | | "customField" : "Custom fields", |
| | | "select" : "Select", |
| | | "checkAll" : "Select All", |
| | | "unCheckAll" : "Clear All", |
| | | "send": "Send", |
| | | "selected" : "Selected", |
| | | "selectable" : "Selectable", |
| | | "password" : "Password", |
| | | "information" : "Information", |
| | | "noData" : "No Data Available", |
| | | "name" : "Name", |
| | | "status" : "Status", |
| | | "email" : "E-mail", |
| | | "few" : " a few", |
| | | "userNum" : " Count", |
| | | "selectedSearchCriteria" : "Selected search criteria", |
| | | "detailedSearch" : "Detailed search", |
| | | "type" : "Type", |
| | | "priority" : "Priority", |
| | | "importance" : "Severity", |
| | | "assignee" : "Assignee", |
| | | "register" : "Register", |
| | | "startDate" : "Start Date", |
| | | "endDate" : "End Date", |
| | | "english" : "English", |
| | | "korean" : "Korean", |
| | | "japaneseLanguage" : "Japanese", |
| | | "vietnamese" : "Vietnamese", |
| | | "add" : "Add", |
| | | "addFunction" : "Additional functions", |
| | | "downloadExcel" : "Download Excel", |
| | | "importExcel" : "Excel Import", |
| | | "registerExcelUploadIssue" : "Register Excel upload issue", |
| | | "delete" : "Delete", |
| | | "checkPurgingTargets" : "Check for purging targets", |
| | | "selectDestinationDeletion" : "Please select a destination for deletion.", |
| | | "deleteFailed" : "Delete failed", |
| | | "deleteSucceeded" : "Delete succeeded", |
| | | "content" : "Content", |
| | | "selectTarget" : "Select Target", |
| | | "period" : "Period", |
| | | "attachFiles" : "Attach Files", |
| | | "selectFile" : "Select File", |
| | | "changeDate" : "Change date", |
| | | "lastChangeDate" : "Recent Change Date", |
| | | "registrationDate" : "Registration Date", |
| | | "fullView" : "Full view", |
| | | "comments" : "Comments", |
| | | "record" : "Record", |
| | | |
| | | "noAssignee" : "No one is in charge.", |
| | | "noContent" : "No content.", |
| | | "noRecord" : "No record.", |
| | | "noComments" : "There are no comments.", |
| | | "noAttachedFile" : "There is no attached file.", |
| | | "noValueEntered" : "No value entered.", |
| | | "noValueSelected" : "No value selected.", |
| | | "writeWaring2" : "<li>The Subject column can contain up to 300 characters.</li><li>The Content column can contain up to 5000 characters.</li><li>The Project column must enter a project key.<dl><dt>The project keys can be found in the list of projects.</dt></dl></li><li>The project keys can be found in the list of projects.<dl><dt>The type name can be found in the Type list.</dt></dl></li><li>Only one of the Priority columns must be entered: Low, Normal, or High.</li><li>You must enter only one of the following columns: Low, Normal, or Critical.</li><li>The person in charge can be designated as an email.<dl><dt>To specify multiple contacts, you can register separated by #.</dt><dt>ex) wisestoneowl@gmail.com#support@wisestone.kr </dt><dt>The appropriate person should be involved in the project for the issue you are registering.</dt></dl></li><li>The start date must be in the following format:<dl><dt>Date Input Value Result 2018-11-22 10:30:00 AM O </dt></dl></li><li>Starting with J column, this is a custom field. You must enter the desired field value.<dl><dt>You can enter up to 100 characters if the custom field is a string input field.</dt><dt>If that custom field is a multi-select field, you can enter multiple values using #.</dt><dt>ex) If the option is a cat, dog, or rabbit, to determine the price of a cat and a rabbit <span class=\"fc-blue\">Cat#Rabbit</span>Must be entered as shown in. </dt></dl></li>", |
| | | "color" : "Color", |
| | | "activityLogs" : "Activity details", |
| | | "updatableStatus" : "Changeable State", |
| | | "testCase" : "Test Case", |
| | | "updateStatus" : "Change Status", |
| | | "tcmProject" : "Test Case Management Project", |
| | | "btsProject" : "Issue Management Project", |
| | | "projectName" : "Project Name", |
| | | "setParticipatingInProject" : "Set up the users who are participating in the project.", |
| | | "noUpdatedStatus" : "No status can be changed.", |
| | | "wait" : "Wait", |
| | | "progress" : "Progress", |
| | | "end" : "End", |
| | | "choose" : "Select.", |
| | | "stringField" : "String field", |
| | | "multipleSelectionField" : "Multiple Selection Fields", |
| | | "singleSelectionField" : "Single Selection Field", |
| | | "detailInformation" : "Detail Information", |
| | | "beginEnglishTheProject" : "The project key must begin with English.", |
| | | "least3Characters" : "You must enter at least 3 characters.", |
| | | "upTo10Characters" : "You can enter up to 10 characters.", |
| | | "upTo20Characters" : "You can enter up to 20 characters.", |
| | | "upTo15Characters" : "You can enter up to 15 characters.", |
| | | "upTo50Characters" : "You can enter up to 50 characters.", |
| | | "upTo100Characters" : "You can enter up to 100 characters.", |
| | | "profile" : "Profile", |
| | | "profilePicture" : "Profile photo", |
| | | "thisWeek" : "this Week", |
| | | "lastWeek" : "last Week", |
| | | "last7Days" : "last 7Days", |
| | | "thisMonth" : "this Month", |
| | | "lastMonth" : "last Month", |
| | | "last30Days" : "last 30Days", |
| | | "directInput" : "Direct input", |
| | | "pleaseEnterComments" : "Please enter comments...", |
| | | "overallIssueHandlingStatus" : "Overall issue handling status", |
| | | "emailCannotBeChanged" : "Email cannot be changed.", |
| | | "companyInformation" : "WISESTONE Co., Ltd.<br/>BRN : 220-87-50221 <span>|</span> CEO : Young-Seok Lee <br/>H.Q : 6F Namgang Bldg, 291 Gangnamdaero, Seochogu Seoul, Korea", |
| | | "companyInformation2" : "WISESTONE Co., Ltd. <span>|</span> BRN : 220-87-50221 <span>|</span> CEO Young-Seok Lee<br/>H.Q : 6F Namgang Bldg, 291 Gangnamdaero, Seochogu Seoul, Korea <!--<span>|</span> --><span>|</span> E-mail: <a href=\"mailto:supportowl@wisestone.kr\">supportowl@wisestone.kr </a><br/><small>CopyRight WISESTONE All rights reserved.</small>", |
| | | "noImage" : "There are no attached images", |
| | | "failedLanguageChange" : "Language change failed", |
| | | "notSelectedLanguage" : "Language not selected.", |
| | | "exceedsMaximumUsersWorkspace" : "Workspace Exceeds Maximum Users", |
| | | "deleteParticipatingWorkspaceReminder" : "Reminder to delete participating workplace", |
| | | "failedToUpdateParticipatingSessions" : "Failed to update participating sessions", |
| | | "disableParticipationWorkspace" : "Participation Workspace Disable Notification", |
| | | "disableParticipationWorkspaceMessage" : "You have been excluded from the workspace you are currently using.", |
| | | "alertsAboutSystem" : "About System Alerts", |
| | | "newAlert" : "We have a new alert.", |
| | | "pleaseWait" : "Please wait...", |
| | | "createIssue" : "Creating an Issue", |
| | | "updateIssue" : "Change the issue", |
| | | "deleteIssue" : "Delete Issue", |
| | | "updateTitle" : "Title has changed.", |
| | | "updateContent" : "The contents have been changed.", |
| | | "updateProject" : "The project has been changed.", |
| | | "updateSeverity" : "Severity has changed.", |
| | | "updatePriority" : "The priority has been changed.", |
| | | "updateHasStatus" : "The status has changed.", |
| | | "updateHasStatusReservation" : "The status has changed because the issue has been scheduled to occur.", |
| | | "updateWorkflowNotExist" : "The status of the issue has changed because the changed workflow does not exist.", |
| | | "updateIssueType" : "Issue type has been changed.", |
| | | "updatePeriod" : "The period has changed.", |
| | | "unspecified" : "Unspecified", |
| | | "updateAssignee" : "The representative has been changed.", |
| | | "none" : "None", |
| | | "updateAttachment" : "Attachment has been changed.", |
| | | "deleteAttachment" : "Attachments have been deleted", |
| | | "registerAttachment" : "Attachments have been registered.", |
| | | "updateCustomField" : "Custom fields have been changed.", |
| | | "updateIssueCustomField" : "Custom field option values have changed for the issue.", |
| | | "updateIssueCustomFieldType" : "The custom field type has changed the value of the custom field for the issue.", |
| | | "continue" : "To continue", |
| | | "failedToUserListLookUp" : "Failed to look up user list", |
| | | "failedToProjectListLookUp" : "Project list lookup failed", |
| | | "failedToWorkflowListLookUp" : "Workflow list lookup failed", |
| | | "title" : "Title", |
| | | "number" : "Number", |
| | | "m" : "M", |
| | | "d" : "D", |
| | | "emptyUser" : "No person is available for selection", |
| | | "emptyProject" : "No projects are available for selection." |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | { |
| | | "dashboard" : { |
| | | "downloadToImage" : " イメージでダウンロード", |
| | | "downloadToExcel" : " エクセル·ダウンロード", |
| | | "remainedIssue" : "残り イシュー", |
| | | "delayedIssue" : "遅延した イシュー", |
| | | "allocatedIssue" : "割り当てられた イシュー", |
| | | "registeredIssue" : "登録した イシュー", |
| | | "unallocatedIssue" : "ミハルダン イシュー", |
| | | "completionIssue" : "完了 イシュー", |
| | | "processingRate" : "処理率", |
| | | "dailyAverage" : "1日平均", |
| | | "inProgressStatusOfProject" : "進行中のプロジェクトの現状", |
| | | "progressProject" : "進行プロジェクト", |
| | | "issueAll" : "全体イシュー", |
| | | "projectProgress" : "プロジェクト進行率", |
| | | "admin" : "管理者", |
| | | "progressPercent" : "進行率", |
| | | "teamMember" : "チームメンバー", |
| | | "assignedToMeIssue" : "私に割り当てられたイシュー", |
| | | "assignedTodayIssue" : "今日割り当てられたイシュー", |
| | | "progressingIssue" : "進行中の問題の一覧", |
| | | "issueName" : "イシュー名", |
| | | "managementRisk" : "危険管理", |
| | | "updateIssueAndStatusUpdate" : "頻繁な担当者の変更や頻繁な状態の変更など, 問題の処理に危険要素があると見られるイシューリスト", |
| | | "reversalStatusUpdate" : "覆面変更", |
| | | "reversalAssigneeUpdate" : "頻繁な担当者の変更", |
| | | "division" : "仕分け", |
| | | "registeredByMeIssue" : "私が登録した問題現況", |
| | | "registeredTodayIssue" : "今日登録したイシュー", |
| | | "delayingIssue" : "遅延中のイシュー", |
| | | "delayDate" : "遅延日", |
| | | "statusOfIssues" : "状態別イシュー現況", |
| | | "doesNotExistWorkflow" : "ワークフローがありません。", |
| | | "progressByMember" : "メンバー別進行率", |
| | | "assignedIssue" : "担当イシュー", |
| | | "delaying" : "遅延中", |
| | | "myIssueStatus" : "私のイシュー現況", |
| | | "complete" : "完了", |
| | | "registration" : "登録", |
| | | "assigned" : "担当", |
| | | "failedDashboardWidgetLookup" : "ダッシュボードのウィジェット照会に失敗", |
| | | "failedToTotalIssueHandling" : "問題処理で失敗", |
| | | "notSupportedImageDownload" : "イメージダウンロードは不支援", |
| | | "ieNotSupportedImageDownload" : "IE では,イメージダウンロードはサポートしません。", |
| | | "overallIssueHandlingStatusPNG" : "全問題処理の現況.png", |
| | | "excludeWorkspaceParticipation" : "業務空間への参加は除外", |
| | | "failedToListOfPendingIssuesLookup" : "遅延中のイシューリスト照会に失敗", |
| | | "statusOfIssuesPNG" : "状態別イシュー現況.png", |
| | | "failedToCheckProgressMember" : "メンバー別の進行率照会に失敗", |
| | | "failedToListOfIssueAllocatedLookup" : "自分に割り当てられた問題リスト照会に失敗", |
| | | "failedToListOfIssueRegisteredLookup" : "私が登録したイシューリスト照会に失敗", |
| | | "failedToRiskManagementIssueLookup" : "危険管理イシュー照会に失敗", |
| | | "issueTypeStandIssues" : "イシュー·タイプ別イシュー現況", |
| | | "workspaceExpire1" : "ご使用の業務空間", |
| | | "workspaceExpire2" : "使用期間が", |
| | | "workspaceExpire3" : "日残りました。", |
| | | "workspaceExpire4" : "の使用期間が満了しました。", |
| | | "extensionServicePeriod" : "使用期間の延長" |
| | | }, |
| | | |
| | | "managementWorkspace" : { |
| | | "managementWorkspace" : "ワークスペース 管理", |
| | | "myWorkspace" : "私の業務空間", |
| | | "workspaceInformation" : "業務空間情報", |
| | | "serviceStatus" : "サービス状態", |
| | | "numberOfUsers" : "ユーザー数", |
| | | "pleaseEnterNumberOfUsers" : "ユーザ数を入力してください。", |
| | | "inviteUser" : "使用者招待", |
| | | "invite" : "招待", |
| | | "emailAddress" : "Eメールアドレス", |
| | | "useStorageSize" : "使用容量", |
| | | "usageTraffic" : "使用トラフィック", |
| | | "duration" : "使用期間", |
| | | "inUse" : "使用中", |
| | | "expiredUse" : "使用満了", |
| | | "projectToInvolved" : "参加させるプロジェクト", |
| | | "daysLeft" : " 一余)", |
| | | "daysLeftUnlimited" : "無制限", |
| | | "pay" : "決済", |
| | | "paymentInformation" : "決済情報", |
| | | "cardNumber" : "カード番号", |
| | | "FirstTwoDigits" : "前2位", |
| | | "validity" : "有効期間", |
| | | "dateOfOnesBirth" : "生年月日", |
| | | "exampleBirthInput" : "生年月日は6席で入力してください。", |
| | | "brn" : "(事業者番号)", |
| | | "agreeMyPersonalInformation" : "本人の個人情報を決済サービス会社に提供することに同意します。", |
| | | "termsAndConditions" : "約款", |
| | | "agreeToMakeThePayment" : "に同意されてこそ決済が可能です。", |
| | | "productInformation" : "商品情報", |
| | | "paymentType" : "決済パターン", |
| | | "paymentMethod" : "決済手段", |
| | | "paymentDate" : "決済日", |
| | | "monthly" : "毎月", |
| | | "yearly" : "毎年", |
| | | "creditCard" : "クレジットカード", |
| | | "paymentAmount" : "決済金額", |
| | | "includesVAT" : "(付加細胞箱)", |
| | | "regularPayment" : "定期決済", |
| | | "regularPaymentInformation" : "定期決済情報", |
| | | "paymentScheduledAmount" : "決済予定金額", |
| | | "priceInformation" : "価格情報", |
| | | "1to10People" : "1~10人", |
| | | "11orMore" : "11人以上 ~", |
| | | "perPerson" : "一人当たり", |
| | | "cancelRegularPayment" : "定期決済の取り消し", |
| | | "updateRegularPayment" : "定期決済変更", |
| | | "joinStatus" : "参加状態", |
| | | "paymentCompleted" : "決済が完了しました。", |
| | | |
| | | "scheduleUserWaitingToJoin" : "参加待機者の予約", |
| | | "schedulePeopleWaitingToParticipate" : "決済するユーザー数が減る場合,参加待機状態になるユーザーを前もって予約することができます", |
| | | "privacyPolicyAndTermsOfUse" : "個人情報の処理方針及び利用約款", |
| | | "termsOfUse" : "利用規約", |
| | | "termsOfUse1" : "第1条(目的)<br>本約款は株式会社ワイズストーン(以下\"会社\"といいます)が提供するOWLサービス(OWL solutionサイトおよびOWL ITS以下\"OWLサービス\")の利用関連で,会社と会員との権利,義務および責任事項,利用条件および手続きなどの必要事項を規定することを目的とします。<br> <br>第2条(定義)<br>この約款で使用する用語の定義は次のとおりです。<br>(1) \"サービス\"とは,実装される端末(パソコン,携帯型端末機等の各種有無線装置を含む)に関わらず,\"会員\"が利用できるOWLサービスと関連する諸サービスを意味します。<br>(2) \"OWL ITS\"とは,\"会員\"と構成員間で業務を進めながら発生する様々な問題をシステムに登録し,進行状況を記録するプラットフォームを意味します。<br>(3) \"会員\"とは,会社の\"サービス\"に接続し,この約款に基づき\"会社\"と利用契約を締結し,\"会社\"が提供する\"サービス\"を利用する顧客のことを言います。<br>(4) \"暗証番号\"とは,\"会員\"が付与されたメールアドレスと一致する\"会員\"であることを確認し,秘密保護のため\"会員\"自身が定めた文字または数字の組み合わせを意味します。<br>(5) \"構成員\"とは,\"会員\"から\"OWL ITS\"の利用権限を付与され,\"会員\"の管理の下,\"OWL ITS\"を利用する者を意味し,\"会員\"から付与された権限により,次のとおり\"業務空間管理者\"および\"一般構成員\"に区分されます。ただし,\"会員\"が\"業務空間管理者\"の場合\"構成員\"は\"一般構成員\"に区分されます。<br>(6) \"業務空間管理者\"とは,\"OWL ITS\"の自らの業務空間について全ての管理機能を利用でき,\"OWL ITS\"の利用契約を解約できる\"会員\"の本人を意味します。<br>(7) \"一般構成員\"とは,特に管理権限を持たないまま,\"OWL ITS\"を利用する\"構成員\"を意味します。<br>(8) \"アカウント\"とは,\"会員\"がOWLサービスを利用するために必要な電子メールアドレスおよび\"暗証番号\"を基礎として生成されたログイン\"アカウント\"や他のサービスと連動されるサービスのアカウントを意味します。<br>(9) \"業務空間\"とは,\"OWL ITS\"を利用するために生成されたサービスアカウントで協業が可能な空間を意味します。 \"会員\"の\"アカウント\"は様々な業務空間に属することができます。<br>(10) \"掲示物\"とは,\"会員\"が\"サービス\"を利用するにあたり,\"サービス\"上に掲示した符号·文字·動画などの情報形態の文章,写真,動画および各種ファイルとリンクを意味します。<br>(11) \"商品\"とは,\"会員\"が\"サービス\"の円滑な利用のため,\"会社\"が指定した料金制により,\"会員\"が選択し,契約したサービス一種類を意味します。\"会員\"に選べる\"商品\"は料金支払いが必要ない無料商品と利用料金を支払う有料商品で,会員様に提供できます。<br>(12) \"決済\"とは,\"会員\"が\"OWL ITS\"の有料機能を利用するために費用を\"会社\"に支給することを意味します。<br>(13) \"定期決済\"とは,毎月,自動決済日に利用料金が\"決済\"され,OWL ITS 有料機能を利用できる方法のことです。<br>(14) \"即時決済\"とは,一過性の\"決済\"により,決済日の間に\"一般構成員\"を直ちに追加するための\"決済\"方式を意味します。<br> <br>第3条(約款掲示と改正)<br>(1) 会社は,本約款の内容を会員様が分かりやすいよう,OWLサービスの初期画面に掲示します。<br>(2) 会社は必要な場合,関連法令に違反しない範囲内で本約款を変更することができます。<br>(3) 会社が本約款を改正する場合には,適用日および改正事由を明示し,現行の約款と共にOWLサービスの告知事項の掲示板に適用日付15日前から適用日付の前日まで公示します。 但し,やむを得ず会員様に不利な内容に約款が改正される場合には,告知の他に会員が会員加入時に記載したメールアドレスに電子メール発送,ログイン時のお知らせ,ポップアップ ウィンドウなどの電子的手段によって適用日付30日前に別途,明確に通知します。<br>(4) 会社が前項によって改正約款を公知または通知しながら,会員に30日以内に意思表示をしなければ,意思表示が表明されたものとみなすという意味を明確に公知または通知したにもかかわらず,会員が明示的に拒否の意思表示をしない場合,会員が改正約款に同意したものと考えます。<br>(5) 会員様が改正約款に同意しない場合,会社は改正約款の内容を適用することができず,その場合会員は利用契約を解約することができます。 但し,既存の約款を適用できない特別な事情がある場合,会社は利用契約を解除することができます。<br> <br>第4条(約款外準則)<br> 本約款に明示されていない事項は,電気通信基本法,電気通信事業法及びその他の関連法令の規定,本約款の趣旨及び同種業界の一般的な慣行に従って解釈し適用します。<br><br>第5条(利用契約締結)<br>(1) OWLサービスの利用契約は,会員になろうとする者が本約款の内容に同意し,メールアドレスとパスワードを登録した後,会員加入申請をすれば会社がメールアドレス有効認証後に承諾することで締結されます。<br>(2) アカウントに登録されたメールアドレスは変更できません。<br>(3) 加入後,明示的にサービスを解約するまではいつでも構成員の追加およびサービス利用期間追加申請/決済し,サービスを利用することができます。<br>① 利用契約満了後に利用できる機能は一部制限的であり,1ヶ月経過後にサービス利用情報が削除されます。<br>(4) 会社は無料で提供されるサービスの一部または全部を会社の政策および運営の必要性から修正,中断,変更することができ,これについて関連法に特別な規定がない限り会員に別途の補償をしません。<br>(5) 会社は次の各号に掲げる申込については承諾を行わなかったり,事後に利用契約を解除したりすることができます。<br>① 本約款第10条第3項により会社が利用契約をして地下だった会員が再び会員加入申請をする場合<br>② 他人の個人情報を利用した場合<br>③ 偽りの情報を記載したり,会社が必須事項として提示した情報を記載しない場合。<br>④ その他の関連法令に反したり細部指針など会社が定めた基準に反する場合<br> <br>(6) 会社は以下の各号の場合には会員加入申請者のアカウント生成を留保することができます。<br>① 提供サービスの設備容量に現実的な余裕がない場合<br>② サービス提供のための技術的な部分に問題があると判断される場合<br>③ その他の会社が財政的かつ技術的に必要であると認める場合<br> <br>第6条(会員情報の管理)<br>(1) ·会員のアカウント,パスワードに対する管理責任は会員様にあり,これを第三者が利用することを許諾することはできません。<br>(2) 会員様はアカウントおよびパスワードが盗用されたり,第三者が使用していることを認知した場合には,直ちに会社に通知し,会社の案内に従わなければなりません。<br>(3) 前項の場合には,当該会員が会社に該当事実を通知しなかったり通知した場合でも,会社の案内に従わなかったりしたため発生した損害に対して会社は責任を負いません。<br>(4) 会員様はOWLサービス内のアカウント管理機能を通じて,いつでも個人情報を閲覧,修正することができます。 会員様が本人の情報を適切に修正していないために発生する不利益に対して会社は責任を負担しません。<br> <br>第7条(会社の義務)<br>(1) 会社はOWLサービスの提供及びセキュリティに関連する設備を持続的かつ安定的なサービス提供に適するよう維持,点検または復旧などの措置を誠実に履行するために努めます。<br>(2) 会社は会員様が受信同意を行っていない営利目的の広告性電子メール,お知らせメッセージなどを発送しません<br>(3) 会社はOWLサービスの提供と関連して知り合った会員様の個人情報を本人の承諾なく第3者に漏えい,配布せずにこれを保護するために努めます。 ·会員の個人情報保護に関するその他の事項は,情報通信網法及び会社が別途定めた\"個人情報処理方針\"に従います。<br><br>第8条(会員の義務)<br>(1) 会員は下の各号の行為をしてはいけません。<br>① 会員加入申請または会員情報変更時虚偽内容の登録<br>② 他人の情報盗用<br>③ 会社の掲示された情報の変更<br>④ 会社が定めた情報以外の情報(コンピュータプログラム等)などの送信または掲示。<br>⑤ 会社とその他の第三者の著作権等知的財産権を侵害する行為<br>⑥ 会社およびその他第3者の名誉を傷つけたり,業務を妨害する行為<br>⑦ 猥褻または暴力的なメッセージ,画像,音声,その他の公序良俗に反する情報をOWLサービスに公開または掲示する行為<br>⑧ 会社の同意なしに営利を目的にOWLサービスを利用する行為<br>⑨ 他のサービス利用者の情報を無断で収集,利用,または他人に提供すること<br>⑩ 会社の同意なしにOWLサービスまたはこれに含まれるソフトウェアの一部をコピー,修正,配布,販売,譲渡,貸与,担保提供,または他人にその利用を許す行為と,ソフトウェアを逆設計したり,ソースコードの抽出を試みるなど,OWLサービスをコピー,分解または模倣したり,その他変更したりする行為<br>⑪ 会社が案内する方法以外の他の方法を使ってOWLサービスにアクセスする行為<br>⑫ 本人と関連のないOWLサブドメインを生成·先取りして他人のOWLサービス使用を妨害する行為<br>⑬ 自らのOWLサービス利用権限その他の利用契約上の地位を他者に譲渡·贈与したり担保に提供する行為<br>⑭ その他不法であったり不当な行為<br> <br>(2) 会員様が関連する法令,本約款,または\"細部指針\"を遵守しない場合,会社は会員様の違反行為などを調査したり,会員様のOWLサービスの利用を一時または継続して中断したり,再加入に制限を置くこともできます。 これによる解約後発生した情報損失に対する責任は会員様にあります。<br>(3) 会社は関連法令で定める期間中に会員がサービスを利用するためにログインまたは接続した記録がない場合,会員が登録したOWLアカウントメールアドレスなど,その他の有効な手段で通知後,皆様の情報を破棄または分離保管することができ,このためOWLサービス利用のための必須的な情報が不足する場合,利用契約が解約されることもあります。<br>(4) 会員様は有料サービス利用の見返りとして,本約款に基づき会社が定めた料金を納付する義務があり,料金未納によって発生する問題に対して会社の過失や会社が認めた事由による場合を除いて全ての責任は会員様にあります。<br> <br>第9条(サービスの変更及び中断)<br>(1) 会社はOWLサービスを365日,24時間休まずに提供するために最善を尽くします。 ただし,装備の維持·保守のための定期または臨時点検または他の相当な理由でサービスの提供が一時中断されることがあり,この場合,あらかじめサービス提供画面に公示します。 もし,会社としても予測できない理由でOWLサービスが中断されたときには,会社が状況を把握すると同時に,最大限早期にサービスを復旧するように努めます。<br>(2) 会社は運営上,技術上の必要によってOWLサービスの全部または一部内容を変更または中断することができ,サービスの変更または中断前にOWLサービスの初期画面または告知事項欄に掲示して会員に公示します。 会員様に重大な影響を及ぼすサービスの変更事項や中断は,公知の他に会員が会員加入の際に登録したメールアドレスに電子メール発送,ログインの際,お知らせ,ポップアップ,または同意ウィンドウなどの電子的手段を通じて適用日30日前に別途,明確に通知します。<br>(3) 会社は次の場合にはOWLサービスの提供を中止することができます。<br>① 国家非常状態,サービス設備の障害,サービス利用の輻輳など正常なサービスに支障を来たすおそれがある場合<br>② 天災地変など会社が避けられない理由でサービスの提供が事実上不可能な場合<br>③ 電気通信事業法に規定された基幹通信事業者が電気通信サービスを中止した場合<br> 第10条(システム改善による顧客データ移転)<br><br>(1) 会社は大規模システムの改善など不可避の場合,顧客の同意や申請手続きなしに既存のシステムに保存された顧客のデータを新規システムに移転し,サービスを提供することができます。<br> <br>第11条(サービス解約)<br>(1) サービス加入解約には会員のサービス解約申請による解約と会社の直権による解約があります。<br>(2) 会員は,いつでもOWLサービス内に提供されるメニューを利用してサービス解約を申し込むことができ,業務空間の解約時にのみ,下記に各号に従って処理されます。<br>① 業務空間のサービス解約は,当該業務空間の管理者のみ可能です。<br>② 有料機能が含まれた業務空間契約解除の際は,自動的に定期決済の連動が取り消されます。<br>(2) 会社は関連法令が定めるところにより,利用契約の解約申請を迅速に処理します。 但し,決済周期が月単位で設定された定期決済の場合は以下の各号により契約解除が処理されます。<br>① 月単位の場合は,当月の定期決済日にサービス契約の解約が処理されます。<br>② 会員様がサービス契約の解約を申し込んだ日が当月の定期決済日の到来前であれば,残りの使用期間がすべて消尽してから契約の解約が処理されます。 そして,その残った使用期間の間,会員はOWLサービスを正常に利用することができます。<br>(3) 有料サービスを利用している会員は,OWLサービスの会員離脱の前に,OWLサービス内で本人が作成した掲示物を直接削除しなければなりません。 但し,会員本人が開設した業務空間がサービス解除になった場合には,掲示物全部の自動削除されます。<br>(4) 一般構成員の会員が掲示物を削除せずに会員脱退をする場合,OWLサービスの業務空間内に掲示物は削除されず残っていることになるので,脱退前に注意深く確認しなければなりません。<br>(5) 利用契約が解約された場合,会員が削除しなかった掲示物および関連法令および個人情報の処理方針に従って会員の一定の情報を保有する場合を除いては会員の情報はすべて削除されます。<br>(6) 会員様が本約款第8条第1項に違反した場合,重大な違反により会社は該当会員に対して利用契約を解除することができます。 この場合,会社は脱退処理前に処理事由および詳細を記載し,会員様のOWLアカウントメールアドレスに電子メールを発送し,通知します。会員様は会社の通知を受けた日から30日以内に異議を申し立てることができ,会社は会員の異議が正当であると認めた場合,会員とのサービス利用契約を再開します。<br>第12条(資料の保管)<br>(1) 利用契約期間が満了した会員の資料は,期間満了日から1ヶ月保管を原則とし,1ヶ月以内に期間延長商品を購入しない場合,データが削除されます。<br>(2) 無料サービスを利用している会員様の資料は,サービスの解約後,直ちに削除します。<br>(3) 次の場合,利用契約期間の満了または加入解約された会員の資料を継続して保管することができます。<br>① 会社が加入解約申請会員の料金など履歴確認のため一定期間情報提供が必要と判断される場合<br>(4) サービス利用で発生した資料のうち,作業ログは6カ月間保管され,以前の作業ログは自動的に削除されます。<br> <br>第13条(情報の伝達)<br>(1) 会社は会員様の同意のもと,サービスの新規機能および各種有用な情報を会員が登録した電子メールまたは文字メッセージを通じて会員様に送信することができます。<br>(2) 会社はサービスの利用期間の満了時点,解約案内のような必須の伝達情報を会員の同意とは関係なく会員に送信できます。<br> <br>第14条(サービス利用の停止)<br>(1) 会社は会員様が本約款上,義務に反したり,OWLサービスの正常的な運営を妨害したりした場合には,これに対する改善を要求でき,改善されない場合は事前の通知なくサービスの利用を停止させることができます。会社は会員様の帰責事由が解消されたと判断された場合,サービスを再開することができます。<br>(2) OWLサービス利用停止期間はOWLサービス提供期間に含まれます。<br> <br>第15条(商品の説明)<br>(1) OWLサービス商品は,会員が他の会員との協業のために生成する業務空間に適用され,管理者権限を持つ構成員によって商品を購買することができます。<br>(2) 会員様が業務空間を生成した場合,無料商品であるFREE(無料体験)に加入し,無料商品の条件である業務空間の容量や構成員の数などの制約を超える場合,有料商品を購入し,サービス利用に対する制約を解決することができます。<br>(3) 会社が提供する商品の種類と価格などの案内はサービスの提供 インターネットサイト (www.owlsolution.io) に告示掲載します。<br> <br>第16条(商品の契約)<br>(1) 商品の契約は,業務空間構成員の中から管理者権限を持つ管理'者が会社が提示する商品を申請し,指定された決済手段を利用して決済が完了すれば,契約が締結されます。<br>(2) 業務空間は会社が商品利用申請を承諾した時点から商品に該当する使用量を利用することができます。 この時点は有料商品を決済して商品を変えた後を意味します。<br>(3) 有料商品への変更申請は利用代金の決済完了と同時に行われます。<br>(4) 有料商品を無料商品に変更することは不可能です。<br> <br>第17条(料金の計算)<br>OWLサービスの利用料の課金開始日は会社がサービスの申請を承諾した時点からです。<br>(1) 1日料金の計算は00時00分から24時00分までを1日とし,サービス提供の開始時間または終了時間が1日の中途の場合には,これを1日とみなします。<br>(2) ·会員様は,OWLサービスの有料サービス機能を申請する際,月または年単位の定期決済方式のみ選択することができます。<br>① 有料サービス決済の際,ユーザー数に応じて料金が定められます。<br>② 有料サービスは決済したユーザー数以内の会員を活性化して使用することができます。<br>③ 有料サービス使用中,ユーザー追加による決済が可能です。 既存の定期決済日まで,残された日数と追加申請した利用者数に対する料金を即決し,サービスの利用が直ちにできます。即刻決済は1 回の決済であり,決済後の自動で次の定期決済に追加されたユーザー数が反映されます。<br> <br>第18条(料金払い戻し)<br>(1) OWLサービスは先払い支給方式で,料金は法律上必要な場合を除き払い戻されません。 但し,下記の各号に該当する場合は,それに合った払戻金の申請および処理が可能です。<br>① サービスの加入当日にキャンセル要請の際に決済取り消しを適用します。<br>② 年前払料金のサービス解約要請時,解約日益日から残余日数までに相当する金額から総利用金額(定価で計算)の10%(解約手数料)を控除後払い戻しします。<br>③ 払い戻し金額は会員が払い戻し申請時に指定した口座に現金で入金されます。<br>④ 解約料金の払い戻し時期は,加入解約日基準で15日以内支払うものとします。<br> <br>第19条(損害賠償)<br>(1) 会社のサービス提供と関連して会社の故意または重過失により会員がサービス利用に損害を被った場合,適切な補償を受けることができます。損害賠償を請求したい場合は,これに対する事由,請求額および算出根拠を記載して書面で申請しなければなりません。<br> <br>第20条(免責条項)<br>(1) 天災地変,戦争及びその他これに準ずる不可抗力によりサービスを提供できない場合<br>(2) 基幹通信事業者が電気通信サービスを停止したり,正常に提供せず損害が発生した場合<br>(3) ·会員の帰責事由によるサービス利用の障害又は損害が発生した場合<br>(4) サービス用設備の補修,取替え,定期点検,工事などやむをえない理由で損害が発生した場合<br>(5) 電気通信事業法及び施行令規定により,サービスを利用して淫乱物や不穏な内容,虚偽の事実による名誉毀損,不法コピーなど知的財産権の侵害,国家機密侵害,青少年有害媒体物などを伝送,保存,照会することにより発生するという会員の損害に法的な責任を負いません。<br>(6) ストレージを保存する前にネットワーク等の施設障害でサービス利用が中断されたり,データ損失,エラーなどが発生した場合<br>(7) 非正常に保存された資料の場合。 但し,\"正常に保存された資料\"とは,会員が資料を転送した後,容量増減や諸般属性の変更なしに正常にストレージに保存されることを意味します。<br>(8) 会員様のミスやサービスに対する不十分な理解によって会員様に損害が生じた場合<br>(9) 会社は会員様が利用契約を解約したり,商品の変更,使用者や業務空間の解約によるデータ消失などに対しては責任を負いません。<br>(10) 会員様が自分のID/パスワードを他人に公開したり,管理が行き届いていないためID/パスワードが露出し,会員に何らかの損害が発生した場合<br>(11) 円滑なサービス提供のため,定期点検や緊急点検の施行時,事前告知後一時的にサービスを停止することができ,これによりサービスを利用できないことにより生じた損害の場合,責任が免責されます。<br>(12) 会社は会員相互間,会員の関係会社,または第三者の相互間にサービスを介して生じた紛争に対しては介入する義務がなく,これによる損害を賠償する責任がありません。<br> <br>第21条(準拠法及びに関する)<br>(1) 会社と会員はサービスに関して,発生した紛争を円満に解決するために,相互間の最善の努力をしなければなりません。<br>(2) 会社が定める政策又は利用約款に明示されていない事項については,電気通信事業法,情報通信網利用促進等に関する法律及びその他関連法令の規定,本約款の趣旨及び同種業界の一般的な慣行により解釈適用されます。<br>(3) 会社と会員間のサービスの利用に関して発生した紛争が円満に解決しない場合,関連訴訟の管轄は会社本店の所在地を管轄する裁判所とします。<br>– 施行日:2018年11月09日", |
| | | |
| | | "workspaceUserManagement" : "業務空間ユーザー管理", |
| | | "numberOfParticipants" : "参加可能人員", |
| | | "participation" : "参加", |
| | | "waitForParticipation" : "参加待機", |
| | | "withdrawal" : "Withdrawal", |
| | | "canParticipate" : "参加可能", |
| | | "installingManagerServerAddress" : "(マネジャー設置サーバーアドレス)", |
| | | "failedToSelectWorkspaceInformation" : "自分が管理する業務空間情報の照会に失敗", |
| | | "failedToPaymentInformation" : "決済情報の照会に失敗", |
| | | "completedPayment" : "決済完了", |
| | | "failedPayment" : "決済失敗", |
| | | "cancelTheRegularPaymentReceive" : "定期決済を取り消しますか。 \n使用料金を除いた金額が7日以内に払い戻されます。", |
| | | "failedToCancelPayment" : "決済取り消し失敗", |
| | | "failedToModifyWorkspaceName" : "業務空間名修正失敗", |
| | | "failedToRegularPaymentChange" : "定期決済変更の失敗", |
| | | "failedToParticipationStatusChange" : "参加状態の変更失敗", |
| | | "failedToSelectWorkspaceFullUserList" : "業務空間全体のユーザーリスト照会に失敗" |
| | | }, |
| | | |
| | | "issue" : { |
| | | "issueType" : "イシュー·タイプ", |
| | | "managementIssue" : "イシュー管理", |
| | | "createIssue" : "イシュー作り", |
| | | "issueStatus" : "争点状態", |
| | | "issueNumber" : "イシュー番号", |
| | | "issueContent" : "争点内容", |
| | | "issueTitle" : "イシュー題目", |
| | | "requireIssueTitle" : "イシューのタイトルを入力してください。", |
| | | "issueList" : "イシュー·リスト", |
| | | "summaryIssueActivity" : "イシュー活動の内訳を要約", |
| | | "modifyIssues" : "イシュー修正", |
| | | "continueCreateIssue" : "この画面でイシューを生成し続けます。", |
| | | "initializedAssigneeCustomField" : "プロジェクトを変更すると,担当者,ユーザ定義フィールド値が初期化されます。", |
| | | "setUpUsersParticipatingInProject" : "プロジェクトに参加するユーザを設定します。", |
| | | "initializedIssueStatus" : "タイプを変更する場合,ユーザ定義フィールド,イシュー状態が初期化されます。", |
| | | "clickToSelectDate" : "クリックすると日付を選択することができます。", |
| | | "notIssueTypeCustomFields" : "イシュータイプに繋がっているユーザ定義フィールドはありません。", |
| | | "attachOnlyFiles" : "hwp, jpg, png, txt, pptx, pdf, xlsx, xls, docx, zip, gif, jpeg, doc, tif, bmp, wmv, avi, mp4, mkv, mov, movファイルだけを添付することができます。", |
| | | |
| | | |
| | | "registerExcelIssues" : "エクセロ問題登録", |
| | | "videoExample" : "動画例題", |
| | | "writeWaring" : "作成要領", |
| | | "pleaseEnterIssueName" : "検索するイシュー名を入力してください。", |
| | | "selectProjectAndIssueTypeDownloadExcel" : "プロジェクト,イシュータイプを選択すると,該当する様式のエクセルをダウンロードすることができます。", |
| | | "settingTableDisplay" : "テーブル表示設定", |
| | | "deleteIssue" : "イシュー削除", |
| | | "wantToDeleteSelectIssue" : "選択したイシューを削除しますか。 削除された問題は復旧できません。", |
| | | "failedToSaveFieldConditions" : "検索フィールドの条件保存に失敗", |
| | | "failedToGetSearchFieldCondition" : "検索フィールドの条件付かない失敗", |
| | | "failedIssueLookup" : "イシュー照会失敗", |
| | | "selectionCheck" : "選択対象確認", |
| | | "selectIssueToChangeStatus" : "状態を変更するイシューを選んでください。", |
| | | "notHaveDeletePermissionExistsAnIssue" : "削除権限のないイシューが存在します。", |
| | | "failedToIssueTypeListLookup" : "争点類型リスト照会に失敗", |
| | | "failedToPriorityListLookup" : "優先順位リスト照会に失敗", |
| | | "failedToCriticalListLookup" : "重要度リスト照会に失敗", |
| | | "failedToUserDefinedFieldListLookup" : "使用者定義フィールドリスト照会に失敗", |
| | | "failedToIssueTableColumnLookup" : "イシューテーブルコラム照会に失敗", |
| | | "capacityExceededImageFile" : "イメージファイル容量超過", |
| | | "attachedOnlyImageFiles10mb" : "10MB以下のイメージファイルのみ添付可能です。", |
| | | "attachedMultipleImageFiles100mb" : "複数のイメージを一度に添付する場合,100MB以下までのみ添付が可能です。", |
| | | "limitImageFile" : "イメージファイル制限", |
| | | "canBeUploadedOnlyImageFiles" : "イメージファイルのみアップロード可能です。 - bmp, jpg, jpeg, png, tif", |
| | | "previewImage" : "イメージの前触れ", |
| | | "nameErrorImageFile" : "イメージファイル名エラー", |
| | | "cannotUploadFileNameSpecialCharacters" : "ファイル名に特殊文字が入るとアップロードできません。", |
| | | "errorFileUpload" : "ファイルアップロードエラー", |
| | | "attachmentCapacityExceeded" : "添付ファイル容量超過", |
| | | "canAttachFileUpTo100mb" : "100MB以下までのみファイル添付が可能です。", |
| | | "limitAttachmentExtensions" : "添付ファイル拡張子制限", |
| | | "notAllowedAttachment" : "添付が許されないファイルです。", |
| | | "nameErrorAttachment" : "添付ファイル名エラー", |
| | | "succeededIssueRegistration" : "問題登録の成功", |
| | | "failedIssueRegistration" : "問題登録失敗", |
| | | "failedIssueModify" : "イシュー修正失敗", |
| | | "failedToProjectDetails" : "プロジェクト詳細情報の照会に失敗", |
| | | "failedToUserDefinedFieldListAssociatedLookup" : "問題タイプにつながるユーザー定義フィールドリスト照会に失敗", |
| | | "applyTemplate" : "テンプレート適用", |
| | | "issueContentIsWrittenApplyTheTemplate" : "イシュー内容が作成されています。 テンプレートを適用しますか。 テンプレートが適用されると既に作成された内容が消えます。", |
| | | "failedIssueStatusCheck" : "移動可能なイシュー状態照会に失敗", |
| | | "failedToChangeMultipleIssueStatus" : "多重イシュー状態変更失敗", |
| | | "completedSavingIssueTable" : "イシューテーブル設定保存完了", |
| | | "saveIssueTableSettingsInformation" : "イシューテーブルの設定情報が保存されました。", |
| | | "failedToSaveIssueTableSetting" : "イシューテーブルの設定保存に失敗", |
| | | "errorRemovableIssueStatusList" : "移動可能なイシュー状態,リスト照会エラー", |
| | | "errorIssueDetails" : "問題詳細情報照会にミス", |
| | | "failedToRegisterComments" : "書き込み登録の失敗", |
| | | "deleteComments" : "コメント削除", |
| | | "failedToDeleteComments" : "書き込み削除失敗", |
| | | "wantToDeleteTheSelectedComments" : "選択したコメントを削除しますか。 削除された書き込みは復旧できません。", |
| | | "failedToGetCommentListData" : "リプライリスト,データが手に入らず", |
| | | "failedToAttachmentList" : "添付ファイルのリスト照会に失敗", |
| | | "setIssueTableDisplay" : "イシューテーブル表示設定", |
| | | "columnName" : "コラム名", |
| | | "area" : "広さ", |
| | | "displayed" : "表示可否", |
| | | "sequence" : "順序", |
| | | "cannotChangedIssueTitle" : "イシューのタイトルは変更できません。", |
| | | "selectSendIssueMail" : "メール発送対象者選定", |
| | | "sendIssueSelectedUsers" : "選択したユーザーにイシュー情報を送ってあげます。", |
| | | "sendMail" : "メール発送", |
| | | "changedHistory" : "イシュー変更履歴の詳細", |
| | | "noChangeHistory" : "イシュー変更情報なし。", |
| | | "changedTime" : "変更された時間", |
| | | "changedUser" : "変更されたユーザー", |
| | | "issueReservation" : "イシュー発生予約", |
| | | "issueReservationType" : "イシュー発生予約型", |
| | | "issueReservationDescription" : "イシューを特定日に再び発生させることができます。 <br />繰り返し行うべきイシューがあるときに有効に使うことができます。", |
| | | "everyDay" : "毎日", |
| | | "everyWeek" : "毎週", |
| | | "everyMonth" : "毎月", |
| | | "everyYear" : "毎年", |
| | | "scheduledDate" : "イシュー発生予定日", |
| | | "monday" : "月曜日", |
| | | "tuesday" : "火曜日", |
| | | "wednesday" : "水曜日", |
| | | "thursday" : "木曜日", |
| | | "friday" : "金曜日", |
| | | "saturday" : "土曜日", |
| | | "sunday" : "日曜日", |
| | | "enterOnlyNumbers" : "数字のみ入力できます。", |
| | | "january" : "1", |
| | | "february" : "2", |
| | | "march" : "3", |
| | | "april" : "4", |
| | | "may" : "5", |
| | | "june" : "6", |
| | | "july" : "7", |
| | | "august" : "8", |
| | | "september" : "9", |
| | | "october" : "10", |
| | | "november" : "11", |
| | | "december" : "12", |
| | | "succeededIssueReservation" : "イシュー発生予約貯蔵成功", |
| | | "failedIssueReservation" : "イシュー発生の予約保存失敗", |
| | | "failedToIssueReservationDetails" : "イシュー発生の予約詳細照会に失敗", |
| | | "succeededIssueMail" : "イシューメール発送完了", |
| | | "sentToTheSelectedUser" : "選択したユーザーにEメールが発送されました。", |
| | | "failedIssueMail" : "イシューメールの発送失敗", |
| | | "issueVersionLookupFailed" : "イシューバージョンの照会に失敗" |
| | | }, |
| | | |
| | | "project" : { |
| | | "createProject" : "プロジェクト作り", |
| | | "projectKey" : "プロジェクト·キー", |
| | | "projectStatus" : "プロジェクト状態", |
| | | "projectType" : "プロジェクト·タイプ", |
| | | "projectAdmin" : "プロジェクトマネージャ", |
| | | "projectTeam" : "プロジェクトチーム員", |
| | | "modifyProject" : "プロジェクト修正", |
| | | "settingCustomFields" : "使用者定義フィールド設定", |
| | | "selectCustomField" : "使用者定義フィールド選択", |
| | | "availableFields" : "使用可能なフィールド", |
| | | "inUseField" : "使用中のフィールド", |
| | | "pleaseEnterProjectName" : "プロジェクト名を入力してください。", |
| | | "deleteProject" : "プロジェクト削除", |
| | | "wantToDeleteSelectProject" : "選択したプロジェクトを削除しますか。 削除されたプロジェクトは復旧できません。", |
| | | "notHaveDeletePermissionExistsProject" : "削除権限のないプロジェクトが存在します。", |
| | | "failedToProjectListLookup" : "プロジェクトリスト照会に失敗", |
| | | "failedProjectCreation" : "プロジェクト生成失敗", |
| | | "saveCompleteFieldManagement" : "フィールド管理保存完了", |
| | | "saveUserDefinedFieldAndIssueTypeConnection" : "ユーザ定義フィールドとイシュータイプ連結情報が保存されました。", |
| | | "failedToSaveFieldManagement" : "フィールド管理保存に失敗", |
| | | "failedToModifyProject" : "プロジェクト修正失敗", |
| | | "failedToProjectDetails" : "プロジェクト詳細情報の照会に失敗", |
| | | "failedToProjectMember" : "プロジェクトメンバーの照会に失敗", |
| | | "failedToProjectKeyPattern" : "プロジェクトキーの入力値が間違っています。", |
| | | "limitNameToSpecialCharacters" : "プロジェクト名は特殊文字を入力できません。" |
| | | }, |
| | | |
| | | "managementStatus" : { |
| | | "managementStatus" : "状態管理", |
| | | "createStatus" : "状態作り", |
| | | "issueStatusName" : "イシュー状態名", |
| | | "statusProperties" : "状態属性", |
| | | "createIssueStatus" : "イシュー状態作り", |
| | | "modifyIssueStatus" : "イシュー状態修正", |
| | | "useInTheWorkflow" : "ワークフローでイシュー状態が使用中です。 名前の変更時,イシュー状態を使用する全てのワークフロー計画にイシュー状態名が変更されます。", |
| | | "builtInIssueStatus" : "基本的に提供されるイシュー状態は属性を変更することはできません。", |
| | | "pleaseEnterIssueStatusName" : "イシュー状態名を入力してください。", |
| | | "updateNotStatusProperties" : "生成後は状態属性を変更することはできません。", |
| | | "deleteIssueStatus" : "イシュー状態削除", |
| | | "wantToDeleteSelectIssueStatus" : "選択したイシュー状態を削除しますか。 削除されたイシュー状態は復旧できません。", |
| | | "failedToCreateIssueStatus" : "イシュー状態生成失敗", |
| | | "failedToModifyIssueStatus" : "イシュー状態の修正失敗", |
| | | "failedToIssueStatusDetails" : "問題状態詳細情報照会に失敗", |
| | | "limitNameToSpecialCharacters" : "イシュー状態名は特殊文字を入力できません。" |
| | | }, |
| | | |
| | | "managementWorkflow" : { |
| | | "managementWorkflow" : "ワークフロー管理", |
| | | "workflowName" : "ワークフロー名", |
| | | "createWorkflow" : "ワークフロー作り", |
| | | "modifyWorkflow" : "ワークフロー修正", |
| | | "deleteIssueStatusInTheUse" : "使用されている状態を削除した場合,現在ワークフローを使用している要求事項/テストケース/イシュー状態が状態属性\"待機\"の状態に変更されます", |
| | | "statusList" : "状態リスト", |
| | | "insert" : "入れ", |
| | | "startPoint" : "詩作", |
| | | "endPoint" : "終点", |
| | | "designNotCompleteWorkflow" : "ワークフローのデザインが完了していません。", |
| | | "onlyOneStatusPropertyWaitIssueStatus" : "ワークフローには状態属性\"待機\"なイシュー状態が1つだけ存在しなければなりません。", |
| | | "onlyOneStatusPropertyProgressIssueStatus" : "ワークフローには状態属性の\"進行\"であるイシュー状態が1つ以上存在しなければなりません。", |
| | | "onlyOneStatusPropertyEndIssueStatus" : "ワークフローには状態属性の\"終了\"であるイシュー状態が1つ以上存在しなければなりません。", |
| | | "pleaseEnterWorkflowName" : "ワークフロー名を入力してください。", |
| | | "connectedIssueType" : "連結するイシュータイプ", |
| | | "notHaveDeletePermissionExistsWorkflow" : "削除権限のないワークフローが存在します。", |
| | | "deleteWorkflow" : "ワークフロー削除", |
| | | "wantToDeleteTheSelectedWorkflow" : "選択したワークフローを削除しますか。 削除されたワークフローは復旧できません。", |
| | | "failedWorkflowListLookup" : "ワークフローリストの照会に失敗", |
| | | "failedCreateWorkflow" : "ワークフロー生成失敗", |
| | | "failedToModifyWorkflow" : "ワークフロー修正失敗", |
| | | "failedToWorkflowDetails" : "ワークフローの詳細情報照会に失敗", |
| | | "failedToPutIssueStatus" : "イシュー状態の組み込み失敗", |
| | | "onlyOneInTheWorkflow" : "ワークフローには状態属性'大気'な問題は1つだけ存在しなければなりません。", |
| | | "removeMetastaticLine" : "遷移線除去", |
| | | "removeIssueStatus" : "イシュー状態除去", |
| | | "limitNameToSpecialCharacters" : "ワークフロー名は特殊文字を入力できません。", |
| | | "excludeWorkflowParticipation " : "業務空間への参加は除外", |
| | | "imageDownloadNotSupported" : "イメージダウンロードがサポートされない。", |
| | | "IEDoesNotSupport" : "IE ではイメージダウンロードをサポートしない。" |
| | | }, |
| | | |
| | | "support" : { |
| | | "support" : "Support", |
| | | "supportFAQ" : "Frequently Question", |
| | | "supportQNA" : "Question / Answer" |
| | | }, |
| | | |
| | | "customField" : { |
| | | "createField" : "フィールド作り", |
| | | "customFieldName" : "使用者定義フィールド名", |
| | | "fieldType" : "フィールドタイプ", |
| | | "createCustomField" : "使用者定義フィールド作り", |
| | | "createSingleFieldList" : "単一選択フィールドリストづくり", |
| | | "createMultiFieldList" : "多重選択フィールドリストづくり", |
| | | "defaultValue" : "基本値", |
| | | "selectSingleFieldListHashTag" : "単一の選択フィールドリストにある値をデフォルトで選択したいときは,ハッシュタグを使用する必要があります。 対象値", |
| | | "selectMultiFieldListHashTag" : "多重選択フィールドリストにある値をデフォルトで選択したいときは,ハッシュタグを使用する必要があります。 #対象値", |
| | | "modifyCustomFields" : "使用者定義フィールド修正", |
| | | "pleaseEnterUserDefinedFieldName" : "ユーザー定義フィールド名を入力してください。", |
| | | "deleteUserDefinedFields" : "使用者定義フィールド削除", |
| | | "wantToDeleteSelectUserDefinedFields" : "選択したユーザー定義フィールドを削除しますか。 削除されたユーザ定義フィールドは復旧できません。", |
| | | "duplicateInputValue" : "入力値重複", |
| | | "alreadyAddedValue" : "入力した値が既に追加されています。", |
| | | "failedToCreateUserDefinedFields" : "使用者定義フィールド生成失敗", |
| | | "failedToModifyUserDefinedFields" : "使用者定義フィールド修正失敗", |
| | | "failedToDetailUserDefinedFields" : "ユーザー定義フィールド詳細情報照会に失敗", |
| | | "limitNameToSpecialCharacters" : "ユーザ定義フィールド名は,特殊文字を入力することはできません。", |
| | | "emptyInputValue" : "入力値確認お知らせ", |
| | | "emptyAddValue" : "入力した値がありません。" |
| | | }, |
| | | |
| | | "managementType" : { |
| | | "managementIssueType" : "イシュー·タイプ管理", |
| | | "createIssueType" : "イシュー·タイプ", |
| | | "modifyIssueType" : "イシュータイプ修正", |
| | | "issueTypeName" : "イシュー·タイプ名", |
| | | "enterIssueTypeName" : "イシュータイプ名を入力してください", |
| | | "managementType" : "類型管理", |
| | | "createType" : "類型づくり", |
| | | "typeName" : "有形名", |
| | | "modifyType" : "類型修正", |
| | | "template" : "テンプレート", |
| | | "registerAnIssueTemplate" : "テンプレートをあらかじめ作成してイシューを登録する際,内容フィールドに使用することができます。", |
| | | "updateWorkflowIssueStatusStandby" : "ワークフローを変更する場合に変更しようとするワークフローに状態が存在しなければ,イシューの状態が状態属性\"待機\"の状態に変更されます。", |
| | | "notHaveDeletePermissionExistsIssueType" : "削除権限のないイシュー類型が存在します。", |
| | | "deleteIssueType" : "イシュー型削除", |
| | | "wantToDeleteSelectIssueType" : "選択したイシュー類型を削除しますか。 削除されたイシュー類型は復旧できません。", |
| | | "failedToIssueTypeList" : "イシュータイプリストの照会に失敗", |
| | | "failedToCreateIssueType" : "イシュータイプ生成失敗", |
| | | "failedToModifyIssueType" : "イシュータイプ修正失敗", |
| | | "failedToDetailIssueType" : "イシュータイプの詳細情報照会に失敗", |
| | | "limitNameToSpecialCharacters" : "イシュータイプ名は特殊文字を入力できません。" |
| | | }, |
| | | |
| | | "users" : { |
| | | "temporaryPassword" : "臨時暗証番号", |
| | | "guidanceTemporaryPassword" : "臨時の暗証番号発給案内", |
| | | "pleaseMakeSureChangeYourPassword" : "お客様のOWL ITS アカウントパスワード変更のため,臨時のパスワードを発給いたします。ログイン後,必ずパスワードを変更してください。", |
| | | "phoneNumber" : "連絡先", |
| | | "modifyInformation" : "情報修正", |
| | | "updatePassword" : "パスワード変更", |
| | | "setEmailNotificationTime" : "電子メールお知らせ時間設定", |
| | | "selectProfileShowOther" : "他のユーザーに見せるプロフィールを選んでください。", |
| | | "membershipWithdrawal" : "会員脱会", |
| | | "signOutNotRecovered" : "会員退会時,業務空間のすべてのデータが消えて復旧できません。", |
| | | "existingPassword" : "既存の暗証番号", |
| | | "newPassword" : "新しいパスワード", |
| | | "confirmNewPassword" : "新しいパスワード確認", |
| | | "checkPassword" : "パスワード確認", |
| | | "join" : "無料で使う", |
| | | "enable" : "活性", |
| | | "disable" : "非活性", |
| | | "withdrawal" : "脱退", |
| | | "usedAccount" : "もう勘定があるんでしょうか?", |
| | | |
| | | "joinOWLITSMembership" : "OWL ITS 登録", |
| | | "enterAnEmail" : "Eメールを入力してください。", |
| | | "enterAnPassword" : "暗証番号を入力してください。", |
| | | "pleaseSelectFile" : "ファイルを選択してください。", |
| | | "invalidEmailFormat" : "Eメール形式が合いません。", |
| | | "enterYourEmailAddress" : "入力したEメールでお知らせが発送されます。 必ずお使いになるEメールで入力してください。", |
| | | "least4CharactersPassword" : "パスワードは最低4文字以上入力しなければなりません。", |
| | | "enter4CharactersPassword" : "パスワードは4文字以上で入力してください。", |
| | | "differentPassword" : "暗証番号が違います。", |
| | | "contactedEnterPhone" : "連絡可能な携帯番号を入力してください。", |
| | | "enterTheNameInWorkspace" : "デフォルトとして生成される業務空間の名前を入力してください。", |
| | | "agreePrivacyPolicy" : "個人情報処理方針に同意します。", |
| | | "privacyPolicy" : "個人情報処理方針", |
| | | "privacyPolicy1" : "個人情報処理方針<br><br>WISESTONE Co., Ltd.(以下、「当社」という。)は、お客様の個人情報保護を大変重視しており、情報通信網の利用促進及び情報保護に関する法律を遵守しています。当社は、個人情報処理方針の公開を通してお客様の個人情報がどのような目的と方式で利用されており、個人情報保護のためいかなる措置を施しているのかを明示いたします。本個人情報処理方針は、関連法令の改正や当社の内部方針によって変更されることがあります。変更の際には、いつでもその内容と理由を簡単に知ることができるよう、お知らせ事項を通じてお客様に伝達いたします。個人情報処理方針は韓国法律に基づいて作成されています。<br>第1条 (個人情報の収集項目及び利用目的)<br>お客様が同意した利用規約に従ってOWLサービス(OWL solutionサイト及びOWL-ITS、以下「OWLサービス」という。)の様々な機能を提供するため、当社はお客様から以下の通りの個人情報(包括して以下、「個人情報」という。)を収集・保管しています。<br>(1) 必須入力事項<br>① 会員登録時の収集項目: Eメール、名前<br>(2) 選択入力項目<br>① 写真<br>(3) サービスの利用または事業処理過程において作成・収集される各種取引及び個人の性向に関する情報<br>① サービス利用履歴、アクセスログ、クッキー、アクセスIP情報、決済履歴、不良利用履歴<br>(4) 収集・利用目的<br>① サービス(製品)のお問い合わせなどに対する相談や応対のための活動<br>② 会員制サービス利用による本人確認、個人識別、不良会員の不正利用防止、不認可使用防止、登録意志の確認、紛争調整のための記録保存、不満処理などのお問い合わせ処理、お知らせ事項の伝達<br>③ サービス提供に関する契約履行、サービス提供による料金精算、特定のカスタマイズサービス提供(請求書など送信、料金の決済)<br>④ 新規サービス(製品)開発の統計学的特性によるサービス提供、特化、イベントなど広告情報の伝達及び参加機会の提供、サービス有効性の確認、アクセス頻度の把握、会員のサービス利用に対する統計<br>第2条 (個人情報の収集方法)<br>ホームページにおける会員登録、会員情報修正、電話、メールアドレス、セミナー/アンケート/イベント申し込み、お問い合わせ及び相談、提携お問い合わせ、作成情報収集ツールなどを通して同意した場合に限り個人情報を収集します。<br>第3条 (個人情報自動収集装置の設置・運営及び拒否方法)<br>当社は、お客様がホームページを利用中にお客様の情報を随時保存して検索する「クッキー(cookie)」とホームページ利用履歴(以下、「統計データ」という。)を自動的に収集する装置を設置・運営することができます。<br>(1) クッキー(cookie)とは?<br>クッキーとは、ホームページがお客様のウェブブラウザに送信する少量の情報です。お客様がホームページにアクセスすると、当社コンピュータはお客様のブラウザにあるクッキーの内容を読み込み、お客様の追加情報をお客様のコンピュータから探し出してアクセスによる名前などの追加入力なしにサービスを提供することができます。また、お客様はクッキーに対する選択権があります。ウェブブラウザ上段の「ツール>インターネットオプション」タブで全てのクッキーを受け入れるか、クッキー設置時に知らせるよう設定するか、または全てのクッキーを拒否できるかを選択する選択権を有しています。ただし、お客様がクッキー設置を拒否した場合は、サービス利用における不便やサービス提供において困難を伴うこともあります。<br>(2) 統計データとは?<br>ホームページ、携帯電話などのサービス利用時にコンピュータやデバイスの特定領域に保存して、周期的に当社サーバーに伝達する以下のような情報です。<br>① サービスの使用統計(呼接続、呼伝達、呼失敗時のネットワーク環境、ダウンロード実行エラー、有線・無線インターネット接続失敗及び接続時間など)<br>② 使用パターン情報(お客様メニューの移動パス、主に利用するサービス、サービス利用回数、訪問履歴など)<br>(3) 当社のクッキー、統計データ運営<br>当社は、お客様の利便性向上のためクッキー、統計データを運営しています。当社のクッキー及び統計データの使用目的は、以下のとおりです。<br>① 関心がある閲覧内容に対する履歴を追跡して、次のアクセスの際に個人カスタマイズ型サービスを提供<br>② 会員と非会員のアクセス頻度または利用時間などを分析して、お客様の趣向と関心分野を把握し、会員の習慣を分析してサービス改編時を基準に利用ターゲットマーケティングに活用<br>③ 有料サービスご利用の際に利用期間を案内<br>④ お問い合わせ及び相談文の登録における利便性提供<br>第4条 (個人情報の利用及び第三者への提供)<br>(1) 社は、お客様の個人情報を登録申請書、利用規約、個人情報処理方針の「個人情報の収集及び利用目的」にて公示した範囲内で利用および提供しており、その範囲を超えて利用することはできません。特に、以下の場合は注意を傾けて個人情報を利用および提供いたします。<br>① 提携関係<br> より上質なサービス提供のため、お客様の個人情報を提携会社と共有または提供することがあります。この場合、予めお客様に提携会社の情報、共有または提供される個人情報の項目、どのような目的で個人情報が共有または提供されるか、いつまで保管・管理されるかに関して個別に電子的方法や電話、書面、FAX、郵便などを通して公示して同意を求める手続きを踏みます。お客様が同意しない場合は、提携会社と共有・提供することはありせん。<br>(2) 当社は、サービスの提供に関する契約を履行するために必要な個人情報について、技術的・経済的な事由によって通常どおりの同意を受けることが明確に困難であると判断した場合は、お客様の同意なくしても個人情報を収集・利用することができます。<br>(3) 以下の場合は、関連法令の規定に基づき、会員の同意なくして個人情報を提供することができます。<br>① サービス提供による料金精算が必要な場合<br>② 統計作成、学術研究、または市場調査のために必要な場合で、特定個人を割り出せない形態で加工して提供する場合<br>③ 金融実名取引及び秘密保障に関する法律、信用情報の利用及び保護に関する法律、電気通信基本法、電気通信事業法、地方税法、消費者保護法、韓国銀行法、刑事訴訟法など法律に特別な規定がある場合<br>④ 捜査目的で法令によって定められた手続きと方法に基づいた捜査機関の要求を受けた場合<br>⑤ お客様が事前に同意した場合<br>第5条 (個人情報の処理委託)<br>(1) 当社は、お客様の利便性を図り、より上質なサービス提供など業務を円滑に遂行するため、外部の専門企業にお客様の個人情報に対する収集・保管・処理・利用・提供・管理・破棄など(以下、「処理」という。)を委託することができます。<br>(2) 当社が外部の専門企業にお客様の個人情報を処理委託する場合、委託業務の内容、受託者は以下の表の通りです。<br><個人情報の第三者提供及び委託現況><br>受託企業 NICE Co., Ltd.<br>委託業務内容 クレジットカード決済<br>保有及び利用期間 退会時または委託契約終了時まで<br>(3) 当社は、お客様の同意なくしてサービス提供以外の目的で個人情報を処理委託しないことを原則とします。ただし、必要だと判断した場合は、委託業務の内容と受託者をお客様に公示して、お客様の同意を求めます。<br>第6条 (個人情報の利用・保管期間)<br>お客様の個人情報は、同意を得た個人情報の収集及び利用目的を達成した後は、法令または内部方針に従って保存する必要がある場合を除き、遅滞なく破棄されます。<br>(1) 無分別な退会と再登録による被害の最小化、退会後の心変わりによる請願などを処理するため、退会後1年間は会員情報を保有することができます。<br>(2) 保有期間を予め公示して別途の同意を得た場合は、当該保有期間まで保有することができます。<br>(3) 当社が法令に従って保管する個人情報及び該当する法令は、以下の表の通りです。<br>保存項目:契約または請約撤回などに関する記録<br>根拠法令:韓国電子商取引等における消費者保護に関する法律<br>保存期間:5年<br>保存項目:代金決済及び財貨などの供給に関する記録<br>根拠法令:韓国電子商取引等における消費者保護に関する法律<br>保存期間:5年<br>保存項目:消費者の不満または紛争処理に関する記録<br>根拠法令:韓国電子商取引等における消費者保護に関する法律<br>保存期間:3年<br>保存項目:表示/広告に関する記録<br>根拠法令:韓国電子商取引等における消費者保護に関する法律<br>保存期間:6か月<br>保存項目:韓国税法が規定する全ての取引に関する帳簿及び証憑書類<br>根拠法令:韓国国税基本法<br>保存期間:5年<br>保存項目:韓国電子金融取引に関する記録<br>根拠法令:韓国電子金融取引法<br>保存期間:5年<br>保存項目:サービス訪問記録<br>根拠法令:韓国通信秘密保護法<br>保存期間:3か月<br>(4) 当社は、お客様の個人情報保護のため、お客様の会員登録アカウントを使用アカウントと休眠アカウントに区分して管理します。OWLサービスを1年間ログインまたは利用履歴がない場合は、お客様の個人情報保護のため休眠アカウントに区分して、お客様の個人情報の活用及び提携会社(第三者として同意した提携会社)にお客様の情報を提供しません。<br>第7条 (個人情報の破棄手続き及び方法)<br>(1) お客様の個人情報は、お客様から同意を得た収集及び利用目的の達成した後は、別途のDBに移され(紙の書面の場合は別途の書類箱)、関係法によって定められた一定期間保管された後に破棄されます。<br>(2) 紙の書面に出力された個人情報は、シュレッダーや焼却を通して破棄され、電子ファイル形態で保存された個人情報は、記録を再生できない技術的方法を用いて削除されます。<br>第8条 (お客様の権利とその行使方法)<br>(1) お客様(満14歳未満の場合は法定代理人)は、いつでもOWLサービス内におけるお客様の個人情報を閲覧・変更でき、OWLサービスの利用規約に従ってお客様の個人情報収集及び利用に対して当社に同意の撤回またはOWLサービスからの退会を要求することができます。<br>(2) オンライン登録情報の閲覧・訂正を希望するお客様の場合、ホームページの「会員情報」をクリックして直接閲覧および訂正を行うか、またはお客様センターへ書面、電話、メールによりご連絡いただければ遅滞なく措置いたします。<br>(3) 当社は、代理人が訪問して閲覧・証明を要求する場合は、適法な委任を受けたかを確認することができる委任状および本人の印鑑証明書、代理人の身分証明書などの提出を受け、代理人の正確性を確認します。<br>(4) お客様が個人情報のエラーに対する訂正を要請した場合は、当社は訂正を完了するまで当該個人情報を利用または提供しません。また、当社が誤った個人情報を既に第三者に提供した場合は、その訂正処理結果を第三者に遅滞なく通知して訂正します。(5) お客様は、個人情報を最新情報で正確に入力し、変動事項がある場合はこれを当社に通報しなければなりません。お客様自身が不正確な情報を入力しなかった、または当社に通報しなかったため当社が知り得なかったお客様の情報の変動によって発生したトラブルに対する責任は、お客様自身に帰属されます。<br>(6) お客様が他人の情報の盗用及び侵害、虚偽の情報を入力した場合は、サービス解約及び会員資格喪失となることがあり、法などの関連法令に基づき処罰を受けることがあります。<br>第9条 (個人情報保護のための技術的・管理的対策)<br>当社は、お客様の個人情報が紛失、盗難、流出、変造、毀損されないよう、以下の通りの技術的・管理的対策を講じています。<br>(1) 技術的対策<br>① アクセス履歴の偽造・変造防止措置を講じています。<br>② 個人情報は、その種類によって関連法令が要求する水準の暗号化保存または送信時の暗号化技術を適用して管理しています。<br>③ ウイルス対策プログラムを利用してコンピュータウイルスによる被害を防止するための措置を講じており、ウイルス対策プログラムは周期的にアップロードして、突然のウイルス出現時にはウイルスが発生したと同時にこれを提供することで個人情報侵害を防止しています。<br>④ 暗号アルゴリズムを利用して、ネットワーク上の個人情報を安全に送信するセキュリティ装置(SSLなど)を採択しています。<br>⑤ ハッキングなどの外部からの侵入に備えて、各サーバーに進入遮断システムと脆弱点分析システムを用いてセキュリティに最善を尽くしています。<br>(2) 管理的対策<br>① 当社は、個人情報保護に関する内部管理計画を樹立し、施行しています。<br>② 当社は、個人情報に対するアクセス許可を必要最小限の人数に制限しています。<br>③ 当社は、個人情報を取り扱う職員を担当者に限定させ、別途のパスワードを付与して定期的に更新し、担当者に対しては随時教育を行って、当社の個人情報処理方針の遵守を常に強調しています。<br>④ 当社は、お客様の操作ミスや基本的なインターネットのリスクによって発生するトラブルに対しては責任を負いかねます。お客様は、個人情報を保護するためメールやパスワードを適切に管理して、お客様自ら責任を負わなければなりません<br>第10条 (個人情報保護責任者及び担当者の連絡先)<br>当社は、お客様の個人情報を保護して個人情報に関する不満を処理するため、以下のとおりの関連部署及び個人情報管理責任者を指定しています。当社はお客様のお声に耳を傾けて、迅速かつ充分な回答を差し上げるため最善を尽くします。<br><個人情報保護責任者><br>管理責任者: イ·ジョンソン·チーム長 | 担当部署: 金ユジン主任研究員<br>担当部署: テスティングソリューションセンターソリューション開発チーム<br>jslee1@wisestone.kr<br>その他,個人情報侵害の届出や相談が必要な場合は,下記の機関にお問い合わせください。<br>① 個人情報侵害申告センター: 電話 118 / Eメール privacy@kisa.or.kr / http://privacy.kisa.or.kr<br>② 情報セキュリティマーク認証委員会: 電話 02-580-0533~4 / http://www.eprivacy.or.kr<br>③ 最高検察庁サイバー犯罪捜査団: 電話 02-3480-3571 / Eメール cybercid@spo.go.kr / http://www.spo.go.kr<br>④ 警察庁サイバーテロ対応センター: 電話 1566-0112 / http://cyber.go.kr<br>第11条(告知の義務)<br> 会社は法律やサービスの変更事項を反映するための目的など,個人情報の処理方針を修正することができます。個人情報処理方針が変更された場合,会社は変更事項を掲示し,変更された個人情報処理方針は,掲示日から7日後から効力が発生します。 しかし,やむを得ず皆様の権利に重要な変更がある場合,変更される内容を30日前に予めお知らせします。<br>– 施行日:2018年11月09日<br><br>", |
| | | "login" : "ログイン", |
| | | "logout" : "ログアウト", |
| | | "logInSocialAccount" : "ソーシャルアカウントでログイン", |
| | | "rememberMe" : "ログイン状態油", |
| | | "findPassword" : "パスワードを探す", |
| | | "loginFailed" : "ログインに失敗しました。", |
| | | "createAccountNow" : "今アカウントを作ってみてください!", |
| | | "forgetYourPassword" : "暗証番号をお忘れになりましたか?", |
| | | "incorrectEmailFormat" : "Eメール形式が合いません。", |
| | | "sendingYouTemporaryPassword" : "ご加入のEメールで <strong class=\"text-primary\">臨時暗証番号</strong>をお送りします。", |
| | | "pleaseEnterPassword4Characters" : "パスワードは4文字以上で入力してください。", |
| | | "failedInviteMail" : "初代メール発送失敗", |
| | | "successInviteMail" : "初代メール発送成功", |
| | | "welcomeKakTalkMembership" : "カカオトーク会員加入案内", |
| | | "signUpMembershipKakTalk" : "カカオトークで会員加入をするためには,電子メール情報の提供を選択しなければなりません。 これに同意しない場合には他のソーシャルで加入してください。", |
| | | "failedToCreateUser" : "使用者生成失敗", |
| | | "failedToModifyUser" : "ユーザー修正失敗", |
| | | "failedToRetrieveIssueHistory" : "問題記録情報の照会に失敗", |
| | | "proceedWithMembershipWithdrawal" : "会員脱退を進めますか。 会員退会すると業務空間のすべてのデータが消えて復旧できません。", |
| | | "successWithdrawalFromMembership" : "会員脱退の成功", |
| | | "failedMemberWithdrawal" : "会員退会失敗", |
| | | "completedWithdrawalFromOwlITS" : "OWL ITS で脱退が完了しました。", |
| | | "failedToSelectUserDetail" : "ユーザーの詳細情報照会に失敗", |
| | | "notExistUserSession" : "ユーザセッションが存在しません。", |
| | | "completedPasswordChange" : "パスワード変更完了", |
| | | "failedPasswordChange" : "暗証番号変更に失敗", |
| | | "temporaryPasswordIssue" : "臨時暗証番号発給", |
| | | "failedRequestFindPassword" : "暗証番号探しの要請に失敗", |
| | | "duplicateEmail" : "Eメール重複", |
| | | "duplicateEmailEntered" : "重複した電子メールが入力されました。", |
| | | "confirmEmailInput" : "Eメール入力確認", |
| | | "emailEnteredIncorrectly" : "Eメールが間違えて入力されました。", |
| | | "noEmailEntered" : "Eメールが入力されていません。" |
| | | }, |
| | | "notice" : { |
| | | "notice" : "公知事項", |
| | | "registerNotice" : "公知事項登録", |
| | | "modifyNotice" : "公知事項修正", |
| | | "enterSpecialCharacters" : "タイトルには特殊文字を入力できません。", |
| | | "failedNoticeRegistration" : "公示事項の登録失敗", |
| | | "failedToLookupNotificationList" : "公示事項のリスト照会に失敗", |
| | | "failedToModifyNotice" : "公知事項の修正失敗", |
| | | "failedToLookupNotificationDetails" : "公示事項詳細情報照会に失敗" |
| | | }, |
| | | "manageUser" : { |
| | | "manageUser" : "User Permission Management", |
| | | "manageIssueSystemPerm" : "Issue System", |
| | | "manageUserPerm" : "User", |
| | | "manageNoticePerm" : "Notice", |
| | | "manageFAQPerm" : "FAQ", |
| | | "manageQnAPerm" : "QnA", |
| | | "manageEventPerm" : "Event", |
| | | "manageGuidePerm" : "Guide" |
| | | }, |
| | | "FAQ" : { |
| | | "FAQ" : "FAQ", |
| | | "manageFAQ" : "FAQ Management", |
| | | "registerFAQ" : "FAQ Registration", |
| | | "modifyFAQ" : "Modify FAQ", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedFAQRegistration" : "Failed to register FAQ.", |
| | | "failedToLookupFAQList" : "Failed to look up FAQ list", |
| | | "failedToModifyFAQ" : "Failed to modify FAQ", |
| | | "failedToLookupFAQDetails" : "Failed to look up FAQ details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "QNA" : { |
| | | "QNA" : "QnA", |
| | | "manageQNA" : "QnA Management", |
| | | "registerQNA" : "Question Registration", |
| | | "modifyQNA" : "Modify QnA", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedQNARegistration" : "Failed to register QnA.", |
| | | "failedToLookupQNAList" : "Failed to look up QnA list", |
| | | "failedToModifyQNA" : "Failed to modify QnA", |
| | | "failedToLookupQNADetails" : "Failed to look up QnA details" |
| | | }, |
| | | "event" : { |
| | | "event" : "Event", |
| | | "manageEvent" : "Event Management", |
| | | "registerEvent" : "Event Registration", |
| | | "modifyEvent" : "Modify Event", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedEventRegistration" : "Failed to register Event.", |
| | | "failedToLookupEventList" : "Failed to look up Event list", |
| | | "failedToModifyEvent" : "Failed to modify Event", |
| | | "failedToLookupEventDetails" : "Failed to look up Event details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "guide" : { |
| | | "guide" : "Guide", |
| | | "manageGuide" : "Guide Management", |
| | | "registerGuide" : "Guide Registration", |
| | | "modifyGuide" : "Modify Guide", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedGuideRegistration" : "Failed to register Guide.", |
| | | "failedToLookupGuideList" : "Failed to look up Guide list", |
| | | "failedToModifyGuide" : "Failed to modify Guide", |
| | | "failedToLookupGuideDetails" : "Failed to look up Guide details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "inquiry" : { |
| | | "toInquiry" : "お問い合わせ", |
| | | "inquiryToOWL" : "OWL ITS にお問い合わせ", |
| | | "asap" : "最大限早い時間以内に返事させていただきます。", |
| | | "inquiryGreeting" : "何をお手伝いすればいいですか。", |
| | | "contactCompleted" : "問い合わせの受付完了", |
| | | "failedToReceiveEnquiry" : "問い合わせの受け付け失敗" |
| | | }, |
| | | "common" : { |
| | | "urgent" : "緊急", |
| | | "high" : "高", |
| | | "medium" : "普通", |
| | | "low" : "低さ", |
| | | "critical" : "深刻", |
| | | "major" : "高", |
| | | "minor" : "普通", |
| | | "trivial" : "低さ", |
| | | "save" : "貯蔵", |
| | | "saved" : "貯蔵器", |
| | | "close" : "閉止", |
| | | "search" : "検索", |
| | | "reset" : "初期化", |
| | | "uploadExcel" : "エクセル·アップロード", |
| | | "create" : "生成", |
| | | "cancel" : "キャンセル", |
| | | "submit" : "転送", |
| | | "modify" : "修整", |
| | | "dashboard" : "ダッシュボード", |
| | | "workspace" : "ワークスペース", |
| | | "project" : "プロジェクト", |
| | | "issue" : "イシュー", |
| | | "setting" : "設定", |
| | | "user" : "使用者", |
| | | "workflow" : "ワークフロー", |
| | | "updateIssueStatus" : "イシュー状態変更", |
| | | "changeReason" : "変更事由", |
| | | "failedToIssueStatusListLookup" : "イシュー状態のリスト照会に失敗", |
| | | "customField" : "ユーザー定義フィールド", |
| | | "select" : "選択", |
| | | "checkAll" : "全体選択", |
| | | "unCheckAll" : "全体解除", |
| | | "send": "送信", |
| | | "selected" : "選ばれる", |
| | | "selectable" : "選択可能", |
| | | "password" : "パスワード", |
| | | "information" : "情報", |
| | | "noData" : "データがありません。", |
| | | "name" : "名前", |
| | | "status" : "ステータス", |
| | | "email" : "メール", |
| | | "few" : " 件", |
| | | "userNum" : " 人", |
| | | "selectedSearchCriteria" : "選択した検索条件", |
| | | "detailedSearch" : "詳細検索", |
| | | "type" : "流刑", |
| | | "priority" : "優先順位", |
| | | "importance" : "重要度", |
| | | "assignee" : "担当者", |
| | | "register" : "登録者", |
| | | "startDate" : "開始日", |
| | | "endDate" : "終了日", |
| | | "english" : "英語", |
| | | "korean" : "韓国語", |
| | | "japaneseLanguage" : "日本語", |
| | | "vietnamese" : "ベトナム語", |
| | | "add" : "追加", |
| | | "addFunction" : "追加機能", |
| | | "downloadExcel" : "エクセルダウンロード", |
| | | "importExcel" : "Excel Import", |
| | | "registerExcelUploadIssue" : "エクセルアップロードイシュー登録", |
| | | "delete" : "削除", |
| | | "checkPurgingTargets" : "削除対象確認", |
| | | "selectDestinationDeletion" : "削除対象を選んでください。", |
| | | "deleteFailed" : "削除失敗", |
| | | "deleteSucceeded" : "削除成功", |
| | | "content" : "内容", |
| | | "selectTarget" : "対象選択", |
| | | "period" : "期間", |
| | | "attachFiles" : "ファイル添付", |
| | | "selectFile" : "ファイル選択", |
| | | "changeDate" : "変更日", |
| | | "lastChangeDate" : "近頃変更日", |
| | | "registrationDate" : "登録日", |
| | | "fullView" : "すべて見る", |
| | | "comments" : "コメント", |
| | | "record" : "記録", |
| | | "noAssignee" : "担当者がいません。", |
| | | "noContent" : "内容がありません。", |
| | | "noRecord" : "記録がありません。", |
| | | "noComments" : "コメントがありません。", |
| | | "noAttachedFile" : "添付されたファイルがありません。", |
| | | "noValueEntered" : "入力した値がありません。", |
| | | "noValueSelected" : "選択した値がありません。", |
| | | "writeWaring2" : "<li>タイトルのコラムは最大300文字まで入力することができます。</li><li>内容コラムは最大5000文字まで入力することができます。</li><li>プロジェクトコラムはプロジェクトキーを入力しなければなりません。<dl><dt>プロジェクトキーはプロジェクトリストで確認できます。</dt></dl></li><li>タイプコラムはイシューコラム名を入力しなければなりません。<dl><dt>タイプ名はタイプリストで確認できます。</dt></dl></li><li>優先順位のコラムは,低い,普通,高いから一つだけ入力しなければなりません。</li><li>重要度コラムは低い,普通,深刻の中で一つだけ入力しなければなりません。</li><li>担当者は電子メールで指定できます。<dl><dt>複数の担当者を指定するには,#に区分して登録することができます。</dt><dt>ex) wisestoneowl@gmail.com#support@wisestone.kr </dt><dt>当該担当者が登録しようとするイシューのプロジェクトに参加していなければなりません。</dt></dl></li><li>開始日は,次のような形式で入力しなければなりません。<dl><dt>日付入力値結果 2018-11-22 10:30:00 AM O </dt></dl></li><li>J コラムからはユーザ定義フィールドです。 ご希望のフィールド値を入力しなければなりません。<dl><dt>当該ユーザ定義フィールドが文字列入力フィールドの場合,最大100 文字まで入力することができます。</dt><dt>当該ユーザ定義フィールドが多重選択フィールドなら,#を使用して様々な値を入力することができます。</dt><dt>ex) オプション値が猫,子犬,ウサギの場合猫とウサギを値にするためには <span class=\"fc-blue\">猫#ウサギ</span>猫#ウサギ </dt></dl></li>", |
| | | "color" : "色相", |
| | | "activityLogs" : "活動内訳", |
| | | "updatableStatus" : "変更可能な状態", |
| | | "testCase" : "テストケース", |
| | | "updateStatus" : "状態変更", |
| | | "tcmProject" : "テストケース管理プロジェクト", |
| | | "btsProject" : "イシュー管理プロジェクト", |
| | | "projectName" : "プロジェクト名", |
| | | "setParticipatingInProject" : "プロジェクトに参加するユーザを設定してください。", |
| | | "noUpdatedStatus" : "変更できる状態はありません。", |
| | | "wait" : "待ち", |
| | | "progress" : "進行", |
| | | "end" : "終了", |
| | | "choose" : "選んでください。", |
| | | "stringField" : "文字列フィールド", |
| | | "multipleSelectionField" : "多重選択フィールド", |
| | | "singleSelectionField" : "単一選択フィールド", |
| | | "detailInformation" : "詳細情報", |
| | | "beginEnglishTheProject" : "プロジェクトキーは英文で始めなければなりません。", |
| | | "least3Characters" : "最小3文字以上入力しなければなりません。", |
| | | "upTo10Characters" : "最大10文字まで入力できます。", |
| | | "upTo20Characters" : "最大20文字まで入力できます。", |
| | | "upTo15Characters" : "最大15文字まで入力できます。", |
| | | "upTo50Characters" : "最大50文字まで入力できます。", |
| | | "upTo100Characters" : "最大100文字まで入力できます。", |
| | | "profile" : "プロフィール", |
| | | "profilePicture" : "プロフィール写真", |
| | | "thisWeek" : "今週", |
| | | "lastWeek" : "先週", |
| | | "last7Days" : "最近の 7日", |
| | | "thisMonth" : "今月", |
| | | "lastMonth" : "先月(1日~末日)", |
| | | "last30Days" : "此の程三十日", |
| | | "directInput" : "直接入力", |
| | | "pleaseEnterComments" : "コメントを入力してください", |
| | | "overallIssueHandlingStatus" : "全問題処理の現況", |
| | | "emailCannotBeChanged" : "メールは変更できません。", |
| | | "companyInformation" : "WISESTONE Co., Ltd<br/>事業者登録番号 : 220-87-50221 <span>|</span> 代表取締役 : イ·ヨンソク <br/>本社 : ソウル特別市瑞草区江南大路291南江ビル6階", |
| | | "companyInformation2" : "WISESTONE Co., Ltd <span>|</span> 事業者登録番号: 220-87-50221 <span>|</span> 代表取締役 イ·ヨンソク<br/>本社 : ソウル特別市瑞草区江南大路291南江ビル6階 <!--<span>|</span> 代表電話 02-6257-5958 --><span>|</span> E-mail: <a href=\"mailto:supportowl@wisestone.kr\">supportowl@wisestone.kr </a><br/><small>CopyRight WISESTONE All rights reserved.</small>", |
| | | "noImage" : "添付されたイメージがありません。", |
| | | "failedLanguageChange" : "言語変更の失敗", |
| | | "notSelectedLanguage" : "言語の選択になりませんでした。", |
| | | "exceedsMaximumUsersWorkspace" : "業務空間最大ユーザー超過", |
| | | "deleteParticipatingWorkspaceReminder" : "参加業務空間削除を知らせる", |
| | | "failedToUpdateParticipatingSessions" : "参加セッションのアップデート失敗", |
| | | "disableParticipationWorkspace" : "参加業務,空間不活性化を知らせる", |
| | | "disableParticipationWorkspaceMessage" : "現在利用している業務空間から除外されました。", |
| | | "alertsAboutSystem" : "システム情報", |
| | | "newAlert" : "新しいお知らせが来ました。", |
| | | "pleaseWait" : "少々お待ちください。", |
| | | "createIssue" : "イシュー生成", |
| | | "updateIssue" : "争点変更", |
| | | "deleteIssue" : "イシュー削除", |
| | | "updateTitle" : "タイトルが変更されました。", |
| | | "updateContent" : "内容が変更されました。", |
| | | "updateProject" : "プロジェクトが変更されました。", |
| | | "updateSeverity" : "重要度が変更されました。", |
| | | "updatePriority" : "優先順位が変更されました。", |
| | | "updateHasStatus" : "状態が変更されました。", |
| | | "updateHasStatusReservation" : "イシュー発生の予約日となり,状態が変更されました。", |
| | | "updateWorkflowNotExist" : "変更されたワークフローに状態が存在せず,イシューの状態が変更されました。", |
| | | "updateIssueType" : "イシュータイプが変更されました。", |
| | | "updatePeriod" : "期間が変更されました。", |
| | | "unspecified" : "未指定", |
| | | "updateAssignee" : "担当者が変更されました。", |
| | | "none" : "無し", |
| | | "updateAttachment" : "添付ファイルが変更されました。", |
| | | "deleteAttachment" : "添付ファイルが削除されました。", |
| | | "registerAttachment" : "添付ファイルが登録されました。", |
| | | "updateCustomField" : "ユーザ定義フィールドが変更されました。", |
| | | "updateIssueCustomField" : "ユーザ定義フィールドオプション値が変更され,イシューのユーザ定義フィールド値が変更されました。", |
| | | "updateIssueCustomFieldType" : "ユーザ定義フィールド類型が変更され,イシューの使用者定義フィールド値が変更されました。", |
| | | "continue" : "継続", |
| | | "failedToUserListLookUp" : "ユーザーリスト照会に失敗", |
| | | "failedToProjectListLookUp" : "プロジェクトリスト照会に失敗", |
| | | "failedToWorkflowListLookUp" : "ワークフローリストの照会に失敗", |
| | | "title" : "題目", |
| | | "number" : "番号", |
| | | "m" : "月", |
| | | "d" : "日", |
| | | "emptyUser" : "選択できる担当者がいません。", |
| | | "emptyProject" : "選択できるプロジェクトがありません。" |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | { |
| | | "dashboard": { |
| | | "dashboardTotal" : "전체", |
| | | "dashboardProject" : "프로젝트", |
| | | "downloadToImage": " 이미지로 다운로드", |
| | | "downloadToExcel": " 엑셀로 다운로드", |
| | | "remainedIssue": "잔여 일감", |
| | | "delayedIssue": "지연된 일감", |
| | | "allocatedIssue": "할당된 일감", |
| | | "registeredIssue": "등록한 일감", |
| | | "unallocatedIssue": "미할당 일감", |
| | | "completionIssue": "완료 일감", |
| | | "processingRate": "처리율", |
| | | "dailyAverage": "일 평균", |
| | | "inProgressStatusOfProject": "진행중인 프로젝트 현황", |
| | | "progressProject": "진행 프로젝트", |
| | | "issueAll": "전체 일감", |
| | | "projectProgress": "프로젝트 진행률", |
| | | "admin": "관리자", |
| | | "progressPercent": "진행률", |
| | | "teamMember": "팀원", |
| | | "assignedToMeIssue": "나에게 할당된 일감", |
| | | "assignedTodayIssue": "오늘 할당된 일감", |
| | | "progressingIssue": "진행중인 일감 목록", |
| | | "issueName": "일감이름", |
| | | "managementRisk": "위험 관리", |
| | | "updateIssueAndStatusUpdate": "빈번한 담당자 변경, 잦은 상태 변경 등 일감 처리에 위험 요소가 있다고 보여지는 일감 목록", |
| | | "reversalStatusUpdate": "번복되는 상태 변경", |
| | | "reversalAssigneeUpdate": "빈번한 담당자 변경", |
| | | "division": "구분", |
| | | "registeredByMeIssue": "내가 등록한 일감 현황", |
| | | "registeredTodayIssue": "오늘 등록한 일감", |
| | | "delayingIssue": "지연 중인 일감", |
| | | "delayDate": "지연일", |
| | | "statusOfIssues": "상태별 일감 현황", |
| | | "doesNotExistWorkflow": "워크플로우가 없습니다.", |
| | | "progressByMember": "멤버별 진행률", |
| | | "assignedIssue": "담당 일감", |
| | | "delaying": "지연중", |
| | | "myIssueStatus": "나의 일감 현황", |
| | | "complete": "완료", |
| | | "registration": "등록", |
| | | "assigned": "담당", |
| | | "failedDashboardWidgetLookup": "대시보드 위젯 조회 실패", |
| | | "failedToTotalIssueHandling": "전체 일감 처리현황 실패", |
| | | "notSupportedImageDownload": "이미지 다운로드 미지원", |
| | | "ieNotSupportedImageDownload": "IE 에서는 이미지 다운로드를 지원하지 않습니다.", |
| | | "overallIssueHandlingStatusPNG": "전체 일감 처리 현황.png", |
| | | "excludeWorkspaceParticipation": "업무 공간 참여 제외", |
| | | "failedToListOfPendingIssuesLookup": "지연중인 일감 목록 조회 실패", |
| | | "statusOfIssuesPNG": "상태별 이슈 현황.png", |
| | | "failedToCheckProgressMember": "멤버별 진행률 조회 실패", |
| | | "failedToListOfIssueAllocatedLookup": "나에게 할당된 일감 목록 조회 실패", |
| | | "failedToListOfIssueRegisteredLookup": "내가 등록한 일감 목록 조회 실패", |
| | | "failedToRiskManagementIssueLookup": "위험 관리 일감 조회 실패", |
| | | "issueTypeStandIssues": "일감 유형 별 일감 현황", |
| | | "workspaceExpire1": "사용하시는 업무 공간", |
| | | "workspaceExpire2": "의 사용 기간이", |
| | | "workspaceExpire3": "일 남았습니다.", |
| | | "workspaceExpire4": "의 사용 기간이 만료되었습니다.", |
| | | "extensionServicePeriod": "사용기간 연장" |
| | | }, |
| | | "managementWorkspace": { |
| | | "managementWorkspace": "업무 공간 관리", |
| | | "workspaceUserLevelManagement" : "사용자 등급 관리", |
| | | "departmentManagement" : "부서 관리", |
| | | "myWorkspace": "OWL 정보", |
| | | "workspaceInformation": "기본 정보", |
| | | "serviceStatus": "서비스 상태", |
| | | "numberOfUsers": "사용자 수", |
| | | "pleaseEnterNumberOfUsers": "사용자 수를 입력하세요.", |
| | | "inviteUser": "사용자 초대", |
| | | "invite": "초대", |
| | | "emailAddress": "이메일 주소", |
| | | "useStorageSize": "사용 용량", |
| | | "usageTraffic": "사용 트래픽", |
| | | "duration": "사용 기간", |
| | | "inUse": "사용중", |
| | | "expiredUse": "사용 만료", |
| | | "projectToInvolved": "참여시킬 프로젝트", |
| | | "daysLeft": " 일 남음)", |
| | | "daysLeftUnlimited": "제한없음", |
| | | "pay": "결제하기", |
| | | "paymentInformation": "결제 정보", |
| | | "cardNumber": "카드번호", |
| | | "FirstTwoDigits": "앞2자리", |
| | | "validity": "유효기간", |
| | | "dateOfOnesBirth": "생년월일", |
| | | "exampleBirthInput": "생년월일은 6자리로 입력해주세요.", |
| | | "brn": "(사업자번호)", |
| | | "agreeMyPersonalInformation": "본인의 개인정보를 결제 서비스업체에 제공함에 동의합니다.", |
| | | "termsAndConditions": "약관", |
| | | "agreeToMakeThePayment": "에 동의하셔야 결제가 가능합니다.", |
| | | "productInformation": "상품 정보", |
| | | "paymentType": "결제 유형", |
| | | "paymentMethod": "결제 수단", |
| | | "paymentDate": "결제일", |
| | | "monthly": "매월", |
| | | "yearly": "매년", |
| | | "creditCard": "신용카드", |
| | | "paymentAmount": "결제 금액", |
| | | "includesVAT": "(부가세포함)", |
| | | "regularPayment": "정기 결제하기", |
| | | "regularPaymentInformation": "정기 결제 정보", |
| | | "paymentScheduledAmount": "결제 예정금액", |
| | | "priceInformation": "가격 정보", |
| | | "1to10People": "1 ~ 10 인", |
| | | "11orMore": "11인 이상 ~", |
| | | "perPerson": "1인당", |
| | | "cancelRegularPayment": "정기 결제 해지", |
| | | "updateRegularPayment": "정기 결제 변경", |
| | | "joinStatus": "참여 상태", |
| | | "paymentCompleted": "결제가 완료되었습니다.", |
| | | "scheduleUserWaitingToJoin": "참여 대기 사용자 예약", |
| | | "schedulePeopleWaitingToParticipate": "결제하는 사용자 수가 줄어들 경우 참여 대기 상태가 되는 사용자를 미리 예약할 수 있습니다.", |
| | | "privacyPolicyAndTermsOfUse": "개인 정보 처리 방침 및 이용약관", |
| | | "termsOfUse": "이용약관", |
| | | "termsOfUse1": "제 1조 (목적)<br>이 약관은 주식회사 와이즈스톤(이하 '회사'라 합니다)이 제공하는 OWL 서비스(OWL solution 사이트 및 OWL ITS 이하 “OWL 서비스”)의 이용 관련하여 회사와 회원 간의 권리, 의무 및 책임사항, 이용조건 및 절차 등 필요사항을 규정함을 목적으로 합니다.<br><br>제 2조 (정의)<br>이 약관에서 사용하는 용어의 정의는 다음과 같습니다.<br>(1) \"서비스\"라 함은 구현되는 단말기(PC, 휴대형단말기 등의 각종 유무선 장치를 포함)와 상관없이 \"회원\"이 이용할 수 있는 OWL 서비스와 관련 제반 서비스를 의미합니다.<br>(2) “OWL ITS”라 함은 “회원”과 구성원들 간에 업무를 진행하면서 발생하는 여러 문제를 시스템에 등록하고 진행 상황을 기록하는 플랫폼을 의미합니다.<br>(3) \"회원\"이라 함은 회사의 \"서비스\"에 접속하여 이 약관에 따라 \"회사\"와 이용계약을 체결하고 \"회사\"가 제공하는 \"서비스\"를 이용하는 고객을 말합니다.<br>(4) \"비밀번호\"라 함은 \"회원\"이 부여받은 이메일 주소와 일치되는 \"회원\"임을 확인하고 비밀보호를 위해 \"회원\" 자신이 정한 문자 또는 숫자의 조합을 의미합니다.<br>(5) “구성원”이라 함은 “회원”으로부터 “OWL ITS” 이용권한을 부여받아 “회원” 관리하에 “OWL ITS”를 이용하는 자를 의미하여, “회원”으로부터 부여받은 권한에 따라 다음과 같이 “업무 공간관리자” 및 “일반 구성원”으로 구분됩니다.다만 “회원”이 “업무 공간 관리자”인 경우“구성원”은 “일반 구성원”으로 구분됩니다.<br>(6) \"업무 공간 관리자\"라 함은 \"OWL ITS\"의 자신의 업무 공간에 대해 모든 관리 기능을 이용할 수 있고, \"OWL ITS\" 이용계약을 해지할 수 있는 \"회원\" 본인을 의미합니다.<br>(7) \"일반 구성원\"이라 함은 별다른 관리 권한 없이 \"OWL ITS\"을 이용하는 \"구성원\"을 의미합니다.<br>(8) “계정”이라 함은 “회원”이 OWL 서비스를 이용하기 위하여 필요한 이메일 주소 및 “비밀번호”를 기초로 하여 생성된 로그인 “계정”이나 다른 서비스와 연동되는 서비스의 계정을 의미합니다.<br>(9) “업무 공간”이라 함은 “OWL ITS”를 이용하기 위하여 생성된 서비스 계정으로 협업이 가능한 공간을 의미합니다. “회원”의 “계정”은 여러 업무공간에 속할 수 있습니다.<br>(10)“게시물”이라 함은 “회원”이 “서비스”를 이용함에 있어 “서비스”상에 게시한 부호•문자•동영상 등의 정보 형태의 글, 사진, 동영상 및 각종 파일과 링크 등을 의미합니다.<br>(11) “상품”이라 함은 “회원”이 “서비스”의 원활한 이용을 위해 “회사”가 지정한 요금제에 따라 “회원”이 선택하고 계약한 서비스 한 종류를 의미합니다.“회원” 선택할 수 있는 “상품”은 요금 지불이 필요 없는 무료상품과 이용요금을 지불해야 하는 유료상품으로 회원에게 제공될 수 있습니다.<br>(14) \"결제\"라 함은 \"회원\"이 \"OWL ITS\"의 유료 기능을 이용하기 위하여 비용을 \"회사\"에 지급하는 것을 의미합니다.<br>(15) \"정기결제\"라 함은 매달 자동결제일에 이용요금이 \"결제\"되어 OWL ITS 유료 기능을 이용할 수 있는 방식을 말합니다.<br> <br>제 3조 (약관 게시와 개정)<br>(1) 회사는 본 약관의 내용을 회원이 쉽게 알 수 있도록 OWL 서비스 결제 화면에 약관으로 게시합니다.<br>(2) 회사는 필요한 경우 관련 법령을 위배하지 않는 범위 내에서 본 약관을 변경할 수 있습니다.<br>(3) 회사가 본 약관을 개정하는 경우에는 적용 일자 및 개정사유를 명시하여 현행 약관과 함께 OWL 서비스 공지사항 게시판에 적용 일자 15일 전부터 적용 일자 전일까지 공지합니다. 단, 피치 못하게 회원에게불리한 내용으로 약관이 개정되는 경우에는 공지 외에 회원이 회원가입 시 기재한 이메일 주소로 이메일 발송, 로그인 시 알림 팝업창 또는 동의창 등의 전자적 수단을 통해 적용 일자 30일 전에 따로 명확히 통지합니다.<br>(4) 회사가 전항에 따라 개정약관을 공지 또는 통지하면서 회원에게 30일 기간 내에 의사표시를 하지 않으면 의사표시가 표명된 것으로 본다는 뜻을 명확하게 공지 또는 통지하였음에도 회원이 명시적으로 거부의 의사표시를 하지 아니한 경우 회원이 개정약관에 동의한 것으로 봅니다.<br>(5) 회원이 개정약관에 동의하지 않을 경우 회사는 개정 약관의 내용을 적용할 수 없으며, 이 경우 회원은 이용계약을 해지할 수 있습니다. 다만, 기존 약관을 적용할 수 없는 특별한 사정이 있는 경우 회사는 이용계약을 해지할 수 있습니다.<br> <br>제 4조 (약관 외 준칙)<br> 본 약관에 명시되지 않은 사항은 전기통신 기본법, 전기통신 사업법 및 기타 관련 법령의 규정, 본 약관의 취지 및 동종 업계의 일반적인 관행에 따라서 해석하여 적용합니다.<br><br>제 5조 (이용계약 체결)<br>(1) OWL 서비스 이용계약은 회원이 되고자 하는 자가 본 약관 내용에 동의하고 이메일 주소와 비밀번호를 등록한 후 회원가입신청을 하면 회사가 이메일 주소 유효 인증 후 승낙함으로써 체결됩니다.<br>(2) 계정으로 등록된 이메일 주소는 변경이 불가능합니다.<br>(3) 가입 이후 명시적으로 서비스를 해지하기 전까지는 언제든지 구성원 추가 및 서비스 이용 기간 추가 신청/결제하여 서비스를 이용할 수 있습니다.<br>① 이용 계약 만료 후 이용할 수 있는 기능은 일부 제한적이며 6개월 경과 후 서비스 이용정보가 삭제됩니다.<br>(4) 회사는 무료로 제공되는 서비스의 일부 또는 전부를 회사의 정책 및 운영의 필요 상 수정, 중단, 변경할 수 있으며, 이에 대하여 관련법에 특별한 규정이 없는 한 회원에게 별도의 보상을 하지 않습니다.<br>(5) 회사는 다음 각 호에 해당하는 신청에 대해서는 승낙을 하지 않거나 사후에 이용 계약을 해지할 수 있습니다.<br>① 본 약관 제 10조 제 3항에 의하여 회사가 이용계약을 해지하였던 회원이 다시 회원가입 신청을 하는 경우<br>② 타인의 개인정보를 이용한 경우<br>③ 허위의 정보를 기재하거나 회사가 필수사항으로 제시한 정보를 기재하지 않는 경우<br>④ 기타 관련 법령에 위배되거나 세부지침 등 회사가 정한 기준에 반하는 경우<br> (6) 회사는 아래 각 호의 경우에는 회원가입 신청자의 계정 생성을 유보할 수 있습니다.<br>① 제공 서비스 설비 용량에 현실적인 여유가 없는 경우<br>② 서비스 제공을 위한 기술적인 부분에 문제가 있다고 판단되는 경우<br>③ 기타 회사가 재정적, 기술적으로 필요하다고 인정하는 경우<br> <br>제 6조 (회원정보의 관리)<br>(1) 회원의 계정, 비밀번호에 대한 관리책임은 회원에게 있으며, 이를 제 3 자가 이용하도록 허락할 수 없습니다.<br>(2) 회원은 계정 및 비밀번호가 도용되거나 제 3 자가 사용하고 있음을 인지한 경우에는 이를 즉시 회사에게 통지하고 회사의 안내에 따라야 합니다.<br>(3) 전 항의 경우에 해당 회원이 회사에 해당 사실을 통지하지 않거나 통지한 경우에도 회사의 안내에 따르지 않아 발생한 손해에 대하여 회사는 책임지지 않습니다.<br>(4) 회원은 OWL 서비스 내 계정 관리 기능을 통하여 언제든지 본인의 개인정보를 열람하고 수정할 수 있습니다. 회원이 본인의 정보를 적절하게 수정하지 않아 발생하는 불이익에 대하여 회사는 책임을 부담하지 않습니다.<br>(5)회원이 회사에게 별도로 개인정보의 파기 및 보관을 요청하는 경우, 개인정보보호 시행령에 따라 회사와 헙의 하여 결정된 방법 (서면, 유선상 등)으로 신청하여야 하며 회원의 요구사항에 따라 별도의 비용이 발생할 수 있습니다.<br> <br>제 7조 (회사의 의무)<br>(1) 회사는 OWL 서비스 제공 및 보안과 관련된 설비를 지속적이고 안정적인 서비스 제공에 적합하도록 유지, 점검 또는 복구 등의 조치를 성실히 이행하기 위해 노력합니다.<br>(2) 회사는 회원이 수신 동의를 하지 않은 영리 목적의 광고성 이메일, 알림 메시지 등을 발송하지 아니합니다.<br>(3) 회사는 OWL 서비스의 제공과 관련하여 알게 된 회원의 개인정보를 본인의 승낙 없이 제 3 자에게 누설, 배포하지 않고, 이를 보호하기 위하여 노력합니다. 회원의 개인정보보호에 관한 기타의 사항은 정보통신망법 및 회사가 별도로 정한 \"개인정보 처리방침\"에 따릅니다.<br><br>제 8조 (회원의 의무)<br>(1) 회원은 아래 각 호의 행위를 하여서는 안 됩니다.<br>① 회원가입 신청 또는 회원정보 변경 시 허위 내용의 등록<br>② 타인의 정보도용<br>③ 회사가 게시한 정보의 변경<br>④ 회사가 정한 정보 이외의 정보(컴퓨터 프로그램 등) 등의 송신 또는 게시<br>⑤ 회사와 기타 제3자의 저작권 등 지적 재산권을 침해하는 행위<br>⑥ 회사 및 기타 제3자의 명예를 훼손하거나 업무를 방해하는 행위<br>⑦ 외설 또는 폭력적인 메시지, 화상, 음성, 기타 공서양속에 반하는 정보를 OWL 서비스에 공개 또는 게시하는 행위<br>⑧ 회사의 동의 없이 영리를 목적으로 OWL 서비스를 이용하는 행위<br>⑨ 다른 서비스 이용자의 정보를 무단으로 수집, 이용하거나 다른 사람들에게 제공하는 행위<br>⑩ 회사의 동의 없이 OWL 서비스 또는 이에 포함된 소프트웨어 일부를 복사, 수정, 배포, 판매, 양도, 대여, 담보 제공하거나 타인에게 그 이용을 허락하는 행위와 소프트웨어를 역설계하거나 소스 코드의 추출을 시도하는 등 OWL 서비스를 복제, 분해 또는 모방하거나 기타 변형하는 행위<br>⑪ 회사가 안내하는 방법 이외의 다른 방법을 사용하여 OWL 서비스에 접근하는 행위<br>⑫ 본인과 관련 없는 OWL 서브도메인을 생성 선점하여 타인의 OWL 서비스 사용을 방해하는 행위<br>⑬ 자신의 OWL 서비스 이용권한, 기타 이용 계약상 지위를 타인에게 양도·증여하거나 담보로 제공하는 행위<br>⑭ 기타 불법적이거나 부당한 행위<br> (2) 회원이 관련 법령, 본 약관 또는 ‘세부지침’을 준수하지 않는 경우 회사는 회원의 위반행위 등을 조사하거나 회원의 OWL 서비스 이용을 일시 또는 계속하여 중단하거나, 재가입에 제한을 둘 수도있습니다. 이로 인한 해지 후 발생된 정보 손실에 대한 책임은 회원에게 있습니다.<br>(3) 회사는 관련 법령에서 정하는 기간 동안 회원이 서비스를 이용하기 위해 로그인 혹은 접속한 기록이 없는 경우 회원이 등록한 OWL 계정 이메일 주소 등 기타 유효한 수단으로 통지 후 여러분의 정보를파기하거나 분리 보관할 수 있으며, 이로 인해 OWL 서비스 이용을 위한 필수적인 정보가 부족할 경우 이용계약이 해지될 수도 있습니다.<br>(4) 회원은 유료 서비스 이용에 대한 대가로 본 약관을 근거로 회사가 정한 요금을 납부할 의무가 있으며, 요금 미납으로 인해 발생하는 문제에 대하여 회사의 과실이나 회사가 인정한 사유에 의한 경우를 제외하고모든 책임은 회원에게 있습니다.<br> <br>제 9조 (서비스의 변경 및 중단)<br>(1) 회사는 OWL 서비스를 365일, 24시간 쉬지 않고 제공하기 위하여 최선의 노력을 다합니다. 다만, 장비의 유지·보수를 위한 정기 또는 임시 점검 또는 다른 상당한 이유로 서비스의 제공이 일시중단될 수 있으며, 이 경우 미리 서비스 제공 화면에 공지합니다. 만약, 회사로서도 예측할 수 없는 이유로 OWL 서비스가 중단된 때에는 회사가 상황을 파악하는 즉시 최대한 빠른 시일 내에 서비스를 복구하도록 노력합니다.<br>(2) 회사는 운영상, 기술상의 필요에 따라 OWL 서비스의 전부 또는 일부 내용을 변경 또는 중단할 수 있으며, 서비스 변경 또는 중단 전에 OWL 서비스 초기화면 또는 공지사항란에 게시하여 회원에게 공지합니다. 회원에게 중대한 영향을 미치는 서비스 변경 사항이나 중단은 공지 외에 회원이 회원가입 시 등록한 이메일 주소로 이메일 발송, 로그인 시 알림 팝업창 또는 동의창 등의 전자적 수단을 통해 적용 일자30일 전에 따로 명확히 통지합니다.<br>(3) 회사는 다음의 경우에는 OWL 서비스 제공을 중지할 수 있습니다.<br>① 국가비상상태, 서비스 설비의 장애, 서비스 이용의 폭주 등 정상적 서비스에 지장이 발생할 우려가 있을 경우<br>② 천재지변 등 회사가 피할 수 없는 사유로 서비스 제공이 사실상 불가능한 경우<br>③ 전기통신사업법에 규정된 기간통신 사업자가 전기통신 서비스를 중지했을 경우<br>④ 서비스를 제공하는 시스템의 갑작스런 장애로 인하여 서비스를 제공할 수 없는 경우<br> ⑤ 기타 이에 준하는 사유로 서비스를 제공할 수 없는 경우<br>⑥ 전항 ① ~⑤의 서비스 중지에 대하여 회원은 본 이용약관 제19조의 손해배상 이외의 피해 등 직간접적인 배상이나 보상을 요구할 수 없습니다. <br>(4) 회사는 다음과 같이 OWL의 서비스 내용을 변경할 수 있습니다.<br>① 회사는 별도로 공지한 무료사용기간 이후 서비스를 유료화 할 수 있으며 무료사용 기간에도 변동이 있을 수 있습니다.<br>② 서비스 이후 유료 사용시 결제 비용이나 기간이 변경될 수 있습니다. <br>③ 서비스에서 제공하는 용량, 백업기간, 제공 트래픽 등이 변경될 수 있습니다.<br>④ 회사는 위 3개 항의 경우 변동 발생일 30일 전에, 사용자가 가입한 E-mail 과 공지사항으로 사전 통지합니다.<br>⑤ 만일 위에 동의하지 않는 경우 사용자는 탈퇴할 수 있습니다. 단, 이경우 데이터가 유실될 수 있으며 책임은 사용자에게 있습니다.<br> <br>제 10조 (시스템 개선에 따른 고객 데이터 이전)<br>(1) 회사는 대규모 시스템 개선 등 불가피한 경우 고객의 동의나 신청절차 없이 기존 시스템에 저장된 고객의 데이터를 신규시스템으로 이전하여 서비스를 제공할 수 있습니다.<br> <br>제 11조 (서비스 해지)<br>(1) 서비스 가입 해지에는 회원의 서비스 해지 신청에 의한 해지와 회사의 직권에 의한 해지가 있습니다.<br>(2) 회원은 언제든지 OWL 서비스 내 제공되는 메뉴를 이용하여 서비스 해지 신청을 할 수 있으며, 업무 공간 해지 시에만 아래에 각 호에 따라 처리됩니다.<br>① 업무 공간의 서비스 해지는 해당 업무 공간의 관리자만이 가능합니다.<br>② 유료 기능이 포함된 업무 공간 계약해지 시에는 자동으로 정기 결제 연동이 취소됩니다.<br>(2) 회사는 관련 법령이 정하는 바에 따라 이용계약 해지 신청을 신속히 처리합니다. 단, 결제 주기가 월 단위로 설정된 정기 결제의 경우는 아래의 각 호에 따라 계약해지가 처리됩니다.<br>① 서비스 계약 해지는 서비스 해지한 다음날부터 서비스 계약해지가 처리됩니다.<br>② 회원이 서비스 계약해지 신청한 일자까지 사용 요금이 소진된 이후에 계약해지가 처리됩니다. <br>(3) 유료 서비스를 이용 중인 회원은 OWL 서비스 회원탈퇴 전에 OWL 서비스 내에서 본인이 작성한 게시물을 직접 삭제하여야 합니다. 단, 회원 본인이 개설한 업무 공간이 서비스 해지된 경우에는 게시물도 전부 자동삭제 됩니다.<br>(4) 일반 구성원인 회원이 게시물을 삭제하지 않고 회원 탈퇴를 하는 경우 OWL 서비스 업무 공간 내에 게시물은 삭제되지 않고 남아있게 되므로 탈퇴 이전에 주의 깊게 확인하여야 합니다.<br>(5) 이용계약이 해지되면 회원이 삭제하지 않은 게시물 및 관련 법령 및 개인정보 처리방침에 따라 회원의 일정한 정보를 보유하는 경우를 제외하고는 회원의 정보는 모두 삭제됩니다.<br>(6) 회원이 본 약관 제 8조 제 1항을 위반한 경우 중대한 위반으로 보아 회사는 해당 회원에 대하여 이용계약을 해지할 수 있습니다. 이 경우 회사는 탈퇴 처리 전에 처리사유 및 세부 내용을 기재하여 회원의 OWL 계정 이메일 주소로 이메일을 발송하여 통지합니다.회원은 회사의 통지를 받은 날로부터 30 일 이내에 이의를 제기할 수 있으며, 회사는 회원의 이의가 정당하다고 인정하는 경우 회원과의 서비스 이용계약을 재개합니다.<br><br>제 12조 (자료의 보관)<br>(1) 이용계약 기간이 만료된 회원의 자료는 기간 만료일로부터 1개월 보관을 원칙으로 하며, 1개월 이내에 기간연장 상품을 구매 또는 로그인 기록이 없을 경우 데이터가 삭제될 수 있습니다.<br>(2) 무료 서비스를 이용 중인 회원의 자료는 서비스 해지 후 즉시 삭제될 수 있습니다.<br>(3) 다음의 경우 이용계약기간 만료 또는 가입 해지된 회원의 자료를 계속 보관할 수 있습니다.<br>① 회사가 가입 해지 신청 회원의 요금 등 이력확인을 위하여 일정 기간 동안 정보 보관이 필요하다고 판단되는 경우<br>(4) 서비스 이용으로 발생한 자료 중 작업 로그는 6개월간 보관되며 이전 작업 로그는 자동 삭제됩니다.<br> <br>제 13조 (정보의 전달)<br>(1) 회사는 회원의 동의 하에 서비스의 신규 기능 및 각종 유용한 정보를 회원이 등록한 이메일 또는 문자메시지를 통하여 회원에게 전송할 수 있습니다.<br>(2) 회사는 서비스 이용 기간의 만료 시점, 해지 안내와 같은 필수전달 정보를 회원의 동의와 무관하게 회원에게 전송할 수 있습니다.<br> <br>제 14조 (서비스 이용의 정지)<br>(1) 회사는 회원이 본 약관상 자신의 의무를 위반하거나 OWL 서비스의 정상적인 운영을 방해한 경우에는, 이에 대한 개선을 요구할 수 있으며 개선되지 않을 경우에는 사전 통지 없이 서비스 이용을 정지시킬 수 있습니다.회사는 회원의 귀책사유가 해소되었다고 판단되었을 경우에는 서비스를 재개할 수 있습니다.<br>(2) OWL 서비스 이용 정지 기간은 OWL 서비스 제공 기간에 포함됩니다.<br> <br>제 15조 (상품의 설명)<br>(1) OWL 서비스 상품은 회원이 다른 회원과의 협업을 위해 생성하는 업무공간에 적용되며, 관리자 권한을 가진 구성원에 의해 상품을 구매할 수 있습니다.<br>(2) 회원이 업무 공간을 생성한 경우 무료상품인 FREE(무료체험)에 가입되며, 무료상품의 조건인 업무 공간의 용량과 구성원의 수 등의 제약을 초과하는 경우 유료상품을 구매하여 서비스 이용에 대한 제약을 해결할 수 있습니다.<br>(3) 회사가 제공하는 상품의 종류와 가격 등의 안내는 서비스 제공 인터넷 사이트(owlsolution.co.kr)에 고시 게재합니다.<br> <br>제 16조 (상품의 계약)<br>(1) 상품의 계약은 업무공간 구성원 중에서 관리자 권한을 가진 관리자가 회사가 제시하는 상품을 신청하고, 지정된 결제수단을 이용하여 결제가 완료되면 계약이 체결됩니다.<br>(2) 업무공간은 회사가 상품 이용 신청을 승낙한 시점부터 상품에 해당하는 사용량을 이용할 수 있습니다. 이 시점은 유료상품을 결제하여 상품을 전환한 후를 의미합니다.<br>(3) 유료상품으로의 변경 신청은 이용대금 결제 완료와 동시에 이루어집니다.<br>(4) 유료상품을 무료상품으로 변경은 불가능합니다.<br>(5) 무료 사용 기간에 유료 상품을 구입 후 취소하면 무료 사용 기간은 모두 사라집니다.<br> <br>제 17조 (요금의 계산)<br>OWL 서비스 이용료의 과금개시일은 회사가 서비스 신청을 승낙한 시점부터 입니다.<br>(1) 일일 요금의 계산은 00시 00분부터 24시 00분까지를 1일로 하며, 서비스 제공의 개시 시간 또는 종료 시간이 1일의 중도인 경우에는 이를 1일로 간주합니다.<br>(2) 회원은 OWL 서비스의 유료 서비스 기능을 신청할 때, 월 단위의 정기결제 방식만 선택하실 수 있습니다.<br>① 유료 서비스 결제 시 사용자 수에 따라 요금이 정해집니다.<br>② 유료 서비스는 결제한 사용자 수 이내의 회원을 활성화하여 사용할 수 있습니다.<br>③ 유료 서비스 사용 중 사용자 추가에 따른 결제가 가능합니다. 사용자 추가 결제를 진행하면 다음달 정기 결제 금액이 변동됩니다.<br> <br>제 18조 (요금 환불)<br>(1) OWL 서비스는 선불 지급방식으로 요금은 법률상 필요한 경우를 제외하고 환불되지 않습니다. 단, 아래 각 호에 해당하는 경우에는 그에 맞는 환불 신청 및 처리가 가능합니다.<br>① 환불은 서비스 가입 당일에 취소 요청 시에만 결제 취소를 적용합니다. <br>② 환불 금액은 회원이 환불 신청 시 결제한 카드로 환불됩니다.<br>③ 해지 요금 환불 시기는 해지 요청일 기준 15일 이내 지급하는 것으로 합니다.<br> <br>제 19조 (손해배상)<br>(1) 회사는 무료 서비스의 이용과 관련하여 회원에게 발생한 손해에 대해 어떠한 책임도 지지 않습니다.<br> (2) 회사의 유료 서비스 제공과 관련하여 회사의 고의 또는 중과실로 인하여 회원이 서비스 이용에 손해를 입은 경우 합당하고 적절한 보상을 받을 수 있습니다. 손해배상을 청구하고자 하는 경우 이에 대한 사유, 청구액 및 산출근거를 기재하여 서면으로 신청하여야 합니다.<br>(3) 손해배상의 조건은 아래와 같습니다.<br>① 회사의 귀책사유로 인해 회원이 12 시간 이상 서비스를 이용하지 못하는 경우<br>② 월 장애 누적 시간이 24 시간을 초과하여 손해가 발생한 경우<br>③ 손해배상액 = 월정액/30일 * (중지시간/24시간) *3<br>④ 전항 ① ~ ③ 로 산정된 손해 배상액이 월 서비스 이용요금을 초과할 경우 1개월의 서비스 이용요금으로 제한합니다. <br><br>제 20조 (면책조항)<br>(1) 천재지변, 전쟁 및 기타 이에 준하는 불가항력으로 인하여 서비스를 제공할 수 없는 경우<br>(2) 기간통신 사업자가 전기통신 서비스를 중지하거나 정상적으로 제공하지 아니하여 손해가 발생한 경우<br>(3) 회원의 귀책사유로 인한 서비스 이용의 장애 또는 손해가 발생한 경우<br>(4) 서비스용 설비의 보수, 교체, 정기점검, 공사 등 부득이한 사유로 손해가 발생한 경우<br>(5) 전기통신사업법 및 시행령 규정에 의하여 서비스를 이용하여 음란물이나 불온한 내용, 허위사실에 의한 명예훼손, 불법복제 등 지적 재산권 침해, 국가기밀 침해, 청소년 유해 매체물 등을 전송, 저장,조회함으로써발생하는 회원의 손해에 법적인 책임을 지지 않습니다.<br>(6) 스토리지 저장 이전에 네트워크 등의 시설 장애로 서비스 이용이 중단되거나 데이터 손실, 에러 등이 발생한 경우<br>(7) 비정상적으로 저장된 자료인 경우. 단, \"정상적으로 저장된 자료\"라 함은 회원이 자료를 전송한 후 용량 증감이나 제반 속성변경 없이 정상적으로 스토리지에 저장됨을 의미합니다.<br>(8) 회원의 실수나 서비스에 대한 불충분한 이해로 인해 회원에게 손해가 발생한 경우<br>(9) 회사는 회원이 이용계약을 해지하거나, 상품의 변경, 사용자나 업무 공간의 해지로 인한 데이터 소실 등에 대해서는 책임을 지지 않습니다.<br>(10) 회원이 자신의 아이디/비밀번호를 타인에게 공개하거나, 관리 소홀로 아이디/비밀번호가 노출되어 회원에게 어떠한 손해가 발생한 경우<br>(11) 원활한 서비스 제공을 위해 정기점검이나 긴급점검 시행 시 사전공지 후 일시적으로 서비스를 중지할 수 있으며 이에 따라 서비스를 이용하지 못함으로 인해 발생한 손해의 경우 책임이 면책됩니다.<br>(12) 회사는 회원 상호 간, 회원의 관계 회사 또는 제 3자 상호 간에 서비스를 매개로 발생한 분쟁에 대해서는 개입할 의무가 없으며, 이로 인한 손해를 배상할 책임이 없습니다.<br> (13) 회사는 데이터베이스 장애를 대비해 24시간 주기로 데이터베이스를 백업하며 데이터 손실이 발생할 경우 백업된 데이터로 복원하는 것으로 책임을 다합니다.<br><br>제 21조 (준거법 및 관한)<br>(1) 회사와 회원은 서비스와 관련하여 발생한 분쟁을 원만하게 해결하기 위하여 상호 간의 최선의 노력을 해야 합니다.<br>(2) 회사가 정하는 정책 또는 이용약관에 명시되지 아니한 사항에 대해서는 전기통신사업법, 정보통신망 이용촉진 등에 관한 법률 및 기타 관련 법령의 규정, 본 약관의 취지 및 동종 업계의 일반적인 관행에 따라 해석 적용됩니다.<br>(3) 회사와 회원 간 서비스 이용에 관해 발생한 분쟁이 원만하게 해결되지 아니한 경우 관련 소송의 관할은 회사 본점 소재지를 관할하는 법원으로 합니다.<br>– 시행 일자 : 2019년04월 01일", |
| | | "workspaceUserManagement": "사용자 관리", |
| | | "numberOfParticipants": "참여 가능 인원", |
| | | "participation": "참여", |
| | | "waitForParticipation": "참여 대기", |
| | | "withdrawal": "탈퇴", |
| | | "canParticipate": "참여 가능", |
| | | "installingManagerServerAddress": "(매니저 설치 서버 주소)", |
| | | "failedToSelectWorkspaceInformation": "자신이 관리하는 업무 공간 정보 조회 실패", |
| | | "failedToPaymentInformation": "결제 정보 조회 실패", |
| | | "completedPayment": "결제 완료", |
| | | "failedPayment": "결제 실패", |
| | | "cancelTheRegularPaymentReceive": "정기 결제를 해지하겠습니까? \n요금은 환불되지 않으며, \n정기 결제가 해지됩니다.", |
| | | "failedToCancelPayment": "결제 취소 실패", |
| | | "failedToModifyWorkspaceName": "업무 공간 명 수정 실패", |
| | | "failedToRegularPaymentChange": "정기 결제 변경 실패", |
| | | "failedToParticipationStatusChange": "참여 상태 변경 실패", |
| | | "failedToSelectWorkspaceFullUserList": "업무 공간 전체 사용자 목록 조회 실패" |
| | | }, |
| | | "issue": { |
| | | "issueType": "일감 유형", |
| | | "managementIssue": "일감 관리", |
| | | "createIssue": "일감 만들기", |
| | | "issueStatus": "일감 상태", |
| | | "issueNumber": "일감 번호", |
| | | "issueContent": "일감 내용", |
| | | "issueTitle": "일감 제목", |
| | | "relationIssue": "연관 일감", |
| | | "addRelationIssue": "연관 일감 추가", |
| | | "relationIssueTitle": "연관 일감 제목", |
| | | "relationIssueType": "연관 일감 구분", |
| | | "relationIssueSelect": "연관 일감 선택", |
| | | "relationIssueDelete" : "삭제", |
| | | "relationIssueRemove" : "연관 일감 삭제", |
| | | "relationIssueRemoveHistory" : "연관 일감이 삭제되었습니다.", |
| | | "relationIssueAddHistory" : "연관 일감이 추가되었습니다.", |
| | | "requireIssueTitle": "일감 제목을 입력하세요.", |
| | | "issueList": "일감 목록", |
| | | "summaryIssueActivity": "일감 활동 내역 요약", |
| | | "modifyIssues": "일감 수정", |
| | | "continueCreateIssue": "이 화면에서 일감을 계속 생성합니다.", |
| | | "initializedAssigneeCustomField": "프로젝트를 변경하면 담당자, 사용자 정의 필드 값이 초기화 됩니다.", |
| | | "setUpUsersParticipatingInProject": "프로젝트에 참여하는 사용자를 설정합니다.", |
| | | "initializedIssueStatus": "일감 유형을 변경할 경우 사용자 정의 필드, 일감 상태가 초기화 됩니다.", |
| | | "clickToSelectDate": "클릭하면 날짜를 선택할 수 있습니다.", |
| | | "notIssueTypeCustomFields": "일감 유형에 연결된 사용자 정의 필드가 없습니다.", |
| | | "attachOnlyFiles": "hwp, jpg, png, txt, pptx, ppt, pdf, xlsx, xls, docx, zip, gif, jpeg, doc, tif, bmp, wmv, avi, mp4, mkv, mov 파일만 첨부할 수 있습니다.", |
| | | "registerExcelIssues": "엑셀로 일감 등록하기", |
| | | "videoExample": "동영상 예제", |
| | | "writeWaring": "작성 요령", |
| | | "pleaseEnterIssueName": "검색할 일감 이름을 입력하세요.", |
| | | "selectProjectAndIssueTypeDownloadExcel": "프로젝트, 일감 유형을 선택하면 해당 하는 양식의 엑셀을 다운로드 할 수 있습니다.", |
| | | "settingTableDisplay": "테이블 표시 설정", |
| | | "deleteIssue": "일감 삭제", |
| | | "wantToDeleteSelectIssue": "선택한 일감을 삭제하겠습니까? \n 사용자가 직접 삭제한 일감은 어떠한 경우에도 복구가 불가능합니다.", |
| | | "wantToDeleteSelectRelationIssue": "선택한 연관 일감을 삭제하겠습니까? \n 사용자가 직접 삭제한 연관 일감은 복구가 불가능합니다.", |
| | | "failedToSaveFieldConditions": "검색 필드 조건 저장 실패", |
| | | "failedToGetSearchFieldCondition": "검색 필드 조건 가져오기 실패", |
| | | "failedIssueLookup": "일감 조회 실패", |
| | | "selectionCheck": "선택 대상 확인", |
| | | "selectIssueToChangeStatus": "상태 변경할 일감을 선택하세요.", |
| | | "notHaveDeletePermissionExistsAnIssue": "삭제 권한이 없는 일감이 존재합니다.", |
| | | "failedToIssueTypeListLookup": "일감 유형 목록 조회 실패", |
| | | "failedToPriorityListLookup": "우선순위 목록 조회 실패", |
| | | "failedToCriticalListLookup": "중요도 목록 조회 실패", |
| | | "failedToUserDefinedFieldListLookup": "사용자 정의 필드 목록 조회 실패", |
| | | "failedToIssueTableColumnLookup": "일감 테이블 컬럼 조회 실패", |
| | | "failedToIssueAddIssueRelation": "연관 일감 추가 실패", |
| | | "failedToIssueDeleteIssueRelation": "연관 일감 삭제 실패", |
| | | "errorSelectRelationIssue" : "연관 일감이 선택되지 않았습니다.", |
| | | "capacityExceededImageFile": "이미지 파일 용량 초과", |
| | | "attachedOnlyImageFiles10mb": "30MB 이하의 이미지 파일만 첨부가 가능합니다.", |
| | | "attachedMultipleImageFiles100mb": "여러 건의 이미지를 한번에 첨부할 경우 300MB 이하까지만 첨부가 가능합니다.", |
| | | "limitImageFile": "이미지 파일 제한", |
| | | "canBeUploadedOnlyImageFiles": "이미지 파일만 업로드 가능합니다. - bmp, jpg, jpeg, png, tif", |
| | | "previewImage": "이미지 미리 보기", |
| | | "nameErrorImageFile": "이미지 파일명 오류", |
| | | "cannotUploadFileNameSpecialCharacters": "파일명에 특수 문자(;)가 들어가면 업로드 할 수 없습니다.", |
| | | "errorFileUpload": "파일 업로드 오류", |
| | | "attachmentCapacityExceeded": "첨부 파일 용량 초과", |
| | | "canAttachFileUpTo100mb": "300MB 이하까지만 파일 첨부가 가능합니다.", |
| | | "limitAttachmentExtensions": "첨부 파일 확장자 제한", |
| | | "notAllowedAttachment": "첨부가 허용되지 않는 파일입니다.", |
| | | "nameErrorAttachment": "첨부 파일명 오류", |
| | | "succeededIssueRegistration": "일감 등록 성공", |
| | | "failedIssueRegistration": "일감 등록 실패", |
| | | "failedIssueModify": "일감 수정 실패", |
| | | "failedToProjectDetails": "프로젝트 상세 정보 조회 실패", |
| | | "failedToUserDefinedFieldListAssociatedLookup": "일감 유형에 연결된 사용자 정의 필드 목록 조회 실패", |
| | | "applyTemplate": "템플릿 적용하기", |
| | | "issueContentIsWrittenApplyTheTemplate": "일감 내용이 작성되어 있습니다. 템플릿을 적용하겠습니까? 템플릿이 적용되면 이미 작성된 내용이 사라집니다.", |
| | | "failedIssueStatusCheck": "이동 가능한 일감 상태 조회 실패", |
| | | "failedToChangeMultipleIssueStatus": "다중 일감 상태 변경 실패", |
| | | "completedSavingIssueTable": "일감 테이블 설정 저장 완료", |
| | | "saveIssueTableSettingsInformation": "일감 테이블 설정 정보가 저장되었습니다.", |
| | | "failedToSaveIssueTableSetting": "일감 테이블 설정 저장 실패", |
| | | "errorRemovableIssueStatusList": "이동 가능한 일감 상태 목록 조회 오류", |
| | | "errorIssueDetails": "일감 상세 정보 조회 오류", |
| | | "failedToRegisterComments": "댓글 등록 실패", |
| | | "deleteComments": "댓글 삭제", |
| | | "failedToDeleteComments": "댓글 삭제 실패", |
| | | "wantToDeleteTheSelectedComments": "선택한 댓글을 삭제하겠습니까? 삭제된 댓글은 복구할 수 없습니다.", |
| | | "failedToGetCommentListData": "댓글 목록 데이터 가져오기 실패", |
| | | "failedToAttachmentList": "첨부 파일 목록 조회 실패", |
| | | "setIssueTableDisplay": "일감 테이블 표시 설정", |
| | | "columnName": "컬럼명", |
| | | "area": "넓이", |
| | | "displayed": "표시 여부", |
| | | "sequence": "순서", |
| | | "cannotChangedIssueTitle": "일감 제목은 변경할 수 없습니다.", |
| | | "selectSendIssueMail": "일감 메일 발송 대상자 선택", |
| | | "sendIssueSelectedUsers": "프로젝트에 참여하고 있는 다른 사용자에게 일감 정보를 보냅니다.", |
| | | "sendMail": "이메일 발송", |
| | | "changedHistory": "일감 변경 이력 상세정보", |
| | | "noChangeHistory": "일감 변경 정보가 없습니다.", |
| | | "changedTime": "변경 시간", |
| | | "changedUser": "변경 사용자", |
| | | "issueReservation": "일감 발생 예약", |
| | | "issueReservationType": "일감 발생 유형", |
| | | "issueReservationDescription": "일감을 특정일에 다시 발생시킬 수 있습니다. <br />반복적으로 수행해야 할 일감이 있을 때 유용하게 사용할 수 있습니다.", |
| | | "everyDay": "매일", |
| | | "everyWeek": "매주", |
| | | "everyMonth": "매월", |
| | | "everyYear": "매년", |
| | | "scheduledDate": "일감 발생 예정일", |
| | | "monday": "월", |
| | | "tuesday": "화", |
| | | "wednesday": "수", |
| | | "thursday": "목", |
| | | "friday": "금", |
| | | "saturday": "토", |
| | | "sunday": "일", |
| | | "enterOnlyNumbers": "숫자만 입력 가능 합니다.", |
| | | "january": "1", |
| | | "february": "2", |
| | | "march": "3", |
| | | "april": "4", |
| | | "may": "5", |
| | | "june": "6", |
| | | "july": "7", |
| | | "august": "8", |
| | | "september": "9", |
| | | "october": "10", |
| | | "november": "11", |
| | | "december": "12", |
| | | "succeededIssueReservation": "일감 발생 예약 저장 성공", |
| | | "failedIssueReservation": "일감 발생 예약 저장 실패", |
| | | "failedToIssueReservationDetails": "일감 발생 예약 상세 조회 실패", |
| | | "succeededIssueMail": "일감 메일 발송 완료", |
| | | "sentToTheSelectedUser": "선택한 사용자에게 이메일이 발송되었습니다.", |
| | | "failedIssueMail": "일감 메일 발송 실패", |
| | | "issueVersionLookupFailed": "일감 버전 조회 실패", |
| | | "relationIssueType1" : "다음 일감과 관련됨", |
| | | "relationIssueType2" : "다음 일감에 중복됨", |
| | | "relationIssueType3" : "다음 일감의 해결을 막고 있음", |
| | | "relationIssueType4" : "다음 일감에게 막혀있음", |
| | | "relationIssueType5" : "다음에 진행할 일감", |
| | | "relationIssueType6" : "다음 일감을 우선 진행", |
| | | "updateIssueUser" : "일감 담당자 변경", |
| | | "normalList" : "일감 목록", |
| | | "timeLine" : "타임 라인" |
| | | }, |
| | | "project": { |
| | | "createProject": "프로젝트 만들기", |
| | | "projectKey": "프로젝트 키", |
| | | "projectStatus": "프로젝트 상태", |
| | | "projectType": "프로젝트 타입", |
| | | "projectAdmin": "프로젝트 관리자", |
| | | "projectTeam": "프로젝트 팀원", |
| | | "modifyProject": "프로젝트 수정", |
| | | "settingCustomFields": "사용자 정의 필드 설정", |
| | | "selectCustomField": "사용자 정의 필드 선택", |
| | | "availableFields": "사용가능한 필드", |
| | | "inUseField": "사용중인 필드", |
| | | "pleaseEnterProjectName": "프로젝트 명을 입력하세요.", |
| | | "deleteProject": "프로젝트 삭제", |
| | | "wantToDeleteSelectProject": "선택한 프로젝트를 삭제하겠습니까?\n 삭제된 프로젝트는 복구할 수 없습니다.", |
| | | "notHaveDeletePermissionExistsProject": "삭제 권한이 없는 프로젝트가 존재합니다.", |
| | | "failedToProjectListLookup": "프로젝트 목록 조회 실패", |
| | | "failedProjectCreation": "프로젝트 생성 실패", |
| | | "saveCompleteFieldManagement": "필드 관리 저장 완료", |
| | | "saveUserDefinedFieldAndIssueTypeConnection": "사용자 정의 필드와 일감 유형 연결 정보가 저장되었습니다.", |
| | | "failedToSaveFieldManagement": "필드 관리 저장 실패", |
| | | "failedToModifyProject": "프로젝트 수정 실패", |
| | | "failedToProjectDetails": "프로젝트 상세 정보 조회 실패", |
| | | "failedToProjectMember": "프로젝트 멤버 조회 실패", |
| | | "failedToProjectKeyPattern": "프로젝트 키 입력 값이 잘못되었습니다.", |
| | | "limitNameToSpecialCharacters": "프로젝트 명은 특수 문자를 입력할 수 없습니다.", |
| | | "viewSub": "하위 프로젝트 보기", |
| | | "normalList" : "프로젝트 목록", |
| | | "timeLine" : "타임 라인" |
| | | }, |
| | | "managementStatus": { |
| | | "managementStatus": "상태", |
| | | "createStatus": "상태 만들기", |
| | | "issueStatusName": "일감 상태 명", |
| | | "statusProperties": "상태 속성", |
| | | "createIssueStatus": "일감 상태 만들기", |
| | | "modifyIssueStatus": "일감 상태 수정", |
| | | "useInTheWorkflow": "워크플로우에서 일감 상태가 사용중입니다. 이름 변경시 일감 상태를 사용하는 모든 워크플로우 계획에 일감 상태 명이 변경됩니다.", |
| | | "builtInIssueStatus": "일감 상태는 속성을 변경할 수 없습니다.", |
| | | "pleaseEnterIssueStatusName": "일감 상태 명을 입력하세요.", |
| | | "updateNotStatusProperties": "생성 후에는 상태 속성을 변경할 수 없습니다.", |
| | | "deleteIssueStatus": "일감 상태 삭제", |
| | | "wantToDeleteSelectIssueStatus": "선택한 일감 상태를 삭제하겠습니까? 삭제된 일감 상태는 복구할 수 없습니다.", |
| | | "failedToCreateIssueStatus": "일감 상태 생성 실패", |
| | | "failedToModifyIssueStatus": "일감 상태 수정 실패", |
| | | "failedToIssueStatusDetails": "일감 상태 상세 정보 조회 실패", |
| | | "limitNameToSpecialCharacters": "일감 상태 명은 특수 문자를 입력할 수 없습니다." |
| | | }, |
| | | "managementWorkflow": { |
| | | "managementWorkflow": "워크플로우", |
| | | "workflowName": "워크플로우 명", |
| | | "createWorkflow": "워크플로우 만들기", |
| | | "modifyWorkflow": "워크플로우 수정", |
| | | "deleteIssueStatusInTheUse": "사용되고 있는 일감 상태를 삭제할 경우 현재 워크플로우를 사용하고 있는 일감의 상태가 상태 속성 '대기'인 일감 상태로 변경됩니다.", |
| | | "statusList": "상태 목록", |
| | | "insert": "넣기", |
| | | "startPoint": "시작점", |
| | | "endPoint": "종점", |
| | | "designNotCompleteWorkflow": "워크플로우 디자인이 완료되지 않았습니다.", |
| | | "onlyOneStatusPropertyWaitIssueStatus": "워크플로우에는 상태 속성 '대기' 인 일감 상태가 1개만 존재해야 합니다.", |
| | | "onlyOneStatusPropertyProgressIssueStatus": "워크플로우에는 상태 속성 '진행' 인 일감 상태가 1개 이상 존재해야 합니다.", |
| | | "onlyOneStatusPropertyEndIssueStatus": "워크플로우에는 상태 속성 '종료' 인 일감 상태가 1개 이상 존재해야 합니다.", |
| | | "pleaseEnterWorkflowName": "워크플로우 명을 입력하세요.", |
| | | "connectedIssueType": "연결된 일감 유형", |
| | | "notHaveDeletePermissionExistsWorkflow": "삭제 권한이 없는 워크플로우가 존재합니다.", |
| | | "deleteWorkflow": "워크플로우 삭제", |
| | | "wantToDeleteTheSelectedWorkflow": "선택한 워크플로우를 삭제하겠습니까? 삭제된 워크플로우는 복구할 수 없습니다.", |
| | | "failedWorkflowListLookup": "워크플로우 목록 조회 실패", |
| | | "failedCreateWorkflow": "워크플로우 생성 실패", |
| | | "failedToModifyWorkflow": "워크플로우 수정 실패", |
| | | "failedToWorkflowDetails": "워크플로우 상세 정보 조회 실패", |
| | | "failedToPutIssueStatus": "일감 상태 넣기 실패", |
| | | "onlyOneInTheWorkflow": "워크플로우에는 상태 속성 '대기'인 일감은 1개만 존재해야 합니다.", |
| | | "removeMetastaticLine": "전이선 제거", |
| | | "removeIssueStatus": "일감 상태 제거", |
| | | "limitNameToSpecialCharacters": "워크플로우 명은 특수 문자를 입력할 수 없습니다.", |
| | | "excludeWorkflowParticipation ": "업무 공간 참여 제외", |
| | | "imageDownloadNotSupported": "이미지 다운로드 미지원", |
| | | "IEDoesNotSupport": "IE 에서는 이미지 다운로드를 지원하지 않습니다." |
| | | }, |
| | | "support": { |
| | | "support": "Support", |
| | | "supportFAQ": "자주 묻는 질문", |
| | | "supportQNA": "질문 / 답변" |
| | | }, |
| | | "customField": { |
| | | "createField": "필드 만들기", |
| | | "customFieldName": "사용자 정의 필드 명", |
| | | "fieldType": "필드 유형", |
| | | "createCustomField": "사용자 정의 필드 만들기", |
| | | "createSingleFieldList": "단일 선택 필드 목록 만들기", |
| | | "createMultiFieldList": "다중 선택 필드 목록 만들기", |
| | | "defaultValue": "기본값", |
| | | "selectSingleFieldListHashTag": "단일 선택 필드 목록에 있는 값을 기본적으로 선택하고 싶을 때는 해당 값을 입력해야합니다. ex) 대상값", |
| | | "selectMultiFieldListHashTag": "다중 선택 필드 목록에 있는 값 중 여러 개의 값을 기본적으로 선택하고 싶을 때는 해시태그를 사용해야합니다. ex) 대상값#대상값", |
| | | "modifyCustomFields": "사용자 정의 필드 수정", |
| | | "pleaseEnterUserDefinedFieldName": "사용자 정의 필드 명을 입력하세요.", |
| | | "deleteUserDefinedFields": "사용자 정의 필드 삭제", |
| | | "wantToDeleteSelectUserDefinedFields": "선택한 사용자 정의 필드를 삭제하겠습니까? 삭제된 사용자 정의 필드는 복구할 수 없습니다.", |
| | | "duplicateInputValue": "입력 값 중복 알림", |
| | | "alreadyAddedValue": "입력한 값이 이미 추가되어 있습니다.", |
| | | "failedToCreateUserDefinedFields": "사용자 정의 필드 생성 실패", |
| | | "failedToModifyUserDefinedFields": "사용자 정의 필드 수정 실패", |
| | | "failedToDetailUserDefinedFields": "사용자 정의 필드 상세 정보 조회 실패", |
| | | "limitNameToSpecialCharacters": "사용자 정의 필드 명은 특수 문자를 입력할 수 없습니다.", |
| | | "emptyInputValue": "입력 값 확인 알림", |
| | | "emptyAddValue": "입력한 값이 없습니다." |
| | | }, |
| | | "managementType": { |
| | | "managementIssueType": "일감 유형", |
| | | "createIssueType": "일감 유형 만들기", |
| | | "modifyIssueType": "일감 유형 수정", |
| | | "issueTypeName": "일감 유형 이름", |
| | | "enterIssueTypeName": "일감 유형 이름을 입력하세요.", |
| | | "managementType": "유형 관리", |
| | | "createType": "유형 만들기", |
| | | "typeName": "유형 이름", |
| | | "modifyType": "유형 수정", |
| | | "template": "템플릿", |
| | | "registerAnIssueTemplate": "템플릿을 미리 작성하여 일감을 등록할 때 내용 필드에 사용할 수 있습니다.", |
| | | "updateWorkflowIssueStatusStandby": "워크플로우를 변경할 경우 변경하려는 워크플로우에 상태가 존재하지 않으면 일감의 상태가 상태 속성 '대기' 인 상태로 변경됩니다.", |
| | | "notHaveDeletePermissionExistsIssueType": "삭제 권한이 없는 일감 유형이 존재합니다.", |
| | | "deleteIssueType": "일감 유형 삭제", |
| | | "wantToDeleteSelectIssueType": "선택한 일감 유형을 삭제하겠습니까? 삭제된 일감 유형은 복구할 수 없습니다.", |
| | | "failedToIssueTypeList": "일감 유형 목록 조회 실패", |
| | | "failedToCreateIssueType": "일감 유형 생성 실패", |
| | | "failedToModifyIssueType": "일감 유형 수정 실패", |
| | | "failedToDetailIssueType": "일감 유형 상세 정보 조회 실패", |
| | | "limitNameToSpecialCharacters": "일감 유형 이름은 특수 문자를 입력할 수 없습니다." |
| | | }, |
| | | "users": { |
| | | "temporaryPassword": "임시 비밀번호", |
| | | "guidanceTemporaryPassword": "임시 비밀번호 발급 안내", |
| | | "pleaseMakeSureChangeYourPassword": "고객님의 OWL ITS 계정 비밀번호 변경을 위해 임시 비밀번호를 발급해 드립니다.로그인 후 꼭 비밀번호를 변경하시기 바랍니다.", |
| | | "phoneNumber": "연락처", |
| | | "modifyInformation": "정보 수정", |
| | | "updatePassword": "비밀번호 변경", |
| | | "setEmailNotificationTime": "이메일 알림 시간 설정", |
| | | "selectProfileShowOther": "다른 사용자들에게 보여줄 프로필을 선택하세요.", |
| | | "membershipWithdrawal": "회원탈퇴", |
| | | "signOutNotRecovered": "회원 탈퇴 시 업무 공간의 모든 데이터가 사라지고 복구할 수 없습니다.", |
| | | "existingPassword": "기존 비밀번호", |
| | | "newPassword": "신규 비밀번호", |
| | | "confirmNewPassword": "신규 비밀번호 확인", |
| | | "checkPassword": "비밀번호 확인", |
| | | "join": "회원가입", |
| | | "workspaceJoin": " ", |
| | | "superJoin": "설정 완료", |
| | | "enable": "활성", |
| | | "disable": "비활성", |
| | | "withdrawal": "탈퇴", |
| | | "usedAccount": "이미 계정이 있으신가요?", |
| | | "joinOWLITSMembership": "OWL ITS 가입", |
| | | "setupOWLITSMembership": "OWL ITS 관리자 설정", |
| | | "enterAnEmail": "이메일을 입력하세요.", |
| | | "enterAnPassword": "비밀번호를 입력하세요.", |
| | | "pleaseSelectFile": "파일을 선택하세요", |
| | | "invalidEmailFormat": "이메일 형식이 맞지 않습니다.", |
| | | "enterYourEmailAddress": "입력한 이메일로 알림이 발송됩니다. 꼭 사용하시는 이메일로 입력하세요.", |
| | | "least4CharactersPassword": "비밀번호는 최소 4자 이상 입력해야 합니다.", |
| | | "enter4CharactersPassword": "비밀번호는 4자 이상으로 입력하세요.", |
| | | "differentPassword": "비밀번호가 다릅니다.", |
| | | "contactedEnterPhone": "연락가능한 핸드폰 번호를 입력하세요.", |
| | | "enterTheNameInWorkspace": "사용하고 싶은 업무공간의 이름을 입력하세요.", |
| | | "agreePrivacyPolicy": "개인정보 처리방침에 동의합니다.", |
| | | "privacyPolicy": "개인정보 처리방침", |
| | | "privacyPolicy1": "주식회사 와이즈스톤(이하 “회사”)은 고객의 개인정보 보호를 매우 중요시하며, 정보통신망 이용촉진 및 정보보호에 관한 법률을 준수하고 있습니다. 회사는 개인정보 처리 방침의 공개를 통하여 고객의 개인정보가 어떠한 목적과 방식으로 이용되고 있으며 개인정보보호를 위해 어떠한 조치가 취해지고 있는지를 알려 드립니다. 본 개인정보 처리 방침은 관련 법령의 개정이나 회사 내부 방침에 의해 변경될 수 있습니다. 변경될 시에는 언제든지 그 내용과 이유를 쉽게 알 수 있도록 공지사항을 통하여 알려드리겠습니다.<br><br>제 1조 (개인정보의 수집항목 및 이용목적)<br>고객이 동의한 이용약관에 따라 OWL 서비스(OWL solution 사이트 및 OWL ITS 이하 “OWL 서비스”)의 다양한 기능을 제공하기 위해서, 회사는 고객님으로부터 다음과 같은 개인정보(포괄하여 이하 “개인정보”)를 수집, 보관하고 있습니다.<br>(1) 필수입력사항<br>① 회원가입 시 수집항목: 이메일, 이름<br>(2) 선택입력항목<br>① 사진<br>(3) 서비스 이용 또는 사업처리 과정에서 생성 수집되는 각종 거래 및 개인 성향 정보<br>① 서비스 이용기록, 접속 로그, 쿠키, 접속 IP 정보, 결제기록, 불량이용기록<br>(4) 수집•이용목적<br>① 서비스(제품) 문의 등에 대한 상담이나 응대를 위한 활동<br>② 회원제 서비스 이용에 따른 본인확인, 개인식별, 불량회원의 부정 이용방지와 비인가 사용방지, 가입 의사 확인, 분쟁조정을 위한 기록보존, 불만처리 등 민원처리, 고지사항 전달<br>③ 서비스 제공에 관한 계약이행 및 서비스 제공에 따른 요금 정산 및 특정 맞춤서비스 제공(청구서 등 발송, 요금결제)<br>④ 신규 서비스(제품) 개발 통계학적 특성에 따른 서비스 제공, 특화, 이벤트 등 광고성 정보전달 및 참여기회 제공, 서비스의 유효성 확인, 접속 빈도 파악 또는 회원의 서비스 이용에 대한 통계<br><br>제 2조 (개인정보의 수집방법)<br>홈페이지 회원가입, 회원정보수정, 전화, 이메일, 세미나/설문/이벤트 신청, 문의 및 상담, 제휴문의, 생성정보 수집 툴 등을 통하여 동의한 경우에만 개인정보를 수집합니다.<br><br>제 3조 (개인정보 자동수집장치의 설치 운영 및 그 거부방법)<br>회사는 고객이 홈페이지를 이용하는 경우 고객의 정보를 수시로 저장하고 찾아내는 '쿠키(cookie)'와 홈페이지 사용기록(이하 '통계데이터')을 자동으로 수집하는 장치를 설치•운영할 수 있습니다.<br>(1) 쿠키(cookie)란?<br>쿠키는 홈페이지가 고객의 웹 브라우저로 전송하는 소량의 정보입니다. 고객이 홈페이지에 접속하면 회사의 컴퓨터는 고객의 브라우저에 있는 쿠키의 내용을 읽고, 고객의 추가정보를 고객의 컴퓨터에서 찾아 접속에 따른 성명 등의 추가 입력 없이 서비스를 제공할 수 있습니다. 또한, 고객은 쿠키에 대한 선택권이 있습니다. 웹 브라우저 상단의 '도구 > 인터넷 옵션' 탭에서 모든 쿠키를 다 받아들이거나, 쿠키가 설치될 때 통지를 보내도록 하거나, 아니면 모든 쿠키를 거부할 수 있는 선택권을 가질 수 있습니다. 단, 고객에게서 쿠키설치를 거부하였을 경우 서비스 이용에 불편이 있거나, 서비스 제공에 어려움이 있을 수 있습니다<br>(2) 통계데이터란?<br>홈페이지, 이동전화 등의 서비스 이용 시 컴퓨터 및 단말기의 특정 영역에 저장되고, 주기적으로 회사의 서버로 전달되는 아래와 같은 정보입니다.<br>① 서비스 사용통계(호접속, 호절단, 호실패 시 망 환경, 다운로드 실행오류, 유/무 인터넷 접속실패 및 접속시간 등)<br>② 사용 패턴 정보(고객의 메뉴 이동 경로, 주로 이용하는 서비스, 서비스 이용횟수, 방문기록 등)<br>(3) 회사의 쿠키, 통계데이터 운영<br>회사는 고객의 편의를 위하여 쿠키, 통계데이터를 운영합니다. 회사의 쿠키, 통계데이터 사용 목적은 다음과 같습니다.<br>① 관심 있게 둘러본 내용들에 대한 자취를 추적하여 다음 접속 때 개인 맞춤 서비스를 제공<br>② 회원과 비회원의 접속빈도 또는 머문 시간 등을 분석하여 고객의 취향과 관심 분야를 파악하고 회원들의 습관을 분석하여 서비스 개편 시 기준으로 이용 타깃(target) 마케팅에 활용<br>③ 유료서비스 이용 시 이용 기간 안내<br>④ 문의 및 상담 글 등록 편의성 제공<br><br>제 4조 (개인정보의 이용 및 제3자 제공)<br>(1) 회사는 고객의 개인정보를 가입신청서, 이용약관, 개인정보 처리방침의 \"개인정보 수집•이용 목적상 고지한 범위 내에서 이용 및 제공하며, 그 범위를 넘어서 이용하거나 제공하지 않습니다. 특히, 다음의 경우는 주의를 기울여 개인정보를 이용 및 제공할 것입니다.<br>① 제휴관계<br>보다 나은 서비스 제공을 위하여 고객의 개인정보를 제휴사와 공유하거나 제휴사에 제공할 수 있습니다. 이 경우 사전에 고객에게 제휴사가 누구인지, 공유 또는 제공되는 개인정보의 항목이 무엇인지, 어떠한 이유에서 개인정보가 공유되거나 제공되어야 하는지, 그리고 어떻게 언제까지 보관•관리되는지에 관하여 개별적으로 전자적 방법이나, 전화, 서면, 팩스, 우편 등을 통해 고지하여 동의를 구하는 절차를 거치게 되며, 고객이 동의하지 않는 경우에는 제휴사와 공유하거나 제휴사에 제공되지 않습니다.<br>(2) 회사는 서비스의 제공에 관한 계약을 이행하기 위하여 필요한 개인정보로서 기술적•경제적인 사유로 통상적인 동의를 받는 것이 뚜렷하게 곤란한 경우에는 고객의 동의가 없더라도 개인정보를 수집•이용할 수 있습니다.<br>(3) 다음의 경우에는 관련 법령의 규정에 의하여 회원의 동의 없이 개인정보를 제공하는 것이 가능합니다.<br>① 서비스제공에 따른 요금 정산을 위하여 필요한 경우<br>② 통계작성•학술연구 또는 시장조사를 위하여 필요한 경우로서 특정 개인을 알아볼 수 없는 형태로 가공하여 제공하는 경우<br>③ 금융 실명 거래 및 비밀보장에 관한 법률, 신용정보의 이용 및 보호에 관한 법률, 전기통신 기본법, 전기통신 사업법, 지방세법, 소비자보호법, 한국은행법, 형사소송법 등 법률에 특별한 규정이 있는 경우<br>④ 수사 목적으로 법령에 정해진 절차와 방법에 따라 수사기관의 요구가 있는 경우<br>⑤ 고객이 사전에 동의한 경우<br><br>제 5조 (개인정보의 처리위탁)<br>(1) 회사는 고객 편의 제공과 보다 나은 서비스 제공 등 업무 수행을 원활하게 하기 위하여 외부 전문업체에 고객의 개인정보에 대한 수집•보관•처리•이용•제공•관리•파기 등(이하 “처리”)을 위탁할 수 있습니다.<br>(2) 회사가 외부 전문업체에 고객의 개인정보를 처리 위탁하는 경우 그 위탁업무의 내용, 수탁자는 다음 표와 같습니다.<br><개인정보 제3자 제공 및 위탁현황><br>수수탁업체 나이스정보통신㈜ 과 그 자회사인 NICE페이먼츠(주) 위탁업무내용 신용카드 결제 보유 및 이용기간 회원 탈퇴 시 혹은 위탁계약 종료 시까지<br>(3) 회사는 고객의 동의 없이 서비스 제공 이외의 목적으로 개인정보를 처리 위탁하지 않는 것을 원칙으로 합니다. 다만, 그러한 필요가 생기는 경우 위탁업무의 내용과 수탁자를 고객에게 고지하고 동의를 받습니다.<br><br>제 6조 (개인정보의 이용•보관 기간)<br>고객의 개인정보는 동의를 받은 개인정보의 수집 및 이용목적이 달성되면 법령 또는 내부방침에 의해 보존할 필요가 있는 경우를 제외하고는 지체 없이 파기됩니다.<br>(1) 무분별한 회원탈퇴와 재가입으로 인한 피해 최소화, 회원탈퇴 후 변심에 의한 민원처리 등을 처리하기 위하여 회원탈퇴 후 1년간 회원정보를 보유할 수 있습니다.<br>(2) 보유 기간을 미리 고지하고 별도의 동의를 받은 경우 해당 보유 기간까지 보유할 수 있습니다.<br>(3) 회사가 법령에 따라 보관하는 개인정보 및 해당 법령은 아래 표와 같습니다.<br>보존 항목: 계약 또는 청약철회 등에 관한 기록<br>근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br>보존 기간: 5년<br>보존 항목: 대금결제 및 재화 등의 공급에 관한 기록<br>근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br>보존 기간: 5년<br>보존 항목: 소비자의 불만 또는 분쟁처리에 관한 기록<br>근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br>보존 기간: 3년<br>보존 항목: 표시/광고에 관한 기록<br>근거 법령: 전자상거래 등에서의 소비자보호에 관한 법률<br>보존 기간: 6개월<br>보존 항목: 세법이 규정하는 모든 거래에 관한 장부 및 증빙서류<br>근거 법령: 국세기본법<br>보존 기간: 5년<br>보존 항목: 전자금융 거래에 관한 기록<br>근거 법령: 전자금융거래법<br>보존 기간: 5년<br>보존 항목: 서비스 방문기록<br>근거 법령: 통신비밀 보호법<br>보존 기간: 3개월<br>(4) 회사는 고객의 개인정보보호를 위해 고객의 회원가입 계정을 사용계정과 휴면계정으로 구분하여 관리합니다. OWL 서비스를 1년 동안 로그인 또는 이용내역이 없을 경우 고객의 개인정보 보호를 위해 휴면계정으로 구분하고 고객 개인정보의 활용 및 제휴사 (제3자 동의한 제휴사)에 고객의 정보를 제공하지 않습니다.<br><br>제 7조 (개인정보의 파기절차 및 방법)<br>(1) 고객의 개인정보는 고객으로부터 동의를 받은 수집 및 이용목적이 달성된 때에는 별도의 DB로 옮겨져(종이의 경우 별도의 서류함) 관계 법령에서 정한 일정한 기간 동안 보관한 다음 파기합니다.<br>(2) 종이에 출력된 개인정보는 분쇄기로 분쇄하거나 소각을 통하여 파기하고, 전자적 파일 형태로 저장된 개인정보는 기록을 재생할 수 없는 기술적 방법을 사용하여 삭제합니다.<br>(3) 회원이 회사에게 별도로 개인정보의 파기 및 보관을 요청하는 경우, 개인정보보호 시행령에 따라 회사와 협의 하여 결정된 방법 (서면, 유선상 등 )으로 신청하여야 하며 회원의 요구사항에 따라 별도의 비용이 발생할 수 있습니다. <br><br>제 8조 (고객의 권리와 그 행사방법)<br>(1) 고객(만 14세 미만인 경우 법정 대리인)은 언제든지 OWL 서비스 내에서 고객의 개인정보를 열람 또는 변경할 수 있으며, 고객은 아울 서비스의 이용약관에 따라 고객의 개인정보 수집 및 이용에 대하여 회사에 동의 철회를 요구하거나 OWL 서비스에서 탈퇴시켜 줄 것을 요구할 수 있습니다<br>(2) 온라인 가입정보의 열람 및 정정을 하고자 하는 고객의 경우에는 홈페이지 내의 \"회원정보\"를 클릭하여 직접 열람 및 정정을 하거나, 고객센터를 통해 서면, 전화 또는 이메일로 연락하시면 지체 없이 조치하겠습니다.<br>(3) 회사는 대리인이 방문하여 열람•증명을 요구하는 경우에는 적법한 위임을 받았는지 확인할 수 있는 위임장 및 본인의 인감증명서와 대리인의 신분증 등을 제출 받아 정확히 대리인 여부를 확인합니다<br>(4) 고객이 개인정보의 오류에 대한 정정을 요청하신 경우 회사는 정정을 완료하기 전까지 해당 개인정보를 이용 또는 제공하지 않습니다. 또한 회사는 잘못된 개인정보를 이미 제3자에게 제공한 경우 그 정정처리결과를 제3자에게 지체 없이 통지하여 정정하도록 합니다.<br>(5) 고객은 개인정보를 최신의 상태로 정확하게 입력하고 변동 사항이 있는 경우, 이를 회사에 통보하여야 하며, 스스로 부정확한 정보를 입력하거나, 회사에 통보하지 않아서 회사가 알 수 없는 고객정보의 변동으로 인한 책임은 고객 자신에게 귀속됩니다.<br>(6) 고객이 타인 정보의 도용이나 침해, 허위정보를 입력하는 경우 서비스 해지 및 회원자격이 상실될 수 있으며 법 등 관련 법령에 따라 처벌받을 수 있습니다.<br><br>제 9조 (개인정보보호를 위한 기술적 관리적 대책)<br>회사는 고객의 개인정보가 분실, 도난, 누출, 변조 또는 훼손되지 않도록 하기 위해서 다음과 같은 기술적/관리적 대책을 강구하고 있습니다.<br>(1) 기술적 대책<br>① 접속기록의 위•변조 방지 조치를 취하고 있습니다.<br>② 개인정보는 그 종류에 따라 관련 법령이 요구하는 수준의 암호화 저장 또는 전송 시 암호화 기술의 적용하여 관리합니다.<br>③ 백신프로그램을 이용하여 컴퓨터 바이러스에 의한 피해를 방지하기 위한 조치를 취하고 있으며, 백신프로그램을 주기적으로 업데이트하고 갑작스러운 바이러스 출현 시에 백신이 나오는 즉시 이를 제공함으로써 개인정보가 침해되는 것을 방지하고 있습니다.<br>④ 암호알고리즘을 이용하여 네트워크상 개인정보를 안전하게 전송하는 보안장치(SSL 등)를 채택하고 있습니다.<br>⑤ 해킹 등 외부 침입에 대비하여 각 서버마다 침입차단시스템을 이용하여 보안에 최선을 다하고 있습니다.<br>(2) 관리적 대책<br>① 회사는 개인정보 보호에 관한 내부관리계획을 수립, 시행하고 있습니다.<br>② 회사는 개인정보에 대한 접근권한을 필요•최소한의 인원으로 제한하고 있습니다.<br>③ 회사는 개인정보관련 취급 직원은 담당자에게 한정시키고 있고 이를 별도의 비밀번호를 부여하여 정기적으로 갱신하고 있으며, 담당자에 대한 수시 교육을 통하여 회사 개인정보 처리방침의 준수를 항상 강조하고 있습니다.<br>④ 회사는 고객의 실수나 기본적인 인터넷의 위험성 때문에 일어나는 일들에 대해 책임을 지지 않습니다. 고객 스스로가 본인의 개인정보를 보호하기 위해서 자신의 이메일과 비밀번호를 적절하게 관리하고 스스로 책임을 져야 합니다.<br><br>제 10조 (개인정보 보호책임자 및 담당자의 연락처)<br>회사는 고객의 개인정보를 보호하고 개인정보와 관련한 불만을 처리하기 위하여 아래와 같이 관련 부서 및 개인정보관리책임자를 지정하고 있습니다. 회사는 고객의 목소리에 귀 기울이고 신속하고 충분한 답변을 드릴 수 있도록 최선을 다하겠습니다.<br><개인정보보호 책임자><br>관리 책임자: 고태우 이사 | 관리 담당자: 이정선 팀장<br>담당 부서: 테스팅 솔루션센터 솔루션 개발팀<br>연락처: 02-6257-5958 / supportowl@wisestone.kr<br>기타 개인정보침해에 대한 신고나 상담이 필요하신 경우에는 아래 기관에 문의하시기 바랍니다.<br>① 개인정보침해신고센터: 전화 118 / 이메일 privacy@kisa.or.kr / http://privacy.kisa.or.kr<br>② 정보보호마크 인증위원회: 전화 02-580-0533~4 / http://www.eprivacy.or.kr<br>③ 대검찰청 사이버범죄수사단: 전화 02-3480-3571 / 이메일 cybercid@spo.go.kr / http://www.spo.go.kr<br>④ 경찰청 사이버테러 대응센터: 전화 1566-0112 / http://cyber.go.kr<br>제 11조 (고지의 의무)<br>회사는 법률이나 서비스의 변경사항을 반영하기 위한 목적 등으로 개인정보 처리방침을 수정할 수 있습니다. 개인정보 처리방침이 변경되는 경우 회사는 변경 사항을 게시하며, 변경된 개인정보 처리방침은 게시한 날로부터 7일 후부터 효력이 발생합니다. 하지만, 피치 못하게 여러분의 권리에 중요한 변경이 있을 경우 변경될 내용을 30일 전에 미리 알려드리겠습니다.<br>– 시행 일자 : 2019년 04월 01일<br><br>", |
| | | "login": "로그인", |
| | | "logout": "로그아웃", |
| | | "logInSocialAccount": "소셜 계정으로 로그인.", |
| | | "rememberMe": "로그인 상태 유지", |
| | | "findPassword": "비밀번호 찾기", |
| | | "loginFailed": "로그인에 실패하였습니다.", |
| | | "createAccountNow": "지금 계정을 만들어 보세요!", |
| | | "forgetYourPassword": "비밀번호를 잊으셨나요?", |
| | | "incorrectEmailFormat": "이메일 형식이 맞지 않습니다.", |
| | | "sendingYouTemporaryPassword": "가입하신 이메일로 <strong class=\"text-primary\">임시 비밀번호</strong>를 보내드립니다.", |
| | | "pleaseEnterPassword4Characters": "비밀번호는 4자 이상으로 입력하세요.", |
| | | "failedInviteMail": "초대 메일 발송 실패", |
| | | "successInviteMail": "초대 메일 발송 성공", |
| | | "welcomeKakTalkMembership": "카카오톡 회원 가입 안내", |
| | | "signUpMembershipKakTalk": "카카오톡으로 회원 가입을 하기 위해서는 이메일 정보 제공을 선택해야합니다. 이에 동의하지 않으실 경우에는 다른 소셜로 가입해주세요.", |
| | | "failedToCreateUser": "사용자 생성 실패", |
| | | "failedToModifyUser": "사용자 수정 실패", |
| | | "failedToRetrieveIssueHistory": "일감 기록 정보 조회 실패", |
| | | "proceedWithMembershipWithdrawal": "회원 탈퇴를 진행하겠습니까? 남은 기간에 대한 환불은 불가능하며 동일한 이메일 계정으로 회원가입이 불가능 하며 업무 공간의 모든 데이터가 사라지고 복구할 수 없습니다.", |
| | | "successWithdrawalFromMembership": "회원 탈퇴 성공", |
| | | "failedMemberWithdrawal": "회원 탈퇴 실패", |
| | | "completedWithdrawalFromOwlITS": "OWL ITS 에서 탈퇴가 완료되었습니다.", |
| | | "failedToSelectUserDetail": "사용자 상세 정보 조회 실패", |
| | | "notExistUserSession": "사용자 세션이 존재하지 않습니다.", |
| | | "completedPasswordChange": "비밀번호 변경 완료", |
| | | "failedPasswordChange": "비밀번호 변경 실패", |
| | | "temporaryPasswordIssue": "임시 비밀번호 발급", |
| | | "failedRequestFindPassword": "비밀번호 찾기 요청 실패", |
| | | "duplicateEmail": "이메일 중복", |
| | | "duplicateEmailEntered": "중복된 이메일이 입력되었습니다.", |
| | | "confirmEmailInput": "이메일 입력 확인", |
| | | "emailEnteredIncorrectly": "이메일이 잘못 입력되었습니다.", |
| | | "noEmailEntered": "이메일이 입력되지 않았습니다." |
| | | }, |
| | | "notice": { |
| | | "notice": "공지사항", |
| | | "registerNotice": "공지사항 등록", |
| | | "modifyNotice": "공지사항 수정", |
| | | "enterSpecialCharacters": "제목에는 특수 문자를 입력할 수 없습니다.", |
| | | "failedNoticeRegistration": "공지사항 등록 실패", |
| | | "failedToLookupNotificationList": "공지 사항 목록 조회 실패", |
| | | "failedToModifyNotice": "공지 사항 수정 실패", |
| | | "failedToLookupNotificationDetails": "공지사항 상세 정보 조회 실패" |
| | | }, |
| | | "manageUser": { |
| | | "manageUser": "사용자 권한 관리", |
| | | "manageProjectPerm": "프로젝트 관리", |
| | | "manageIssueSystemPerm": "일감 시스템", |
| | | "manageUserPerm": "사용자", |
| | | "manageNoticePerm": "공지사항", |
| | | "manageFAQPerm": "FAQ", |
| | | "manageQnAPerm": "QnA", |
| | | "manageEventPerm": "이벤트", |
| | | "manageGuidePerm": "가이드" |
| | | }, |
| | | "FAQ": { |
| | | "FAQ": "FAQ", |
| | | "manageFAQ": "FAQ 관리", |
| | | "registerFAQ": "FAQ 등록", |
| | | "modifyFAQ": "FAQ 수정", |
| | | "enterSpecialCharacters": "제목에는 특수 문자를 입력할 수 없습니다.", |
| | | "failedFAQRegistration": "FAQ 등록 실패.", |
| | | "failedToLookupFAQList": "FAQ 목록 조회 실패", |
| | | "failedToModifyFAQ": "FAQ 수정 실패", |
| | | "failedToLookupFAQDetails": "FAQ 상세 정보 조회 실패", |
| | | "failedToActivation": "FAQ 활성 실패", |
| | | "activation": "활성화" |
| | | }, |
| | | "QNA": { |
| | | "QNA": "QnA", |
| | | "manageQNA": "QnA 관리", |
| | | "registerQNA": "질문 등록", |
| | | "modifyQNA": "QnA 수정", |
| | | "enterSpecialCharacters": "제목에는 특수 문자를 입력할 수 없습니다.", |
| | | "failedQNARegistration": "QnA 등록 실패.", |
| | | "failedToLookupQNAList": "QnA 목록 조회 실패", |
| | | "failedToModifyQNA": "QnA 수정 실패", |
| | | "failedToLookupQNADetails": "QnA 상세 정보 조회 실패" |
| | | }, |
| | | "event": { |
| | | "event": "이벤트", |
| | | "manageEvent": "이벤트 관리", |
| | | "registerEvent": "이벤트 등록", |
| | | "modifyEvent": "이벤트 수정", |
| | | "enterSpecialCharacters": "제목에는 특수 문자를 입력할 수 없습니다.", |
| | | "failedEventRegistration": "이벤트 등록 실패.", |
| | | "failedToLookupEventList": "이벤트 목록 조회 실패", |
| | | "failedToModifyEvent": "이벤트 수정 실패", |
| | | "failedToLookupEventDetails": "이벤트 상세 정보 조회 실패", |
| | | "failedToActivation": "이벤트 활성 실패", |
| | | "activation": "활성화" |
| | | }, |
| | | "guide": { |
| | | "guide": "가이드", |
| | | "manageGuide": "가이드 관리", |
| | | "registerGuide": "가이드 등록", |
| | | "modifyGuide": "가이드 수정", |
| | | "enterSpecialCharacters": "제목에는 특수 문자를 입력할 수 없습니다.", |
| | | "failedGuideRegistration": "가이드 등록 실패.", |
| | | "failedToLookupGuideList": "가이드 목록 조회 실패", |
| | | "failedToModifyGuide": "가이드 수정 실패", |
| | | "failedToLookupGuideDetails": "가이드 상세 정보 조회 실패", |
| | | "failedToActivation": "가이드 활설 실패", |
| | | "activation": "활성화" |
| | | }, |
| | | "inquiry": { |
| | | "toInquiry": "문의하기", |
| | | "inquiryToOWL": "OWL ITS에 문의하기", |
| | | "asap": "최대한 빠른 시간안에 답변드리겠습니다.", |
| | | "inquiryGreeting": "무엇을 도와드릴까요?", |
| | | "contactCompleted": "문의 접수 완료", |
| | | "failedToReceiveEnquiry": "문의 접수 실패" |
| | | }, |
| | | "common": { |
| | | "urgent": "긴급", |
| | | "high": "높음", |
| | | "medium": "보통", |
| | | "low": "낮음", |
| | | "critical": "심각", |
| | | "major": "높음", |
| | | "minor": "보통", |
| | | "trivial": "낮음", |
| | | "save": "저장", |
| | | "saved": "저장하기", |
| | | "close": "닫기", |
| | | "search": "검색", |
| | | "reset": "초기화", |
| | | "uploadExcel": "엑셀 업로드", |
| | | "create": "생성", |
| | | "cancel": "취소", |
| | | "submit": "전송", |
| | | "modify": "수정", |
| | | "dashboard": "대시보드", |
| | | "workspace": "업무공간", |
| | | "project": "프로젝트", |
| | | "issue": "일감", |
| | | "setting": "설정", |
| | | "user": "사용자", |
| | | "workflow": "워크플로우", |
| | | "updateIssueStatus": "일감 상태 변경", |
| | | "changeReason": "변경 사유", |
| | | "failedToIssueStatusListLookup": "일감 상태 목록 조회 실패", |
| | | "customField": "사용자 정의 필드", |
| | | "select": "선택", |
| | | "checkAll": "전체 선택", |
| | | "unCheckAll": "전체 해제", |
| | | "send": "보내기", |
| | | "selected": "선택됨", |
| | | "selectable": "선택 가능", |
| | | "password": "비밀번호", |
| | | "information": "정보", |
| | | "noData": "데이터가 없습니다.", |
| | | "name": "이름", |
| | | "status": "상태", |
| | | "email": "이메일", |
| | | "few": " 건", |
| | | "userNum": " 명", |
| | | "selectedSearchCriteria": "선택한 검색 조건", |
| | | "detailedSearch": "상세검색", |
| | | "type": "유형", |
| | | "priority": "우선 순위", |
| | | "importance": "중요도", |
| | | "assignee": "담당자", |
| | | "register": "등록자", |
| | | "startDate": "시작일", |
| | | "endDate": "종료일", |
| | | "english": "영어", |
| | | "korean": "한국어", |
| | | "japaneseLanguage": "일본어", |
| | | "vietnamese": "베트남어", |
| | | "add": "추가", |
| | | "addFunction": "추가기능", |
| | | "downloadExcel": "엑셀 다운로드", |
| | | "importExcel": "Excel Import", |
| | | "registerExcelUploadIssue": "엑셀 업로드 일감 등록", |
| | | "delete": "삭제", |
| | | "checkPurgingTargets": "삭제 대상 확인", |
| | | "selectDestinationDeletion": "삭제 대상을 선택하세요.", |
| | | "deleteFailed": "삭제 실패", |
| | | "deleteSucceeded": "삭제 성공", |
| | | "content": "내용", |
| | | "selectTarget": "대상 선택", |
| | | "period": "기간", |
| | | "attachFiles": "파일 첨부", |
| | | "selectFile": "파일선택", |
| | | "changeDate": "변경일", |
| | | "lastChangeDate": "최근 변경일", |
| | | "registrationDate": "등록일", |
| | | "fullView": "전체보기", |
| | | "comments": "댓글", |
| | | "record": "기록", |
| | | "noAssignee": "담당자가 없습니다.", |
| | | "noContent": "내용이 없습니다.", |
| | | "noRecord": "기록이 없습니다.", |
| | | "noComments": "댓글이 없습니다.", |
| | | "noAttachedFile": "첨부된 파일이 없습니다.", |
| | | "noValueEntered": "입력한 값이 없습니다.", |
| | | "noValueSelected": "선택한 값이 없습니다.", |
| | | "writeWaring2": "<li>제목 컬럼은 최대 300글자까지 입력할 수 있습니다.</li><li>내용 컬럼은 최대 5000글자까지 입력할 수 있습니다.</li><li>프로젝트 컬럼은 프로젝트 키를 입력해야 합니다.<dl><dt>프로젝트 키는 프로젝트 목록에서 확인할 수 있습니다.</dt></dl></li><li>유형 컬럼은 일감 컬럼 명을 입력해야 합니다.<dl><dt>유형 명은 유형 목록에서 확인할 수 있습니다.</dt></dl></li><li>우선순위 컬럼은 낮음, 보통, 높음 중에서 1개만 입력해야 합니다.</li><li>중요도 컬럼은 낮음, 보통, 심각 중에서 1개만 입력해야 합니다.</li><li>담당자는 이메일로 지정할 수 있습니다.<dl><dt>여러 담당자를 지정하려면 #으로 구분하여 등록할 수 있습니다.</dt><dt>ex) wisestoneowl@gmail.com#support@wisestone.kr </dt><dt>해당 담당자가 등록하려는 일감의 프로젝트에 참여하고 있어야 합니다.</dt></dl></li><li>시작일은 다음과 같은 형식으로 입력해야 합니다.<dl><dt>날짜 입력 값 결과 2018-11-22 10:30:00 AM O </dt></dl></li><li>J 컬럼부터는 사용자 정의 필드 입니다. 원하는 필드 값을 입력해야 합니다.<dl><dt>해당 사용자 정의 필드가 문자열 입력 필드일 경우 최대 100글자까지 입력 가능합니다.</dt><dt>해당 사용자 정의 필드가 다중 선택 필드면 #를 사용하여 여러 값을 입력할 수 있습니다.</dt><dt>ex) 옵션 값이 고양이, 강아지, 토끼일 경우 고양이와 토끼를 값으로 정하기 위해서는 <span class=\"fc-blue\">고양이#토끼</span>와 같이 입력해야 합니다. </dt></dl></li>", |
| | | "color": "색상", |
| | | "activityLogs": "활동 내역", |
| | | "updatableStatus": "변경 가능한 상태", |
| | | "testCase": "테스트 케이스", |
| | | "updateStatus": "상태 변경", |
| | | "tcmProject": "테스트 케이스 관리 프로젝트", |
| | | "btsProject": "일감 관리 프로젝트", |
| | | "projectName": "프로젝트명", |
| | | "projectNone": "프로젝트없음", |
| | | "totalProject": "전체 프로젝트", |
| | | "parentProject": "상위 프로젝트", |
| | | "setParticipatingInProject": "프로젝트에 참여하는 사용자를 설정하십시오.", |
| | | "noUpdatedStatus": "변경할 수 있는 상태가 없습니다.", |
| | | "wait": "대기", |
| | | "progress": "진행", |
| | | "end": "종료", |
| | | "choose": "선택하세요.", |
| | | "stringField": "문자열 필드", |
| | | "multipleSelectionField": "다중 선택 필드", |
| | | "singleSelectionField": "단일 선택 필드", |
| | | "detailInformation": "상세 정보", |
| | | "beginEnglishTheProject": "프로젝트 키는 영문으로 시작해야합니다.", |
| | | "least3Characters": "최소 3글자이상 입력해야 합니다.", |
| | | "upTo10Characters": "최대 10글자까지 입력할 수 있습니다.", |
| | | "upTo20Characters": "최대 20글자까지 입력할 수 있습니다.", |
| | | "upTo15Characters": "최대 15글자까지 입력할 수 있습니다.", |
| | | "upTo50Characters": "최대 50글자까지 입력할 수 있습니다.", |
| | | "upTo100Characters": "최대 100글자까지 입력할 수 있습니다.", |
| | | "profile": "프로필", |
| | | "profilePicture": "프로필 사진", |
| | | "thisWeek": "이번 주", |
| | | "lastWeek": "지난 주", |
| | | "last7Days": "최근 7일", |
| | | "thisMonth": "이번 달", |
| | | "lastMonth": "지난 달(1일~말일)", |
| | | "last30Days": "최근 30일", |
| | | "directInput": "직접입력", |
| | | "pleaseEnterComments": "댓글을 입력하세요...", |
| | | "overallIssueHandlingStatus": "전체 일감 처리현황", |
| | | "emailCannotBeChanged": "이메일은 변경할 수 없습니다.", |
| | | "companyInformation": "(주)와이즈스톤<br/>사업자 등록번호 : 220-87-50221 <span>|</span> 통신 판매 번호 : 2017-서울서초-0418 <span>|</span> 대표이사 : 이영석 <br/>본사 : 서울특별시 서초구 강남대로 291 남강빌딩 6층", |
| | | "companyInformation2": "(주)와이즈스톤 <span>|</span> 사업자 등록번호: 220-87-50221 <span>|</span> 통신 판매 번호 : 2017-서울서초-0418 <span>|</span> 대표이사 이영석<br/>본사 : 서울특별시 서초구 강남대로 291 남강빌딩 6층 <!--<span>|</span> 대표전화 02-6257-5958 --><span>|</span> E-mail: <a href=\"mailto:supportowl@wisestone.kr\">supportowl@wisestone.kr </a><br/><small>CopyRight WISESTONE All rights reserved.</small>", |
| | | "noImage": "첨부된 이미지가 없습니다.", |
| | | "failedLanguageChange": "언어 변경 실패", |
| | | "notSelectedLanguage": "언어 선택이 되지 않았습니다.", |
| | | "exceedsMaximumUsersWorkspace": "업무 공간 최대 사용자 초과", |
| | | "deleteParticipatingWorkspaceReminder": "참여 업무 공간 삭제 알림", |
| | | "failedToUpdateParticipatingSessions": "참여 세션 업데이트 실패", |
| | | "disableParticipationWorkspace": "참여 업무 공간 비활성화 알림", |
| | | "disableParticipationWorkspaceMessage": "현재 이용하고 있는 업무 공간에서 제외되었습니다.", |
| | | "alertsAboutSystem": "시스템 알림 정보", |
| | | "newAlert": "새로운 알림이 왔습니다.", |
| | | "pleaseWait": "잠시만 기다려주세요...", |
| | | "createIssue": "일감 생성", |
| | | "updateIssue": "일감 변경", |
| | | "deleteIssue": "일감 삭제", |
| | | "updateTitle": "제목이 변경되었습니다.", |
| | | "updateContent": "내용이 변경되었습니다.", |
| | | "updateProject": "프로젝트가 변경되었습니다.", |
| | | "updateSeverity": "중요도가 변경되었습니다.", |
| | | "updatePriority": "우선순위가 변경되었습니다.", |
| | | "updateHasStatus": "상태가 변경되었습니다.", |
| | | "updateHasStatusReservation": "일감 발생 예약일이 되어 상태가 변경되었습니다.", |
| | | "updateWorkflowNotExist": "변경된 워크플로우에서 상태가 존재하지 않아 일감의 상태가 변경되었습니다.", |
| | | "updateIssueType": "일감 유형이 변경되었습니다.", |
| | | "updatePeriod": "기간이 변경되었습니다.", |
| | | "unspecified": "미지정", |
| | | "updateAssignee": "담당자가 변경되었습니다.", |
| | | "none": "없음", |
| | | "updateAttachment": "첨부 파일이 변경되었습니다.", |
| | | "deleteAttachment": "첨부 파일이 삭제되었습니다.", |
| | | "registerAttachment": "첨부 파일이 등록되었습니다.", |
| | | "updateCustomField": "사용자 정의 필드가 변경되었습니다.", |
| | | "updateIssueCustomField": "사용자 정의 필드 옵션 값이 변경되어 일감의 사용자 정의 필드 값이 변경되었습니다.", |
| | | "updateIssueCustomFieldType": "사용자 정의 필드 유형이 변경되어 일감의 사용자 정의 필드 값이 변경되었습니다.", |
| | | "continue": "계속하기", |
| | | "failedToUserListLookUp": "사용자 목록 조회 실패", |
| | | "failedToProjectListLookUp": "프로젝트 목록 조회 실패", |
| | | "failedToWorkflowListLookUp": "워크플로우 목록 조회 실패", |
| | | "failedToIssueListLookUp": "일감 목록 조회 실패", |
| | | "title": "제목", |
| | | "number": "번호", |
| | | "m": "월", |
| | | "d": "일", |
| | | "emptyUser": "선택할 수 있는 사용자가 없습니다.", |
| | | "emptyProject": "선택할 수 있는 프로젝트가 없습니다.", |
| | | "emptyIssue": "선택할 수 있는 이슈가 없습니다.", |
| | | "department" : "부서", |
| | | "level" : "사용자 등급" |
| | | }, |
| | | "tasks": { |
| | | "agileBoardTitle": "칸반 보드" |
| | | }, |
| | | "gantt": { |
| | | "chartTitle": "타임라인" |
| | | }, |
| | | "calendar": { |
| | | "calendarTitle": "캘린더" |
| | | } |
| | | } |
New file |
| | |
| | | { |
| | | "dashboard" : { |
| | | "downloadToImage" : " download hình ảnh về", |
| | | "downloadToExcel" : " tự tải về", |
| | | "remainedIssue" : "vấn đề còn tồn lại", |
| | | "delayedIssue" : "vấn đề còn tồn tại chậm trễ", |
| | | "allocatedIssue" : "vấn đề được chia ra", |
| | | "registeredIssue" : "vấn đề đã đăng ký", |
| | | "unallocatedIssue" : "vấn đề Nam Mỹ", |
| | | "completionIssue" : "vấn đề hoàn thành", |
| | | "processingRate" : "tỷ lệ xử lý", |
| | | "dailyAverage" : "bình quân mỗi ngày", |
| | | "inProgressStatusOfProject" : "Tình hình dự án đang được tiến hành", |
| | | "progressProject" : "Dự án sự tiến hành", |
| | | "issueAll" : "vấn đề tổng thể", |
| | | "projectProgress" : "tỉ lệ thực hiện dự án", |
| | | "admin" : "Quản trị viên", |
| | | "progressPercent" : "tỷ lệ thực hiện", |
| | | "teamMember" : "thành viên trong nhóm", |
| | | "assignedToMeIssue" : "Một vấn đề sanh lợi với tôi", |
| | | "assignedTodayIssue" : "Một tin tức được chia ra hôm nay", |
| | | "progressingIssue" : "Một trong những vấn đề đang được tiến hành", |
| | | "issueName" : "Tên vấn đề", |
| | | "managementRisk" : "Quản lý rủi ro", |
| | | "updateIssueAndStatusUpdate" : "Một danh sách các vấn đề dường như có rủi ro trong việc thay đổi các vấn đề, chẳng hạn như thay đổi các staff thường xuyên.", |
| | | "reversalStatusUpdate" : "thay đổi trạng thái", |
| | | "reversalAssigneeUpdate" : "hay thay đổi người phụ trách", |
| | | "division" : "sự phân chia", |
| | | "registeredByMeIssue" : "Tình hình là vấn đề mà tôi đã đăng ký,", |
| | | "registeredTodayIssue" : "Câu chuyện đã đăng kí hôm nay", |
| | | "delayingIssue" : "vấn đề đang chờ đợi", |
| | | "delayDate" : "ngày hội", |
| | | "statusOfIssues" : "hiện tại vấn đề theo từng trạng thái", |
| | | "doesNotExistWorkflow" : "không có Quy trình làm việc.", |
| | | "progressByMember" : "tốc độ theo từng thành viên", |
| | | "assignedIssue" : "Vấn đề phụ trách", |
| | | "delaying" : "đang trì hoãn", |
| | | "myIssueStatus" : "Hiện trạng Vấn đề của tôi", |
| | | "complete" : "Hoàn thành", |
| | | "registration" : "Đăng ký", |
| | | "assigned" : "phụ trách", |
| | | "failedDashboardWidgetLookup" : "Lượt tìm kiếm trên ván trượt thất bại", |
| | | "failedToTotalIssueHandling" : "Tình hình xử lý vấn đề toàn diện cũng thất bại", |
| | | "notSupportedImageDownload" : "Vẫn chưa tải ảnh về", |
| | | "ieNotSupportedImageDownload" : "Trong AI, không hỗ trợ tải hình ảnh.", |
| | | "overallIssueHandlingStatusPNG" : "Tình hình xử lý toàn bộ vấn đề.png", |
| | | "excludeWorkspaceParticipation" : "Ngoại trừ không gian làm việc", |
| | | "failedToListOfPendingIssuesLookup" : "Danh sách lượt truy cập vấn đề đang bị trì hoãn thất bại", |
| | | "statusOfIssuesPNG" : "hiện tại vấn đề theo từng trạng thái.png", |
| | | "failedToCheckProgressMember" : "lượt view cho từng thành viên thất bại", |
| | | "failedToListOfIssueAllocatedLookup" : "Thất bại trong danh sách lượt view cho mình", |
| | | "failedToListOfIssueRegisteredLookup" : "Danh sách các vấn đề mà tôi đã đăng ký thất bại", |
| | | "failedToRiskManagementIssueLookup" : "Thất bại trong việc tìm kiếm các vấn đề liên quan đến quản lý rủi ro", |
| | | "issueTypeStandIssues" : "Tình hình hiện tại của mỗi vấn đề", |
| | | "workspaceExpire1" : "Nơi làm việc được sử dụng", |
| | | "workspaceExpire2" : "thời gian sử dụng của", |
| | | "workspaceExpire3" : "Còn công việc.", |
| | | "workspaceExpire4" : "Thời gian sử dụng của", |
| | | "extensionServicePeriod" : "gia hạn thời gian sử dụng" |
| | | }, |
| | | |
| | | "managementWorkspace" : { |
| | | "managementWorkspace" : "Quản lý Không gian làm việc", |
| | | "myWorkspace" : "Quản lý Không gian làm việc", |
| | | "workspaceInformation" : "Thông tin Không gian làm việc", |
| | | "serviceStatus" : "Trạng thái dịch vụ.", |
| | | "numberOfUsers" : "Số lượng người sử dụng", |
| | | "pleaseEnterNumberOfUsers" : "Hãy nhập số người dùng.", |
| | | "inviteUser" : "Mời người sử dụng", |
| | | "invite" : "Mời", |
| | | "emailAddress" : "Địa chỉ Email", |
| | | "useStorageSize" : "dung lượng sử dụng", |
| | | "usageTraffic" : "lưu lượng sử dụng", |
| | | "duration" : "Thời hạn sử dụng", |
| | | "inUse" : "Đang sử dụng", |
| | | "expiredUse" : "sự mãn hạn sử dụng", |
| | | "projectToInvolved" : "Dự án giúp tham gia", |
| | | "daysLeft" : " âm bật)", |
| | | "pay" : "thanh toán", |
| | | "paymentInformation" : "thông tin thanh toán", |
| | | "cardNumber" : "mã số thẻ", |
| | | "FirstTwoDigits" : "ghế trước", |
| | | "validity" : "thời gian hiệu lực", |
| | | "dateOfOnesBirth" : "ngày sinh", |
| | | "exampleBirthInput" : "Hãy nhập ngày tháng năm sinh vào 6 chỗ.", |
| | | "brn" : "(Mã số đăng ký kinh doanh)", |
| | | "agreeMyPersonalInformation" : "Tôi đồng ý cung cấp thông tin cá nhân cho doanh nghiệp dịch vụ thanh toán.", |
| | | "termsAndConditions" : "Bạn phải", |
| | | "agreeToMakeThePayment" : "đồng ý với điều khoản sử dụng thì mới thanh toán được.", |
| | | "productInformation" : "thông tin hàng hóa", |
| | | "paymentType" : "loại thanh toán", |
| | | "paymentMethod" : "phương tiện thanh toán", |
| | | "paymentDate" : "Ngày thanh toán", |
| | | "monthly" : "Hàng tháng", |
| | | "yearly" : "Hàng năm", |
| | | "creditCard" : "thẻ tín dụng", |
| | | "paymentAmount" : "số tiền thanh toán", |
| | | "includesVAT" : "(bao hàm VAT)", |
| | | "regularPayment" : "Trả tiền định kỳ", |
| | | "regularPaymentInformation" : "thông tin thanh toán định kỳ", |
| | | "paymentScheduledAmount" : "khoản tiền dự định thanh toán", |
| | | "priceInformation" : "Thông tin Giá cả", |
| | | "1to10People" : "1 ~ 10 người", |
| | | "11orMore" : "Vượt quá 11 người~", |
| | | "perPerson" : "1người ăn", |
| | | "cancelRegularPayment" : "hủy bỏ thanh toán định kỳ", |
| | | "updateRegularPayment" : "thay đổi thanh toán định kỳ", |
| | | "joinStatus" : "trạng thái tham gia", |
| | | "paymentCompleted" : "Thanh toán xong rồi.", |
| | | "scheduleUserWaitingToJoin" : "sự đặt chỗ cho người sử dụng chờ đợi", |
| | | "schedulePeopleWaitingToParticipate" : "Trong trường hợp số người dùng thanh toán giảm, bạn có thể đặt trước những người sử dụng trong trạng thái chờ đợi.", |
| | | "privacyPolicyAndTermsOfUse" : "phương châm xử lý thông tin cá nhân và điều khoản sử dụng", |
| | | "termsOfUse" : "Điều khoản sử dụng", |
| | | "termsOfUse1" : "Điều 1 (Mục đích)<br>Điều khoản này liên quan đến sử dụng dịch vụ của OWL (Trang giải pháp OWL và OWL-ITS dưới đây gọi chung là “Dịch vụ OWL ”), được cung cấp bởi Công ty Wisestone (gọi tắt là “Công ty”); với mục đích quy định các hạng mục cần thiết như thủ tục và điều kiện sử dụng, nghĩa vụ và trách nhiệm giữa người dùng và Công ty. <br> <br>Điều 2 (Định nghĩa)<br>Định nghĩa và thuật ngữ sử dụng trong Điều khoản này như sau. <br>(1) \"Dịch vụ\" là toàn bộ Dịch vụ liên quan đến Dịch vụ OWL mà người dùng có thể sử dụng, không liên quan đến thiết bị đầu cuối (bao gồm cả PC, các thiết bị có dây và không dây như di dộng v.v). <br>(2) “OWL-ITS” là nền tảng mà người dùng có thể chia sẻ và quản lý tài liệu để quản lý công việc tốt hơn.<br>(3) \"Người dùng\" là khách hàng truy cập vào “Dịch vụ” của Công ty và đồng ý với Điều khoản để sử dụng “Dịch vụ” được cung cấp bởi “Công ty” . <br>(4) \"Mật khẩu\" là sự kết hợp các ký tự và số do người dùng chọn với mục đích đảm bảo tính bảo mật và xác nhận rằng đó là người dùng, khớp với địa chỉ E-mail do người dùng cung cấp.<br>(5) “Thành viên” là người đã được xét duyệt để sử dụng OWL-ITS bởi một thành viên khác hoặc sử dụng OWL-ITS dưới sự quản lý của một thành viên nào đó. Tùy vào điều kiện đăng kí mà thành viên được phân chia thành Quản trị viên hay ngừơi dùng thông thường. Trong trường hợp nếu bị quản lý bởi người khác (quản trị viên) thì khi đó thành viên sẽ đóng vai trò là người dùng thông thường. <br>(6) \"Quản trị viên\" là người thay mặt cho tất cả thành viên sử dụng hệ thống có thể hủy bỏ các điều khoản sử dụng của OWL-ITS, và cũng là người có quyền thao tác tất cả các tính năng quản trị của OWL-ITS.<br>(7) \"Thành viên thường\" là người sử dụng thông thường và không có các quyền quản trị hệ thống. <br>(8) “Tài khoản” được tạo từ địa chỉ Email và mật khẩu là bắt buộc đối với người dùng OWL-ITS, hoặc là tài khoản của các dịch vụ khác được liên kết đến để sử dụng dịch vụ của OWL-ITS.<br>(9) \"Không gian làm việc\" nghĩa là nơi để liên kết với Tài khoản dịch vụ được tạo để sử dụng \"OWL-ITS\". \"Tài khoản\" của \"Thành viên\" có thể thuộc nhiều không gian làm việc.. <br>(10) “Bài viết” được người dùng sử dụng trong “Dịch vụ”, là dạng văn bản Thông tin như video, ký tự, kí hiệu; hình ảnh; các loại tài liệu và các liên kết.<br>(11) “Sản phẩm” là loại dịch vụ mà người dùng lựa chọn dựa trên các điều khoản đã kí kết cụ thể với Công ty. Sản phẩm lựa chọn có thể là các phiên bản miễn phí mà người dùng không cần phải trả bất kì một khoản phí nào hoặc là các phiên bản mất phí đòi hỏi người dùng phải bỏ tiền mua.<br>(14) “Thanh toán” là việc người sử dụng sẽ phải trả một khoản tiền cho Công ty để sử dụng gói OWL-ITS CƠ BẢN.<br>(15) \"Thanh toán định kỳ\" có nghĩa là phương thức thanh toán được thực hiện tự động vào một ngày cố định đã được ấn định để sử dụng gói CƠ BẢN. <br>(16) “Thanh toán ngay lập tức” là phương thức thanh toán một lần để thanh toán ngay cho tài khoản người dùng mới được thêm vào.<br> <br>Điều 3 (Công bố và chỉnh sửa điều khoản)<br>(1) Công ty cung cấp các bài viết liên quan đến các Điều khoản sử dụng ở màn hình đầu tiên của dịch vụ OWL để người dùng có thể dễ dàng tham khảo. <br>(2) Công ty sẽ cập nhật các Điều khoản sử dụng phù hợp với các luật ban hành nếu cần thiết. <br>(3) Trong trường hợp các Điều khoản sử dụng được chỉnh sửa, Công ty sẽ ghi rõ lí do sửa đổi và ngày áp dụng, thông báo trước 15 ngày trước ngày áp dụng trên bảng thông báo dịch vụ OWL cùng với điều khoản hiện tại. Với trường hợp điều khoản sửa đổi có nội dung gây bất lợi cho người dùng, công ty phải thông báo rõ ràng đến người sử dụng trước 30 ngày bằng các hình thức điện tử như gửi email đến địa chỉ email đã đăng kí, thông báo trên cửa sổ bật lên khi đăng nhập.<br>(4) Khi Công ty thông báo điều khoản sửa đổi như ở trên, trong vòng 30 ngày nếu người dùng không có ý kiến gì thì sẽ được xem như đã đọc thông báo và đồng ý với điều khoản sửa đổi.<br>(5) Nếu Thành viên không đồng ý với các điều khoản sửa đổi, Công ty không thể áp dụng các điều khoản và điều kiện đã được sửa đổi, trong trường hợp đó thành viên có thể chấm dứt hợp đồng. Tuy nhiên, nếu có bất kỳ trường hợp đặc biệt nào mà các điều khoản hiện tại không thể được áp dụng, Công ty có thể hủy hợp đồng sử dụng.<br> <br>Điều 4 (Các quy định khác)<br> Các vấn đề không được quy định trong các Điều khoản sử dụng này được hiểu và diễn giải theo các quy định của Luật khung về Viễn thông, Luật kinh doanh viễn thông và các luật và quy định khác có liên quan của các doanh nghiệp tương tự.<br><br>Điều 5 (Ký kết Điều khoản sử dụng)<br>(1) Điều khoản sử dụng dịch vụ OWL được ký kết với sự đồng thuận của hai bên, sau khi người sử dụng mong muốn trở thành thành viên và đồng ý với nội dung các điều khoản, đăng ký địa chỉ email và mật khẩu, và công ty chấp thuận bằng việc xác nhận sự đăng đó qua địa chỉ Email. <br>(2) Địa chỉ email đã dùng đăng ký Tài khoản không thể Cập nhật.<br>(3) Sau khi đăng ký, cho đến trước khi hủy sử dụng Dịch vụ, bất cứ lúc nào bạn cũng có thể đăng ký thêm thành viên hoặc gia hạn thêm thời gian sử dụng Dịch vụ. <br>① Sau khi Điều khoản sử dụng hết hạn, tính năng sử dụng sẽ bị hạn chế một phần. Sau 3 tháng, thông tin sử dụng Dịch vụ sẽ xóa hoàn toàn. <br>(4) Công ty có thể cập nhật, ngừng cung cấp, sửa đổi toàn bộ hoặc một phần Dịch vụ được cung cấp miễn phí dựa trên yếu tố cần thiết cho điều hành và chính sách của Công ty. Chúng tôi sẽ không bồi thường riêng biệt cho bất kỳ thành viên nào khi không có quy định đặc biệt trong Luật liên quan. <br>(5) Công ty có thể không chấp thuận đăng ký cho các trường hợp sau hoặc hủy Điều khoản sử dụng.<br>① Trường hợp đăng ký thành viên của thành viên đã từng bị Công ty hủy Điều khoản sử dụng theo Khoản 3 Điều 10 trong Điều khoản này <br>② Trường hợp sử dụng Thông tin cá nhân của người khác<br>③ Trường hợp không điền Thông tin cụ thể trong các hạng mục bắt buộc hay điền Thông tin sai lệch<br>④ Trường hợp vi phạm các quy định Công ty đề ra như Hướng dẫn chi tiết hay vi phạm Luật liên quan<br> <br>(6) Công ty có thể bảo lưu Tài khoản của người đăng ký thành viên với các trường hợp sau.<br>① Trường hợp dung lượng Dịch vụ thực tế không còn<br>② Trường hợp có vấn đề về kỹ thuật khi cung cấp Dịch vụ<br>③ Trường hợp khác, Công ty nhận định cần thêm yêu cầu mang tính tài chính, kỹ thuật<br> <br>Điều 6 (Quản lý Thông tin thành viên)<br>(1) Thành viên phải có trách nhiệm quản lý Tài khoản, Mật khẩu của mình, không được cho người thứ 3 sử dụng. <br>(2) Trường hợp thành viên nhận thấy Tài khoản và Mật khẩu bị đánh cắp hay người thứ 3 đang sử dụng, phải thông báo ngay đến Công ty và làm theo hướng dẫn của Công ty.<br>(3) Với trường hợp trên, nếu thành viên không thông báo sự thật đến Công ty, hay có thông báo nhưng không làm theo hướng dẫn của Công ty thì Công ty sẽ không chịu trách nhiệm với các vấn đề xảy ra.<br>(4) Với tính năng Quản lý tài khoản trong dịch vụ OWL, thành viên có thể xem Thông tin cá nhân của mình bất cứ lúc nào và có thể sửa đổi. Công ty không chịu trách nhiệm về những bất lợi phát sinh do thành viên không sửa đổi Thông tin của mình một cách chính xác.<br> <br>Điều 7 (Nghĩa vụ của Công ty) <br>(1) Công ty sẽ nỗ lực thực hiện các biện pháp như bảo trì, kiểm tra và phục hồi các cơ sở liên quan đến việc cung cấp và bảo mật các Dịch vụ của OWL để đảm bảo cung cấp dịch vụ liên tục và ổn định <br>(2) ông ty không được phép gửi tin nhắn, thông báo, email mang mục đích quảng cáo có lợi nhuận khi chưa nhận được sự đồng ý của thành viên.<br>(3) Công ty cố gắng bảo vệ thông tin cá nhân của thành viên được thu thập qua Dịch vụ OWL, không được tiết lộ hoặc chia sẻ cho bên thứ ba mà không có sự đồng ý trước của thành viên. Các vấn đề khác liên quan đến việc bảo vệ thông tin cá nhân của thành viên phải tuân theo “Chính sách bảo mật thông tin” đã được Luật thông tin Mạng và công ty ban hành.<br><br>Điều 8 (Nghĩa vụ của Thành viên)<br>(1) Thành viên không được phép thực hiện các hành vi sau.<br>① Đăng ký sai thông tin khi đăng ký thành viên hay cập nhật Thông tin thành viên<br>② Đánh cắp Thông tin của người khác<br>③ Chỉnh sửa Thông tin do Công ty đăng tải<br>④ Đăng tải hay gửi các Thông tin nằm ngoài Thông tin mà Công ty quy định (như chương trình máy tính v.v)<br>⑤ Hành vi vi phạm bản quyền, Quyền sở hữu trí tuệ của Công ty và bên thứ 3<br>⑥ Hành vi gây trở ngại đến công việc hay tổn hại đến thanh danh của Công ty và bên thứ 3<br>⑦ Hành vi đăng tải, chia sẻ lên dịch vụ OWL thông tin có tin nhắn, hình ảnh, âm thanh khiêu dâm, bạo lực hay vi phạm an ninh và thuần phong mỹ tục <br>⑧ Hành vi sử dụng dịch vụ OWL với mục đích lợi nhuận mà không có sự đồng ý của Công ty <br>⑨ Hành vi sử dụng, thu thập và chia sẻ thông tin của người sử dụng Dịch vụ khác mà không có sự cho phép<br>⑩ Hành vi đồng ý cho người khác sử dụng hay cung cấp thế chấp, cho thuê, chuyển nhượng, bán lại, phân phối, sửa đổi, sao chép một phần các phần mềm trong dịch vụ OWL mà không có sự đồng ý của Công ty. Hành vi mô phỏng, phân tích, phục chế và biến đổi khác đối với dịch vụ OWL như thử nghiệm mã nguồn hay thiết kế ngược các phần mềm <br>⑪ Hành vi sử dụng phương pháp khác ngoài Hướng dẫn của Công ty và truy cập vào dịch vụ OWL<br>⑫ Hành vi chiếm hữu tên miền phụ OWL không liên quan đến bản thân và làm cản trở sử dụng dịch vụ OWL của người khác<br>⑬ Hành vi cung cấp để thế chấp, thừa kế, chuyển nhượng cho người khác quyền sử dụng Điều khoản sử dụng, giấp phép sử dụng dịch vụ OWL của mình<br>⑭ Hành vi bất chính hay vi phạm pháp luật khác <br> <br>(2) Trường hợp thành viên không tuân thủ luật hiện hành, những Điều khoản sử dụng này hoặc các hướng dẫn chi tiết, Công ty có quyền điều tra hành vi vi phạm của thành viên, đình chỉ vĩnh viễn hoặc tạm thời việc sử dụng dịch vụ OWL của thành viên hoặc hạn chế đăng ký lại thành viên đó. Thành viên sẽ chịu trách nhiệm về bất kỳ tổn thất thông tin do việc chấm dứt đó.<br>(3) Nếu thành viên không truy cập hoặc đăng nhập để sử dụng Dịch vụ trong khoảng thời gian được quy định trong các luật liên quan, Công ty có thể hủy bỏ Thông tin thành viên hoặc lưu trữ riêng thông tin đó sau khi đã thông báo cho thành viên có liên quan thông qua các phương tiện như email đăng kí với OWL. Điều này có thể dẫn đến việc chấm dứt Thỏa thuận sử dụng nếu thiếu thông tin cần thiết để sử dụng Dịch vụ OWL. <br>(4) Người dùng có nghĩa vụ thanh toán các khoản phí do Công ty đặt ra dựa trên các Điều khoản sử dụng này cho các Dịch vụ mất phí, thành viên phải chịu mọi trách nhiệm đối với bất kỳ vấn đề phát sinh từ việc không thanh toán phí kể cả các khoản nợ liên quan đến việc không thanh toán phí này của công ty .<br> <br>Điều 9 (Cập nhật và ngừng Dịch vụ)<br>(1) Công ty không ngừng nỗ lực cung cấp dịch vụ OWL 365 ngày và 24 giờ. Tuy nhiên sẽ ngừng cung cấp Dịch vụ tạm thời với lí do kiểm tra tạm thời hay định kỳ để bảo trì, tu sửa thiết bị hay lí do tương tự khác. Với trường hợp dịch vụ OWL Service bị ngừng bởi lí do Công ty không dự đoán được trước, Công ty sẽ nhanh chóng xác định tình hình ngay lập tức và phục hồi Dịch vụ trong thời gian sớm nhất. <br>(2) Công ty có thể ngừng cập nhật một phần hay toàn bộ nội dung dịch vụ OWL khi phát sinh nhu cầu điều chỉnh kỹ thuật và vận hành. Trước khi ngừng hay cập nhật Dịch vụ, Công ty sẽ thông báo tới thành viên ở ngay màn hình chính hoặc trên bảng thông báo dịch vụ OWL. Với các hạng mục cập nhật hay ngừng Dịch vụ có ảnh hưởng quan trọng đến thành viên, ngoài thông báo, Công ty phải thông báo rõ ràng trước 30 ngày áp dụng bằng các hình thức như Email mà thành viên đã đăng kí hoặc ở cửa sổ bật lên khi đăng nhập. <br>(3) Công ty có thể ngừng cung cấp OWL Service với các trường hợp sau.<br>① Trường hợp rủi ro cản trở đến hoạt động của dịch vụ như có sự cố khẩn cấp từ quốc gia, sự cố của thiết bị dịch vụ, hoặc tắc nghẽn sử dụng dịch vụ.<br>② Nếu như không thể cung cấp dịch vụ với lý do công ty không thể tránh khỏi<br>③ Nếu một công ty viễn thông đã ngừng cung cấp dịch vụ viễn thông<br> <br>Điều 10 (trước đây) để cải thiện hệ thống<br>(1) Nếu không thể tránh khỏi việc cải tiến hệ thống quy mô lớn, công ty có thể chuyển dữ liệu của khách hàng lưu trữ trong hệ thống hiện tại sang hệ thống mới mà không có sự đồng ý hoặc thủ tục đăng ký.<br> <br>Điều 11 (dịch vụ kết thúc)<br>(1) Trong giải thể gia nhập dịch vụ có một giải thể dựa vào quyền của công ty và sự lỏng lẻo của các thành viên.<br>(2) Thành viên có thể sử dụng thực đơn được cung cấp bên trong dịch vụ OW bất cứ lúc nào và có thể xin giải thể dịch vụ, và chỉ khi giải thể không gian công việc được xử lý theo các số sau.<br>① Chỉ những người quản lý có thể cung cấp các dịch vụ trong không gian làm việc tương ứng.<br>② Khi hợp đồng trong không gian làm việc bao gồm cả tính năng trả phí, sẽ tự động hủy bỏ năm thanh toán.<br>(2) Công ty xử lý nhanh chóng đề nghị giải thể hợp đồng sử dụng theo quy định của luật liên quan. Tuy nhiên, trong trường hợp thanh toán định kỳ do chu kỳ thanh toán được đặt theo đơn vị tháng, việc ký hợp đồng sẽ được xử lý theo từng số sau.<br>① Nếu là đơn vị tháng thì vào ngày thanh toán định kỳ của tháng sẽ xử lý phí hợp đồng dịch vụ<br>② Nếu một ngày trước khi các thành viên đăng ký hợp đồng dịch vụ đến phiên quyết định kỳ hạn vào tháng thì hợp đồng sẽ được xử lý sau thời gian sử dụng còn lại. Và trong thời gian sử dụng còn lại, các thành viên có thể sử dụng dịch vụ OW một cách bình thường.<br>(3) Thành viên đang sử dụng dịch vụ mất phí phải trực tiếp xóa các bảng tin mà mình viết trong dịch vụ OWL trước khi từ bỏ thành viên dịch vụ OW. Tuy nhiên, nếu không gian công việc do chính thành viên tổ chức bị hủy bỏ thì phần thử thách đăng ký sẽ tự động xóa.<br>(4) Trường hợp thành viên không xóa các bài đăng mà là thành viên trong nhóm không xóa và rút khỏi hội viên, vì vậy các bài đăng sẽ không bị xóa bỏ trong không gian làm việc dịch vụ WW nên cần phải kiểm tra cẩn thận trước khi rút khỏi.<br>(5) Khi hợp đồng sử dụng bị chấm dứt, ngoại trừ trường hợp các thành viên sở hữu thông tin nhất định của các thành viên theo các bản tin không bị xóa, pháp lệnh xử lý thông tin cá nhân và phương pháp xử lý thông tin cá nhân, tất cả các thông tin của họ sẽ bị xóa.<br>(6) Trường hợp thành viên vi phạm điều 8 điều khoản thì công ty có thể hủy bỏ hợp đồng sử dụng cho các thành viên tương ứng Trường hợp này, công ty sẽ soạn thảo nội dung xử lý và thông báo trước khi rút khỏi phòng để gửi e-mail tới địa chỉ email của các thành viên.Thành viên có thể đưa ra ý kiến phản đối trong vòng 30 ngày kể từ ngày nhận được thông báo của công ty, và công ty sẽ mở lại hợp đồng sử dụng dịch vụ với các thành viên nếu họ thừa nhận mình thích.<br>Điều 12 (bảo quản tài liệu)<br>(1) Tài liệu của các thành viên hết hạn thời hạn hợp đồng sẽ được lưu giữ 1 tháng từ ngày hết hạn và dữ liệu sẽ bị xóa nếu bạn không mua sản phẩm gia hạn trong vòng 1 tháng.<br>(2) Tài liệu của các thành viên đang sử dụng dịch vụ miễn phí sẽ bị xóa ngay sau khi giải thể dịch vụ.<br>(3) Trong các trường hợp sau đây, bạn có thể tiếp tục lưu trữ tài liệu về các thành viên đã hủy đăng ký hoặc hết thời gian hợp đồng sử dụng.<br>① Nếu công ty nghĩ rằng cần phải có bảo đảm thông tin trong một khoảng thời gian nhất định để xác nhận hồ sơ như là phí của các thành viên đăng ký hủy đăng ký.<br>(4) Trong số các tài liệu làm việc được sử dụng dịch vụ được lưu trữ trong vòng 6 tháng và bản tin thao tác trước được tự động xóa.<br> <br>Điều 13 (thông báo tin)<br>(1) Công ty có thể chuyển cho các thành viên thông qua email hoặc tin nhắn văn bản mà các thành viên đăng ký chức năng mới của dịch vụ và các thông tin hữu ích khác nhau theo sự đồng ý của họ.<br>(2) Công ty có thể gửi các thông tin truyền tải cần thiết như hướng dẫn giải thể cho các thành viên không liên quan đến sự đồng ý của các thành viên trong thời gian hết hạn sử dụng dịch vụ.<br> <br>Điều 14 (sử dụng dịch vụ)<br>(1) Nếu một thành viên vi phạm nhiệm vụ của mình hoặc cản trở hoạt động bình thường của dịch vụ OW bằng điều khoản này, công ty có thể dừng việc sử dụng dịch vụ trước mà không được cải thiện.Công ty có thể tái thiết lập dịch vụ nếu lợi nhuận của các thành viên được cho là đã được giải quyết.<br>(2) Thời gian ngừng sử dụng dịch vụ OWL bao gồm trong thời gian cung cấp dịch vụ OWL.<br> <br>Điều 15 (giải thích hàng hóa)<br>(1) Sản phẩm dịch vụ WW được áp dụng cho cá nhân công việc được tạo ra cho các thành viên khác và các thành viên có quyền quản lý mua sản phẩm.<br>(2) Nếu một thành viên tạo không gian làm việc, bạn sẽ gia nhập FERC là sản phẩm miễn phí (thử nghiệm vô phí) và có thể mua hàng miễn phí nếu nó vượt quá giới hạn dung lượng và số lượng thành viên của không gian.<br>(3) Mong là các bạn sẽ biết Trang web Internet (www.owlsolution.io) Tôi đăng thông báo lên bảng thông báo.<br> <br>Điều 16) hợp đồng hàng hóa<br>(1) Hợp đồng sản phẩm sẽ được ký kết sau khi hoàn thành hợp đồng bằng cách sử dụng phương thức thanh toán được chỉ định bởi công ty quản lý, trong số các thành viên không gian công việc.<br>(2) Không gian làm việc có thể sử dụng sản phẩm tương ứng từ thời điểm công ty đăng ký sử dụng sản phẩm. Thời điểm này có nghĩa là sau khi thanh toán các mặt hàng có thu phí và chuyển đổi sản phẩm.<br>(3) Các đơn xin thay đổi sang sản phẩm mất phí được thực hiện đồng thời với hoàn thành thanh toán tiền sử dụng.<br>(4) Không thể đổi sang sản phẩm miễn phí.<br> <br>Điều 17) Thanh toán<br>Ngày khai trương phí sử dụng dịch vụ OWL là từ thời điểm công ty đăng ký dịch vụ.<br>(1) Thanh toán chi phí hàng ngày là 1 ngày từ 00 giờ đến 00 giờ, thời gian bắt đầu hoặc thời gian khởi động của cung cấp dịch vụ được coi là 1 ngày<br>(2) Thành viên khi đăng ký chức năng dịch vụ thanh toán của dịch vụ OWL chỉ có thể lựa chọn phương thức thanh toán định kỳ hàng tháng hoặc hàng năm. <br>① Khi thanh toán dịch vụ mất phí, tùy thuộc vào số lượng người dùng sẽ quyết định.<br>② Dịch vụ mất phí có thể dùng bằng cách kích hoạt các hội viên trong vòng số người dùng bị hạn chế.<br>③ Có thể thanh toán theo yêu cầu bổ sung của người dùng trong lúc sử dụng dịch vụ thanh toán. Bạn có thể ngay lập tức thanh toán cước phí cho số người dùng đã đăng ký thêm và sử dụng dịch vụ ngay lập tức.Thanh toán tức thì là thanh toán 1 lần, sau khi thanh toán tự động phản ánh số người dùng đã thanh toán định kỳ tiếp theo.<br> <br>Điều 18 ( hoàn trả tiền mặt)<br>(1) Dịch vụ WW thì không hoàn trả chi phí theo phương thức thanh toán trước, ngoại trừ trường hợp cần theo pháp luật. Tuy nhiên, nếu tương ứng với từng số dưới đây, có thể đăng ký hoàn trả và xử lý phù hợp với nó.<br>① Áp dụng hủy bỏ thanh toán khi yêu cầu hủy bỏ vào ngày đăng ký dịch vụ.<br>② Khi giải thể các khoản phí trả trước, sau khi khấu trừ 10% tổng số tiền sử dụng (giá trị) tương ứng từ số tiền còn lại kể từ ngày kết thúc dịch vụ.<br>③ Số tiền hoàn trả sẽ được gửi vào tài khoản được chỉ định khi đăng ký hoàn lại.<br>④ Thời gian hoàn trả cước phí giải thể sẽ được thanh toán trong vòng 15 ngày kể từ ngày chấm dứt gia nhập.<br> <br>Điều 19 (Giải thưởng thiệt hại)<br>(1) Liên quan đến việc cung cấp dịch vụ của công ty, nếu thành viên bị tổn thất khi sử dụng dịch vụ do cố ý hoặc do sự làm trung gian, thì có thể được nhận bồi thường hợp lý và thích hợp.Trường hợp muốn yêu cầu bồi thường thiệt hại thì phải ghi lý do, tiền yêu cầu và chi phí sản sinh ra bằng văn bản rồi nộp đơn.<br> <br>Điều hai mươi<br>(1) Trường hợp không thể cung cấp dịch vụ do sự biến động của thiên tai, chiến tranh và bất khả kháng khác<br>(2) Trong trường hợp doanh nghiệp kinh doanh viễn thông phải ngừng cung cấp dịch vụ viễn thông hoặc bị thương<br>(3) Trường hợp tổn thất hoặc sử dụng dịch vụ do lỗi của thành viên<br>(4) Trường hợp phát sinh thiệt hại do lý do bất khả kháng như sửa chữa, thay thế, kiểm tra định kỳ<br>(5) Sử dụng dịch vụ theo luật dự án thông tin điện tử và quy định thi hành, những nội dung bất ổn định, thiệt hại danh dự do sự mất mát, xâm hại quyền sở hữu trí tuệ quốc gia, xâm phạm bất hợp pháp<br>(6) Trước khi lưu trữ, sử dụng các dịch vụ do trở ngại trong các thiết bị như mạng lưới, hoặc xảy ra mất dữ liệu, lỗi,<br>(7) Trong trường hợp là tài liệu lưu trữ bất thường. Tuy nhiên, \"tài liệu lưu trữ thông thường\" có nghĩa là sau khi các thành viên truyền dữ liệu, nó được lưu trữ vào bộ nhớ một cách bình thường mà không có sự thay đổi hoặc thay đổi thuộc tính toàn bộ.<br>(8) Nếu phát sinh thiệt hại cho các thành viên do lỗi của thành viên hoặc sự hiểu lầm không đầy đủ của dịch vụ<br>(9) Công ty không chịu trách nhiệm về việc các thành viên giải thể hợp đồng sử dụng, thay đổi sản phẩm, hủy bỏ dữ liệu do người sử dụng hoặc không gian làm việc.<br>(10) Nếu một thành viên công khai ID / mật khẩu của mình cho người khác hoặc do lơ là quản lý mà ID / bí mật bị lộ ra và gây ra bất kỳ thiệt hại nào cho các thành viên.<br>(11) Trong trường hợp thiệt hại phát sinh do không thể sử dụng dịch vụ thì phải tạm thời dừng dịch vụ khi tiến hành kiểm tra định kỳ hoặc kiểm tra khẩn cấp để cung cấp dịch vụ.<br>(12) Công ty không có nghĩa vụ can thiệp vào tranh chấp phát sinh trong việc mua bán dịch vụ giữa các công ty liên quan, hoặc bên thứ 3 và không có trách nhiệm bồi thường thiệt hại do điều này.<br> <br>Điều 21) liên quan đến luật tiêu chuẩn<br>(1) Công ty và các thành viên phải nỗ lực hết mình để giải quyết phân tranh phát sinh liên quan đến dịch vụ<br>(2) Đối với những điều khoản không ghi rõ trong chính sách công ty quy định, luật dự án thông tin điện tử, xúc tiến sử dụng mạng thông tin truyền thông và ý chí của pháp lệnh liên quan khác,<br>Áp dụng phân tích theo các thông lệ chung.<br>(3) Nếu không có sự tranh chấp phát sinh liên quan đến việc sử dụng dịch vụ giữa công ty và thành viên thì quyền hạn của các tố tụng liên quan sẽ là tòa án có thẩm quyền địa điểm của công ty.<br>– Ngày thi: Ngày 9 tháng 11 năm 2018", |
| | | |
| | | "workspaceUserManagement" : "Quản lý Người sử dụng Không gian làm việc", |
| | | "numberOfParticipants" : "số người tham gia", |
| | | "participation" : "sự tham dự", |
| | | "waitForParticipation" : "chờ đợi", |
| | | "withdrawal" : "Withdrawal", |
| | | "canParticipate" : "có thể tham gia", |
| | | "installingManagerServerAddress" : "(địa chỉ server cài đặt)", |
| | | "failedToSelectWorkspaceInformation" : "Không gian làm việc mà bản thân quản lý đã thất bại", |
| | | "failedToPaymentInformation" : "Thất bại khi xem thông tin thanh toán", |
| | | "completedPayment" : "thanh toán xong", |
| | | "failedPayment" : "thanh toán thất bại", |
| | | "cancelTheRegularPaymentReceive" : "Bạn có hủy thanh toán định kỳ không? \nSố tiền không tính phí sử dụng sẽ được hoàn trả trong vòng 7 ngày.", |
| | | "failedToCancelPayment" : "Thất bại", |
| | | "failedToModifyWorkspaceName" : "Sửa đổi không gian làm việc", |
| | | "failedToRegularPaymentChange" : "Thất bại trong việc thay đổi thanh toán định kỳ", |
| | | "failedToParticipationStatusChange" : "Thất bại khi thay đổi trạng thái tham gia", |
| | | "failedToSelectWorkspaceFullUserList" : "Không gian làm việc, danh sách người dùng thất bại" |
| | | }, |
| | | |
| | | "issue" : { |
| | | "issueType" : "loại Vấn đề", |
| | | "managementIssue" : "Quản lý Vấn đề", |
| | | "createIssue" : "Tạo ra một vấn đề", |
| | | "issueStatus" : "tình trạng của vấn đề", |
| | | "issueNumber" : "con số vấn đề", |
| | | "issueContent" : "Nội dung vấn đề", |
| | | "issueTitle" : "Đề mục Vấn đề", |
| | | "requireIssueTitle" : "Hãy nhập tiêu đề đi", |
| | | "issueList" : "danh mục vấn đề", |
| | | "summaryIssueActivity" : "tóm tắt nội dung hoạt động vấn đề", |
| | | "modifyIssues" : "thụ tinh vấn đề", |
| | | "continueCreateIssue" : "Tôi đang liên tục tạo ra các vấn đề liên quan đến chương trình này.", |
| | | "initializedAssigneeCustomField" : "Nếu thay đổi dự án thì giá trị cần thiết của người phụ trách, người sử dụng sẽ bị khởi tạo.", |
| | | "setUpUsersParticipatingInProject" : "Cài đặt người dùng tham gia vào dự án.", |
| | | "initializedIssueStatus" : "Trường hợp thay đổi loại hình thì sẽ do yêu cầu của người sử dụng, vấn đề là khởi tạo lại.", |
| | | "clickToSelectDate" : "Nếu click vào thì có thể chọn ngày.", |
| | | "notIssueTypeCustomFields" : "Người dùng liên kết với nhau về vấn đề này thì sẽ không cần đến tính chính nghĩa của người dùng..", |
| | | "attachOnlyFiles" : "Bạn chỉ có thể đính kèm tệp vào hwp, jpg, png, txt, pptx, ppt, pdf, xlsx, xls, docx, zip, gif, jpeg, doc, tif, bmp, wmv, avi, mp4, mkv, Mov.", |
| | | |
| | | "registerExcelIssues" : "Đăng ký các vấn đề với Excel", |
| | | "videoExample" : "ví dụ về video", |
| | | "writeWaring" : "điểm cốt lõi để viết", |
| | | "pleaseEnterIssueName" : "Hãy nhập tên của bạn để tìm kiếm.", |
| | | "selectProjectAndIssueTypeDownloadExcel" : "Nếu bạn chọn một loại dự án, vấn đề, bạn có thể tải về cách tương ứng.", |
| | | "settingTableDisplay" : "cài đặt biểu thị trên bàn", |
| | | "deleteIssue" : "xóa bỏ vấn đề", |
| | | "wantToDeleteSelectIssue" : "Sẽ xóa bỏ những vấn đề đã chọn chứ? Không thể khôi phục lại vấn đề đã bị xóa.", |
| | | "failedToSaveFieldConditions" : "Thất bại trong việc lưu lại điều kiện tìm kiếm", |
| | | "failedToGetSearchFieldCondition" : "Thất bại trong việc mang điều kiện tìm kiếm", |
| | | "failedIssueLookup" : "Vấn đề là lượt view thất bại", |
| | | "selectionCheck" : "Kiểm tra đối tượng được chọn", |
| | | "selectIssueToChangeStatus" : "Hãy chọn vấn đề thay đổi trạng thái.", |
| | | "notHaveDeletePermissionExistsAnIssue" : "Có vấn đề không có quyền xóa.", |
| | | "failedToIssueTypeListLookup" : "Thất bại trong danh sách các môn nổi tiếng", |
| | | "failedToPriorityListLookup" : "Lượt truy cập thứ tự ưu tiên thất bại", |
| | | "failedToCriticalListLookup" : "Danh sách lượt truy cập cũng thất bại", |
| | | "failedToUserDefinedFieldListLookup" : "Số lượt truy cập theo định nghĩa người dùng thất bại", |
| | | "failedToIssueTableColumnLookup" : "Không biết lượt xem có bị rớt không", |
| | | "capacityExceededImageFile" : "Dung lượng hình ảnh vượt quá", |
| | | "attachedOnlyImageFiles10mb" : "Chỉ có thể đính kèm file hình ảnh dưới 10MB.", |
| | | "attachedMultipleImageFiles100mb" : "Trường hợp đính kèm một lúc nhiều hình ảnh thì có thể đính kèm đến dưới 100MB.", |
| | | "limitImageFile" : "hạn chế tập tin hình ảnh", |
| | | "canBeUploadedOnlyImageFiles" : "Chỉ có thể tải lên tập tin hình ảnh. -B,P, jp, hồng, s", |
| | | "previewImage" : "Xem hình ảnh trước nào", |
| | | "nameErrorImageFile" : "Tên tập tin hình ảnh", |
| | | "cannotUploadFileNameSpecialCharacters" : "Ký tự đặc biệt (e) trong tên tệp không thể tải lên.", |
| | | "errorFileUpload" : "lỗi upload file", |
| | | "attachmentCapacityExceeded" : "Vượt quá dung lượng file đính kèm", |
| | | "canAttachFileUpTo100mb" : "Có thể đính kèm file đến mức dưới 100MB.", |
| | | "limitAttachmentExtensions" : "hạn chế người mở rộng tệp đính kèm", |
| | | "notAllowedAttachment" : "Đó là tập tin không được cho phép.", |
| | | "nameErrorAttachment" : "lỗi về tên tập tin đính kèm", |
| | | "succeededIssueRegistration" : "đăng ký thành công vấn đề", |
| | | "failedIssueRegistration" : "đăng ký thất bại vấn đề", |
| | | "failedIssueModify" : "Sửa đổi vấn đề", |
| | | "failedToProjectDetails" : "Thất bại trong việc xem thông tin chi tiết về dự án", |
| | | "failedToUserDefinedFieldListAssociatedLookup" : "Kết nối loại hình vấn đề, lượt truy cập vào danh sách những người dùng theo định nghĩa, thất bại", |
| | | "applyTemplate" : "áp dụng mẫu", |
| | | "issueContentIsWrittenApplyTheTemplate" : "Nội dung của nó đã được soạn thảo. Anh (chị) có áp dụng mẫu mã không? Nếu mẫu được áp dụng thì nội dung đã soạn thảo sẽ biến mất..", |
| | | "failedIssueStatusCheck" : "Thất bại trong việc tìm kiếm một số vấn đề có thể di chuyển", |
| | | "failedToChangeMultipleIssueStatus" : "Thất bại trong việc thay đổi trạng thái nhiều vấn đề", |
| | | "completedSavingIssueTable" : "Hoàn thành việc lưu lại các vấn đề", |
| | | "saveIssueTableSettingsInformation" : "Thông tin thiết lập bảng vấn đề đã được lưu trữ.", |
| | | "failedToSaveIssueTableSetting" : "Thất bại trong việc lưu lại các vấn đề", |
| | | "errorRemovableIssueStatusList" : "Một lỗi về một mục lục những vấn đề có thể di chuyển được", |
| | | "errorIssueDetails" : "Có lỗi về thông tin chi tiết", |
| | | "failedToRegisterComments" : "Đăng ký bình luận thất bại", |
| | | "deleteComments" : "Xóa bình luận", |
| | | "failedToDeleteComments" : "Xóa bình luận thất bại", |
| | | "wantToDeleteTheSelectedComments" : "Có xóa bình luận đã chọn không ạ? Không thể khôi phục lại những bình luận đã bị xóa.", |
| | | "failedToGetCommentListData" : "Cậu ấy không thể lấy dữ liệu từ danh sách các bình luận", |
| | | "failedToAttachmentList" : "Lượt truy cập file đính kèm thất bại", |
| | | "setIssueTableDisplay" : "Đã thiết lập một bảng biểu thị vấn đề", |
| | | "columnName" : "tên tuổi bị uốn cong", |
| | | "area" : "chiều rộng", |
| | | "displayed" : "sự bày tỏ hay không", |
| | | "sequence" : "Thứ tự", |
| | | "cannotChangedIssueTitle" : "Không thể thay đổi tiêu đề.", |
| | | "selectSendIssueMail" : "Lựa chọn người gửi mail", |
| | | "sendIssueSelectedUsers" : "Tôi gửi thông tin về vấn đề này đến người dùng được lựa chọn.", |
| | | "sendMail" : "gửi thư điện tử", |
| | | "changedHistory" : "thông tin chi tiết thay đổi", |
| | | "noChangeHistory" : "Không có thông tin đã được thay đổi.", |
| | | "changedTime" : "thời gian đổi", |
| | | "changedUser" : "Người sử dụng đã đổi", |
| | | "issueReservation" : "đặt phòng vấn đề", |
| | | "issueReservationType" : "loại đặt phòng vấn đề", |
| | | "issueReservationDescription" : "Bạn có thể tái tạo vấn đề vào một ngày cụ thể. <br />Nó có thể hữu ích khi có vấn đề cần được thực hiện lặp đi lặp lại.", |
| | | "everyDay" : "mỗi ngày", |
| | | "everyWeek" : "mỗi ngày", |
| | | "everyMonth" : "mỗi tháng", |
| | | "everyYear" : "mỗi tháng", |
| | | "scheduledDate" : "ngày phát hành vấn đề", |
| | | "monday" : "Thứ hai", |
| | | "tuesday" : "Thứ ba", |
| | | "wednesday" : "Thứ tư", |
| | | "thursday" : "Thứ năm", |
| | | "friday" : "Thứ sáu", |
| | | "saturday" : "Thứ sáu", |
| | | "sunday" : "Chủ nhật", |
| | | "enterOnlyNumbers" : "Bạn chỉ có thể nhập số.", |
| | | "january" : "Tháng 1", |
| | | "february" : "Tháng 2", |
| | | "march" : "Tháng 3", |
| | | "april" : "Tháng 4", |
| | | "may" : "Tháng 5", |
| | | "june" : "Tháng 6", |
| | | "july" : "Tháng 7", |
| | | "august" : "Tháng 8", |
| | | "september" : "Tháng 9", |
| | | "october" : "Tháng 10", |
| | | "november" : "Tháng 11", |
| | | "december" : "Tháng 12", |
| | | "succeededIssueReservation" : "Thành công đặt phòng vấn", |
| | | "failedIssueReservation" : "Thất bại đặt phòng vấn", |
| | | "failedToIssueReservationDetails" : "Thất bại sự điều tra thông tin booking", |
| | | "succeededIssueMail" : "Việc đặt chỗ đã được gửi qua email.", |
| | | "sentToTheSelectedUser" : "Đã gửi email cho người dùng được chọn.", |
| | | "failedIssueMail" : "Gửi email thất bại", |
| | | "issueVersionLookupFailed" : "Lượt truy cập thất bại" |
| | | |
| | | }, |
| | | |
| | | "project" : { |
| | | "createProject" : "Làm dự án", |
| | | "projectKey" : "Chìa khóa dự án", |
| | | "projectStatus" : "Trạng thái dự án", |
| | | "projectType" : "Kiểu dự án", |
| | | "projectAdmin" : "Người quản lý dự án", |
| | | "projectTeam" : "Thành viên dự án", |
| | | "modifyProject" : "sửa đổi dự án", |
| | | "settingCustomFields" : "thiết lập tính chính nghĩa người dùng", |
| | | "selectCustomField" : "nhu cầu giả định người dùng", |
| | | "availableFields" : "bộ nhớ có thể sử dụng được", |
| | | "inUseField" : "nét chữ đang dùng", |
| | | "pleaseEnterProjectName" : "Hãy nhập tên dự án.", |
| | | "deleteProject" : "xóa đi dự án", |
| | | "wantToDeleteSelectProject" : "Bạn có xóa dự án đã chọn không? Không thể phục hồi dự án đã bị xóa.", |
| | | "notHaveDeletePermissionExistsProject" : "Có một dự án không có quyền hạn xóa.", |
| | | "failedToProjectListLookup" : "Danh sách dự án thất bại", |
| | | "failedProjectCreation" : "Thất bại khi tạo dự án", |
| | | "saveCompleteFieldManagement" : "Quản lý lĩnh vực đã lưu", |
| | | "saveUserDefinedFieldAndIssueTypeConnection" : "Thông tin kết nối loại vấn đề và mục đích sử dụng đã được lưu trữ.", |
| | | "failedToSaveFieldManagement" : "Không thể lưu quản lý trường", |
| | | "failedToModifyProject" : "Sửa đổi dự án thành công", |
| | | "failedToProjectDetails" : "Thất bại trong việc xem thông tin chi tiết về dự án", |
| | | "failedToProjectMember" : "Lượt truy cập các thành viên dự án thất bại", |
| | | "failedToProjectKeyPattern" : "Giá trị đầu vào dự án đã bị sai.", |
| | | "limitNameToSpecialCharacters" : "Tên dự án không thể nhập bất kỳ ký tự đặc biệt nào." |
| | | }, |
| | | |
| | | "managementStatus" : { |
| | | "managementStatus" : "Quản lý Trạng thái", |
| | | "createStatus" : "Tạo trạng thái", |
| | | "issueStatusName" : "tên trạng thái vấn đề", |
| | | "statusProperties" : "đào tạo trạng thái", |
| | | "createIssueStatus" : "Tạo nên một vấn đề", |
| | | "modifyIssueStatus" : "sửa chữa trạng thái có vấn đề", |
| | | "useInTheWorkflow" : "Vấn đề đang được sử dụng trong workshop. Khi thay đổi tên, tình trạng của vấn đề sẽ bị thay đổi.", |
| | | "builtInIssueStatus" : "Không thể thay đổi đặc tính của các vấn đề cơ bản được cung cấp.", |
| | | "pleaseEnterIssueStatusName" : "Hãy nhập tên trạng thái của vấn đề.", |
| | | "updateNotStatusProperties" : "Không thể thay đổi thuộc tính trạng thái sau khi tạo.", |
| | | "deleteIssueStatus" : "Xóa đi tình trạng hiện tại", |
| | | "wantToDeleteSelectIssueStatus" : "Sẽ xóa bỏ được trạng thái vấn đề đã chọn chứ? Không thể khôi phục lại trạng thái vấn đề đã bị xóa.", |
| | | "failedToCreateIssueStatus" : "thất bại tình trạng của vấn đề", |
| | | "failedToModifyIssueStatus" : "Thất bại trong việc chỉnh sửa tình hình", |
| | | "failedToIssueStatusDetails" : "Lượt truy cập thông tin cụ thể về vấn đề", |
| | | "limitNameToSpecialCharacters" : "Tình trạng của vấn đề không thể nhập bất kỳ ký tự đặc biệt nào." |
| | | }, |
| | | |
| | | "managementWorkflow" : { |
| | | "managementWorkflow" : "Quản lý quy trình làm việc", |
| | | "workflowName" : "tên Quy trình làm việc", |
| | | "createWorkflow" : "Làm Quy trình làm việc", |
| | | "modifyWorkflow" : "sửa đổi Quy trình làm việc", |
| | | "deleteIssueStatusInTheUse" : "Trường hợp xóa bỏ trạng thái đang sử dụng, sẽ thay đổi trạng thái \"Chờ\" bằng trạng thái thuộc tính trạng thái của vấn đề kiểm tra/ hạng mục yêu cầu đang sử dụng Quy trình làm việc", |
| | | "statusList" : "mục lục điều kiện", |
| | | "insert" : "Hộp đựng nước", |
| | | "startPoint" : "điểm bắt đầu", |
| | | "endPoint" : "bến cuối cùng", |
| | | "designNotCompleteWorkflow" : "Thiết kế Quy trình làm việc chưa được hoàn thành.", |
| | | "onlyOneStatusPropertyWaitIssueStatus" : "Trong workbook chỉ tồn tại một vấn đề về trạng thái \"Chờ\"", |
| | | "onlyOneStatusPropertyProgressIssueStatus" : "Quy trình làm việc có hơn 1 vấn đề chính là tiến độ", |
| | | "onlyOneStatusPropertyEndIssueStatus" : "Quy trình làm việc có hơn 1 vấn đề liên quan đến tính chất trạng thái \"chuông khát khao\".", |
| | | "pleaseEnterWorkflowName" : "Hãy nhập tên Quy trình làm việc", |
| | | "connectedIssueType" : "Những vấn đề đã được liên kết", |
| | | "notHaveDeletePermissionExistsWorkflow" : "Có workbook không có quyền xóa.", |
| | | "deleteWorkflow" : "Xoá đi", |
| | | "wantToDeleteTheSelectedWorkflow" : "Anh (chị) sẽ xóa workbook chọn chứ? Không thể phục hồi tờ workbook đã bị xóa.", |
| | | "failedWorkflowListLookup" : "Lượt tìm việc trong danh sách workbook thất bại", |
| | | "failedCreateWorkflow" : "Làm workbook thất bại", |
| | | "failedToModifyWorkflow" : "Nghĩ lại bài workbook thất bại", |
| | | "failedToWorkflowDetails" : "Lượt thông tin chi tiết đã thất bại", |
| | | "failedToPutIssueStatus" : "Thất bại tình trạng của vấn đề", |
| | | "onlyOneInTheWorkflow" : "khối lượng công việc Flow trong trạng thái đặc tính chờ , \" Vấn đề quan 1 cái thôi phải tồn tại .", |
| | | "removeMetastaticLine" : "loại bỏ tuyến di chuyển", |
| | | "removeIssueStatus" : "loại bỏ trạng thái có vấn đề", |
| | | "limitNameToSpecialCharacters" : "Tên workbook không bao gồm chữ đặc biệt.", |
| | | "excludeWorkflowParticipation " : "Xóa khỏi không gian làm việc", |
| | | "imageDownloadNotSupported" : "Vẫn chưa tải ảnh về", |
| | | "IEDoesNotSupport" : "Trong IE, không hỗ trợ tải hình ảnh." |
| | | |
| | | }, |
| | | |
| | | "support" : { |
| | | "support" : "Support", |
| | | "supportFAQ" : "Frequently Question", |
| | | "supportQNA" : "Question / Answer" |
| | | }, |
| | | |
| | | "customField" : { |
| | | "createField" : "trường định nghĩa người dùng", |
| | | "customFieldName" : "Tên trường định nghĩa người dùng", |
| | | "fieldType" : "Loại trường", |
| | | "createCustomField" : "Làm trường định nghĩa người dùng", |
| | | "createSingleFieldList" : "Làm Chữ viết tắt của một người", |
| | | "createMultiFieldList" : "Làm cần nhiều lựa chọn", |
| | | "defaultValue" : "giá gốc", |
| | | "selectSingleFieldListHashTag" : "Phải sử dụng hashtag khi bạn muốn chọn giá trị trong danh sách lựa chọn đơn nhất. ex) tiền thưởng", |
| | | "selectMultiFieldListHashTag" : "Khi bạn muốn chọn một giá trị trong danh sách nhiều người chọn, bạn cần phải sử dụng hashtag. ex) tiền thưởng#tiền thưởng", |
| | | "modifyCustomFields" : "sử dụng trường định nghĩa người dùng", |
| | | "pleaseEnterUserDefinedFieldName" : "Hãy nhập định nghĩa người dùng.", |
| | | "deleteUserDefinedFields" : "chữ viết chính nghĩa người dùng", |
| | | "wantToDeleteSelectUserDefinedFields" : "Bạn có chắc muốn xóa mục đích chính nghĩa người dùng đã lựa chọn không? Chữ định nghĩa người dùng đã bị xóa không thể phục hồi được", |
| | | "duplicateInputValue" : "thông báo trùng giá nhập", |
| | | "alreadyAddedValue" : "Giá trị nhập đã được bổ sung.", |
| | | "failedToCreateUserDefinedFields" : "Thất bại trong việc tạo nên kịch bản chính nghĩa cho người dùng", |
| | | "failedToModifyUserDefinedFields" : "Sửa đổi hoàn toàn tư tưởng người dùng thành công", |
| | | "failedToDetailUserDefinedFields" : "Lượt truy cập thông tin cụ thể theo định nghĩa người dùng thất bại", |
| | | "limitNameToSpecialCharacters" : "Không thể nhập tên viết tắt của định nghĩa người dùng bằng chữ đặc biệt.", |
| | | "emptyInputValue" : "xác nhận giá trị nhập thông báo", |
| | | "emptyAddValue" : "Chưa nhập giá." |
| | | }, |
| | | |
| | | "managementType" : { |
| | | "managementIssueType" : "quản lý loại vấn đề", |
| | | "createIssueType" : "Làm kiểu vấn đề", |
| | | "modifyIssueType" : "sửa kiểu vấn đề", |
| | | "issueTypeName" : "tiếng kiểu vấn đề", |
| | | "enterIssueTypeName" : "Hãy nhập tên theo từng loại vấn đề.", |
| | | "managementType" : "Quản lý loại", |
| | | "createType" : "Làm loại", |
| | | "typeName" : "tên loại", |
| | | "modifyType" : "Chỉnh sửa loại", |
| | | "template" : "mẫu", |
| | | "registerAnIssueTemplate" : "Bạn có thể sử dụng một phần nội dung khi tạo mẫu trước rồi đăng ký một vấn đề.", |
| | | "updateWorkflowIssueStatusStandby" : "Trường hợp thay đổi workbook, nếu không tồn tại trạng thái của vấn đề, sẽ được thay đổi thành trạng thái \"Chờ\" trạng thái có vấn đề.", |
| | | "notHaveDeletePermissionExistsIssueType" : "Có loại hình vấn đề không có quyền xóa.", |
| | | "deleteIssueType" : "Loại hình vấn đề", |
| | | "wantToDeleteSelectIssueType" : "Sẽ xóa bỏ loại hình vấn đề bạn đã chọn chứ? Không thể khôi phục loại hình vấn đề đã bị xóa.", |
| | | "failedToIssueTypeList" : "Chỉ có mục tiêu là lượt truy cập thất bại", |
| | | "failedToCreateIssueType" : "Thất bại vì tạo ra một kiểu chủ đề", |
| | | "failedToModifyIssueType" : "Thay đổi kiểu tóc là thất bại", |
| | | "failedToDetailIssueType" : "Nội dung tin tức chi tiết thất bại", |
| | | "limitNameToSpecialCharacters" : "Mô hình vấn đề không thể nhập bất kỳ ký tự đặc biệt nào." |
| | | }, |
| | | |
| | | "users" : { |
| | | "temporaryPassword" : "mật khẩu tạm thời", |
| | | "guidanceTemporaryPassword" : "Hướng dẫn viên được cấp mật khẩu tạm thời", |
| | | "pleaseMakeSureChangeYourPassword" : "Chúng tôi sẽ cấp một mật khẩu tạm thời để thay đổi mật khẩu tài khoản OWL ITS của quí khách.Sau khi đăng nhập, vui lòng thay đổi mật khẩu.", |
| | | "phoneNumber" : "Liên lạc", |
| | | "modifyInformation" : "Chỉnh sửa thông tin", |
| | | "updatePassword" : "Thay đổi Mật khẩu", |
| | | "setEmailNotificationTime" : "Cài đặt Thời gian Thông báo Email", |
| | | "selectProfileShowOther" : "Hãy chọn hồ sơ để người dùng khác xem.", |
| | | "membershipWithdrawal" : "Hủy tư cách thành viên", |
| | | "signOutNotRecovered" : "Khi rút khỏi hội viên, tất cả dữ liệu trong không gian làm việc sẽ biến mất và không thể phục hồi được.", |
| | | "existingPassword" : "Mật khẩu hiện tại", |
| | | "newPassword" : "Mật khẩu mới", |
| | | "confirmNewPassword" : "Xác nhận Mật khẩu mới", |
| | | "checkPassword" : "Xác nhận mật khẩu", |
| | | "join" : "sử dụng miễn phí", |
| | | "enable" : "hoạt tính", |
| | | "disable" : "tính không hoạt động", |
| | | "withdrawal" : "sự rút lui", |
| | | "usedAccount" : "Bạn có tài khoản sẵn không?", |
| | | |
| | | "joinOWLITSMembership" : "Đăng ký thành viên OWL-ITS", |
| | | "enterAnEmail" : "Hãy nhập email.", |
| | | "enterAnPassword" : "Hãy nhập mật khẩu.", |
| | | "pleaseSelectFile" : "Các bạn hãy chọn tệp đi ạ!", |
| | | "invalidEmailFormat" : "Hình thức email không phù hợp.", |
| | | "enterYourEmailAddress" : "Thông báo sẽ được gửi đến email đã nhập. Hãy nhập email mà bạn nhất định sử dụng.", |
| | | "least4CharactersPassword" : "Mật khẩu phải được nhập trên ít nhất 4 ký tự.", |
| | | "enter4CharactersPassword" : "Hãy nhập mật khẩu trên 4 ký tự.", |
| | | "differentPassword" : "Mật khẩu khác nhau.", |
| | | "contactedEnterPhone" : "Hãy nhập số điện thoại có khả năng liên lạc.", |
| | | "enterTheNameInWorkspace" : "Hãy nhập tên không gian làm việc được tạo ra từ cơ bản.", |
| | | "agreePrivacyPolicy" : "Đồng ý ngăn chặn xử lý thông tin cá nhân.", |
| | | "privacyPolicy" : "Chính sách bảo mật thông tin cá nhân", |
| | | "privacyPolicy1" : "Chính sách bảo mật thông tin cá nhân<br><br>Wisestone (sau đây gọi là “Công ty”) rất coi trọng việc bảo vệ dữ liệu cá nhân của khách hàng và tuân theo Luật về Thúc đẩy Sử dụng Thông tin, Truyền thông và Bảo vệ Thông tin, vv. Bằng việc công khai Chính sách Bảo mật này, Công ty sẽ thông báo đến khách hàng Thông tin cá nhân của quý khách đang được sử dụng với mục đích và bằng cách thức nào, cũng như các biện pháp được thực hiện để bảo vệ thông tin đó. Chính sách bảo mật này có thể được sửa đổi theo sự sửa đổi của các luật liên quan hoặc chính sách nội bộ của công ty. Khi cập nhật, chúng tôi luôn thông báo nội dung và lí do đến khách hàng bằng cách dễ hiểu nhất.<br>Điều 1 (Mục đích sử dụng và hạng mục thu thập Thông tin cá nhân)<br>Để cung cấp các tính năng khác nhau của trang web giải pháp OWL và OWL-ITS (gọi tắt là \"Dịch vụ OWL\") theo Điều khoản sử dụng mà khách hàng đã đồng ý, Công ty sẽ thu thập và lưu trữ thông tin cá nhân (gọi tắt là \"Thông tin cá nhân\") chi tiết như sau:<br>(1) Hạng mục bắt buộc phải nhập<br>① ① Đối tượng được thu thập khi đăng ký thành viên: Email, tên, tên công ty<br>(2) Hạng mục không bắt buộc khi nhập<br>① Hình ảnh<br>(3) Thông tin cá nhân và giao dịch được thu thập trong quá trình sử dụng Dịch vụ hay xử lý công việc<br>① Lịch sử sử dụng Dịch vụ, lịch sử truy cập, Cookie, thông tin IP truy cập, lịch sử thanh toán, lịch sử sử dụng bị lỗi <br>(4) Mục đích sử dụng và thu thập<br>① Hoạt động tư vấn đáp ứng các yêu cầu về dịch vụ (sản phẩm)<br>② Sử dụng dịch vụ hệ thống thành viên: Xác nhận danh tính, xác minh danh tính, ngăn ngừa việc sử dụng sai và trái phép, xác nhận ý định đăng ký, lưu giữ hồ sơ nhằm mục đích giải quyết tranh chấp, quản lý kiến nghị như khiếu nại và thông báo công khai.<br>③ Thanh toán phí theo quy định về cung cấp dịch vụ và thực hiện hợp đồng liên quan đến cung cấp dịch vụ và cung cấp dịch vụ tùy chỉnh (Gửi hóa đơn, thanh toán chi phí)<br>④ Lấy số liệu thống kê để phát triển các dịch vụ (sản phẩm), chuyên môn mới, thông báo sự kiện quảng cáo và cung cấp cơ hội tham gia cho khách hàng, xác minh tính hợp lệ của dịch vụ và lấy số liệu thống kê về tần suất truy cập hoặc sử dụng dịch vụ của thành viên<br>Điều 2 (Phương thức thu thập thông tin cá nhân)<br>Thông tin cá nhân chỉ được thu thập nếu người dùng đồng ý thông qua đăng ký thành viên: thông tin người dùng cập nhật, điện thoại, email, đăng ký hội thảo/khảo sát /sự kiện, yêu cầu và tư vấn, yêu cầu liên kết và các công cụ tạo thông tin khác.<br>Điều 3 (Cài đặt và vận hành thiết bị thu thập thông tin cá nhân tự động và phương thức từ chối)<br>Công ty có thể cài đặt và vận hành thiết bị thu thập tự động như “cookie” và lịch sử dử dụng web (gọi là “dữ liệu thống kê”) và tìm thông tin khách hàng bất cứ khi nào khách hàng sử dụng trang web.<br>(1) Cookie là gì?<br>Cookie là một lượng nhỏ thông tin mà một trang web gửi tới trình duyệt web của khách hàng. Khi khách hàng truy cập trang web, máy tính của Công ty có thể đọc nội dung cookie trong trình duyệt của khách hàng và do đó có thể thu thập thông tin mà không cần thêm bất kỳ thông tin đầu vào nào như tên của kết nối bằng cách tìm kiếm thông tin bổ sung về khách hàng trong máy tính của khách hàng. Khách hàng có thể quyết định có nên chia sẻ cookie hay không. Khách hàng có thể chọn các tùy chọn liên quan đến cookie trong mục “Công cụ”> “Thẻ tùy chọn Internet” ở đầu trình duyệt web; khách hàng có thể chọn bật tất cả cookie, nhận thông báo khi cookie được cài đặt hoặc cũng có thể từ chối cookie. Tuy nhiên, nếu tất cả cookie bị từ chối, khách hàng có thể gặp khó khăn trong việc sử dụng dịch vụ hoặc trong việc cung cấp dịch vụ.<br>(2) Dữ liệu thống kê là gì?<br>Dữ liệu thống kê là thông tin được lưu trữ trong một khu vực cụ thể trong máy tính hoặc thiết bị đầu cuối khi sử dụng các dịch vụ trên trang web hoặc trên điện thoại di động và được chuyển định kỳ đến máy chủ của Công ty. Thông tin như sau:<br>① Thống kê sử dụng dịch vụ (Môi trường mạng trong trường hợp kết nối cuộc gọi, cắt cuộc gọi, lỗi cuộc gọi, lỗi thực thi tải xuống, lỗi kết nối và thời gian kết nối trong trường hợp Internet có dây / không dây, v.v.)<br>② Thông tin mẫu sử dụng (đường dẫn điều hướng danh mục của khách hàng, các dịch vụ chủ yếu được sử dụng, tần suất sử dụng dịch vụ, hồ sơ lượt truy cập, v.v.)<br>(3) Vận hành dữ liệu thống kê và Cookie của Công ty:<br>Công ty vận hành dữ liệu thống kê và Cookie vì sự tiện lợi cho khách hàng. Mục đích sử dụng dữ liệu thống kê, Cookie của công ty như sau:<br>① heo dõi thông tin về nội dung mà khách hàng quan tâm để cung cấp Dịch vụ phù hợp với cá nhân khi truy cập vào lần sau.<br>② Phân tích tần suất và thời lượng của người dùng đã đăng ký và người dùng chưa đăng ký để xác định lĩnh vực quan tâm và xu hướng của khách hàng, phân tích thói quen của người dùng đã đăng ký để sử dụng chúng làm cơ sở trong khi tiếp thị mục tiêu trong trường hợp tổ chức lại dịch vụ.<br>③ Thông báo thời hạn sử dụng khi sử dụng Dịch vụ tính phí.<br>④ Cung cấp thông tin tiện lợi khi sử dụng Hỏi đáp và Tư vấn.<br>Điều 4 (Sử dụng Thông tin cá nhân và cung cấp cho bên thứ 3) <br>(1) Công ty sẽ sử dụng và chia sẻ thông tin cá nhân của khách hàng trong phạm vi \"Thông báo thu thập và sử dụng thông tin cá nhân\" trong mẫu đơn đăng ký thành viên, Điều khoản sử dụng và Chính sách bảo mật và sẽ không sử dụng hoặc cung cấp thông tin ngoài phạm vi đó . Cụ thể, Công ty sẽ sử dụng và cung cấp thông tin cá nhân với các lưu ý sau:<br>① Quan hệ hợp tác<br>Công ty có thể cung cấp hoặc chia sẻ thông tin cá nhân của khách hàng với các đơn vị hợp tác để cung cấp dịch vụ tốt hơn. Trong trường hợp này, Công ty sẽ thông báo riêng cho khách hàng liên quan về danh tính các đơn vị hợp tác, về bản chất của việc thông tin cá nhân sẽ được chia sẻ hoặc cung cấp, lý do tại sao thông tin cá nhân phải được chia sẻ hoặc cung cấp, phương pháp quản lý và thời gian lưu trữ. Khách hàng sẽ được thông báo qua phương tiện điện tử, điện thoại, văn bản, fax hoặc thư, và nếu khách hàng không đồng ý thì công ty sẽ không cung cấp hay chia sẻ cho đơn vị hợp tác.<br>(2) Công ty có thể sử dụng, thu thập Thông tin cá nhân mà không có sự đồng ý của khách hàng trong trường hợp đây là những Thông tin cá nhân cần thiết để thực hiện Hợp đồng cung cấp dịch vụ mà Công ty khó có được sự chấp thuận thông thường vì lý do kỹ thuật hoặc kinh tế.<br>(3) Căn cứ vào các quy định của pháp luật và quy định có liên quan, Công ty có thể chia sẻ thông tin cá nhân mà không có sự đồng ý của người sử dụng trong các trường hợp sau đây:<br>① Khi cần thiết cho việc thanh toán phí cung cấp dịch vụ.<br>② Trường hợp cần thông tin cho điều tra thị trường, nghiên cứu hay thống kê, mà không thể tìm hiểu từng cá nhân đặc biệt.<br>③ Khi có các quy định đặc biệt trong luật như trong Luật về các giao dịch tài chính và bảo mật tài chính, Luật bảo vệ và sử dụng thông tin tín dụng, Luật khung về Viễn thông, Luật kinh doanh viễn thông, Luật thuế địa phương, Luật bảo vệ người tiêu dùng, Luật ngân hàng Hàn Quốc và Đạo luật tố tụng hình sự.<br>④ Khi có yêu cầu từ cơ quan điều tra, phù hợp với các thủ tục và phương pháp được quy định trong các hành vi có liên quan cho mục đích điều tra.<br>⑤ Khách hàng đã đồng ý trước.<br>Điều 5 ( Ủy thác xử lý Thông tin cá nhân) <br>(1) Để tạo thuận lợi cho công việc, như cung cấp sự thuận tiện cho khách hàng và dịch vụ tốt hơn, Công ty có thể ủy thác thu thập, lưu trữ, xử lý, sử dụng, cung cấp, quản lý và tiêu hủy (gọi là \"xử lý\") thông tin cá nhân của khách hàng cho một công ty chuyên môn bên ngoài.<br>(2) Khi Công ty giao việc xử lý thông tin cá nhân của khách hàng cho một công ty chuyên môn bên ngoài, các chi tiết của doanh nghiệp ủy thác và người được ủy thác được thể hiện trong bảng sau:<br><Tình trạng cung cấp và ủy thác thông tin cá nhân cho bên thứ ba><br>Công ty TNHH Thông tin & truyền thông NICE <br>Dịch vụ ủy thác thẻ tín dụng<br>Thời hạn lưu giữ và sử dụng, Thời hạn rút tư cách thành viên hoặc chấm dứt hợp đồng uỷ thác<br>(3) Công ty cam kết không ủy thác việc xử lý Thông tin cá nhân với mục đích ngoài mục đích cung cấp Dịch vụ khi không có sự đồng ý của khách hàng. Tuy nhiên, khi phát sinh trường hợp cần thiết, khách hàng sẽ được thông báo chi tiết về các dịch vụ ủy thác và người được ủy thác, và sẽ được hỏi xem họ có đồng ý hay không.<br>Điều 6 (Thời hạn bảo lưu, sử dụng Thông tin cá nhân)<br>Thông tin cá nhân của khách hàng sẽ được tự động hủy bỏ ngay lập tức sau khi mục đích sử dụng và thu thập Thông tin cá nhân đã được đồng ý trước đó đã hoàn tất. Tuy nhiên công ty vẫn có thể bảo lưu thông tin khi cần thiết theo luật pháp hoặc chính sách nội bộ.<br>(1) Thông tin thành viên có thể được giữ lại trong một năm sau khi thành viên rút lui để giảm thiểu thiệt hại do việc rút lui và tái gia nhập lại, và để xử lý khiếu nại sau khi thành viên rời khỏi. <br>(2) Thông tin có thể được lưu giữ lại cho đến hết thời hạn mà đã được thông báo trước và có sự đồng ý của thành viên.<br>(3) Thông tin cá nhân được Công ty lưu giữ phù hợp với luật pháp và quy định và các luật hiện hành như sau:<br>Các hạng mục bảo lưu: Hồ sơ về hợp đồng hoặc rút hợp đồng, v.v. <br>Căn cứ luật: Luật bảo vệ người tiêu dùng trong thương mại điện tử, v.v.<br>Thời gian bảo lưu: 5 năm <br>Các hồ sơ bảo lưu: hồ sơ cung cấp thanh toán và cung ứng hàng hóa <br>Căn cứ luật: Luật bảo vệ người tiêu dùng trong thương mại điện tử<br>Thời gian bảo lưu: 5 năm<br>Hạng mục bảo lưu: Hồ sơ khiếu nại hoặc tranh chấp của người tiêu dùng<br>Căn cứ luật: Căn cứ luật: Luật bảo vệ người tiêu dùng trong thương mại điện tử <br>Thời gian bảo lưu: 3 năm<br>Hạng mục bảo lưu: lịch sử về hiển thị/ quảng cáo<br>Căn cứ luật: Luật bảo vệ người tiêu dùng trong thương mại điện tử<br>Thời gian bảo lưu: 6 tháng<br>Hạng mục bảo lưu: Giấy tờ chứng minh và sổ ghi chép về mọi giao dịch được quy định trong Luật về thuế<br>Căn cứ luật: Luật thuế quốc gia<br>Thời gian bảo lưu: 5 năm<br>Hạng mục bảo lưu: Hồ sơ về giao dịch tài chính điện tử <br>Căn cứ luật: Luật giao dịch tài chính điện tử <br>Thời gian bảo lưu: 5 năm<br> Hạng mục bảo lưu: lịch sử đến tận nơi cung cấp Dịch vụ <br>Căn cứ luật: Luật bảo vệ bí mật viễn thông <br>Thời gian bảo lưu: 3 tháng<br>(4) Nhằm bảo vệ Thông tin cá nhân của khách hàng, Công ty phân loại và quản lý tài khoản đăng ký của thành viên thành Tài khoản đang sử dụng và Tài khoản tạm nghỉ sử dụng. Với trường hợp trong 1 năm không có lịch sử sử dụng hay đăng nhập vào Dịch vụ OWL, để bảo vệ Thông tin cá nhân của khách hàng, tài khoản sẽ được phân loại thành Tài khoản tạm nghỉ, công ty sẽ không sử dụng hoặc cung cấp Thông tin của khách hàng cho đơn vị hợp tác (bên thứ ba được ủy thác ).<br>Điều 7 (Cách thức và thủ tục hủy bỏ Thông tin cá nhân)<br>(1) Thông tin cá nhân khách hàng sau khi đạt được mục đích sử dụng và thu thập mà đã nhận được đồng ý từ quý khách sẽ được di chuyển đến cơ sở dữ liệu riêng (nếu là giấy sẽ lưu trữ riêng dưới dạng hồ sơ), bảo quản trong thời hạn nhất định được quy định trong luật pháp liên quan, sau đó sẽ hủy bỏ. <br>(2) Thông tin cá nhân được xuất ra dưới dạng giấy sẽ được hủy bằng máy hủy hoặc bằng cách thiêu hủy. Thông tin cá nhân được lưu dưới dạng tài liệu điện tử sẽ được xóa bằng cách sử dụng phương pháp kỹ thuật không thể phục hồi được.<br>Điều 8 (Quyền và nghĩa vụ của khách hàng) <br>(1) Khách hàng (có thể là người giám hộ hợp pháp nếu dưới 14 tuổi) có thể xem hoặc thay đổi thông tin cá nhân của mình bất kỳ lúc nào trong Dịch vụ OWL, có thể yêu cầu rút lại sự đồng ý của họ liên quan đến việc thu thập và sử dụng thông tin cá nhân của Công ty theo Điều khoản sử dụng, và có thể yêu cầu Công ty hủy bỏ tư cách.<br>(2) Đối với khách hàng muốn xem và sửa thông tin đăng ký trực tuyến, vui lòng nhấp vào “Thông tin người dùng” trên trang web để xem và chỉnh sửa trực tiếp hoặc liên hệ với trung tâm khách hàng bằng điện thoại, email hoặc thư thông thường. <br>(3) Trường hợp Công ty có thể yêu cầu người đại diện đến tận nơi, để chứng minh hoặc xác minh xem có đúng là người đại diện được ủy thác hợp pháp hay không và người đại diện<br>(4) Nếu khách hàng yêu cầu chỉnh sửa lỗi thông tin cá nhân, công ty không cung cấp hoặc sử dụng thông tin cá nhân tương ứng trước khi hoàn thành quá trình sửa đổi. Ngoài ra, nếu công ty đã cung cấp thông tin cá nhân cho bên thứ 3, kết quả xử lý sửa đổi đó sẽ được thông báo cho bên thứ 3 mà không bị chậm trễ.(5) Nếu khách hàng có sự thay đổi và nhập thông tin cá nhân vào trạng thái tối tân nhất, họ sẽ thông báo cho công ty về những thông tin không chính xác hoặc phải nhập thông tin không chính xác, do chính công ty thông báo<br>(6) Trường hợp khách hàng nhập thông tin sai lệch, xâm phạm, thông tin sai lệch có thể bị mất mát và tư cách thành viên có liên quan đến luật pháp, và có thể bị xử phạt.<br>Điều 9 (đối sách quản lý kỹ thuật để bảo vệ thông tin cá nhân)<br>Công ty đang nghiên cứu các đối sách kỹ thuật / quản lý như sau để thông tin cá nhân của khách hàng không bị mất, bị đánh cắp, sửa chữa hoặc hư hỏng.<br>(1) biện pháp kỹ thuật<br>① Họ đang thực hiện các biện pháp đề phòng sự giả mạo của hồ sơ kết nối.<br>② Thông tin cá nhân áp dụng và quản lý kỹ thuật mã hóa khi gửi hoặc lưu trữ mật khẩu tiêu chuẩn do pháp lệnh liên quan yêu cầu theo chủng loại đó.<br>③ Sử dụng chương trình vắc xin để ngăn chặn những tổn thất đó do vi rút máy tính, có biện pháp cập nhật chương trình vắc xin định kỳ và có thể ngăn chặn việc vi phạm thông tin cá nhân ngay khi xuất hiện virus đột ngột.<br>④ Chúng tôi lựa chọn thiết bị bảo mật (SSL) sử dụng chủ nghĩa mật mã để truyền tải thông tin cá nhân một cách an toàn.<br>⑤ Nó đang sử dụng hệ thống chặn xâm nhập và hệ thống phân tích điểm yếu cho mỗi máy chủ để chuẩn bị cho sự xâm nhập bên ngoài của hacking thì có vẻ tốt hơn.<br>(2) biện pháp quan lại<br>① Công ty đang lên kế hoạch quản lý nội bộ liên quan đến bảo vệ thông tin cá nhân<br>② Công ty giới hạn quyền truy cập thông tin cá nhân thành viên nhỏ nhất cần thiết.<br>③ Công ty luôn nhấn mạnh tuân thủ phương pháp xử lý thông tin cá nhân của công ty thông qua đào tạo nên mật khẩu riêng, và nhân viên tiếp nhận thông tin cá nhân với người phụ trách.<br>④ Công ty không chịu trách nhiệm về những việc xảy ra vì sự nguy hiểm của internet cơ bản hoặc lỗi của khách hàng. Khách hàng phải tự mình quản lý và tự nhận trách nhiệm về email và mật khẩu của mình để bảo vệ thông tin cá nhân của họ.<br>Điều 10 (Nhân viên bảo vệ thông tin cá nhân) và liên lạc của người phụ trách.<br>Công ty chỉ định người chịu trách nhiệm quản lý thông tin cá nhân và bộ phận có liên quan như sau để bảo vệ thông tin cá nhân của khách hàng và xử lý các bất mãn liên quan như sau. Công ty sẽ cố gắng hết sức để lắng nghe tiếng nói của khách hàng và nhanh chóng đưa ra câu trả lời đầy đủ.<br><người chịu trách nhiệm bảo vệ thông tin cá nhân><br>Quản lý: Leader Lee Jungseon | Nhà quản lý: viện nghiên cứu chủ nhiệm Kim Yu Jin<br>Đội ngũ phụ trách: đội phát triển giải pháp cho Trung tâm giải pháp<br>jslee1@wisestone.kr<br>Nếu bạn cần thông báo hoặc tư vấn về việc xâm hại thông tin cá nhân khác, vui lòng liên hệ với các cơ quan sau.<br>① Trung tâm khai báo thông tin cá nhân: Điện thoại 118 / Email privacy@kisa.or.kr / http://privacy.kisa.or.kr<br>② ủy ban công nhận nhãn hiệu bảo vệ thông tin: Điện thoại 02-580-0533~4 / http://www.eprivacy.or.kr<br>③ ủy viên công tố viên mạng: Điện thoại 02-3480-3571 / Email cybercid@spo.go.kr / http://www.spo.go.kr<br>④ Trung tâm đối phó từ xa của sở cảnh sát: Điện thoại 1566-0112 / http://cyber.go.kr<br>Điều 11 (nghĩa vụ xưa)<br>Công ty có thể sửa đổi phương pháp xử lý thông tin cá nhân như mục đích phản ánh những thay đổi của dịch vụ hoặc pháp luật Trường hợp phương châm xử lý thông tin cá nhân được thay đổi, công ty đăng những thay đổi, và phương pháp xử lý thông tin cá nhân đã thay đổi sẽ có hiệu lực kể từ sau ngày được công bố. Tuy nhiên, trong trường hợp có sự thay đổi quan trọng về quyền lợi của các bạn thì chúng tôi sẽ cho các bạn biết trước nội dung thay đổi 30 ngày.<br>– Ngày thi: Ngày 9 tháng 11 năm 2018,<br><br>", |
| | | "login" : "Đăng nhập", |
| | | "logout" : "Đăng xuất", |
| | | "logInSocialAccount" : "Đăng nhập vào tài khoản xã hội", |
| | | "rememberMe" : "Đang log in vào trạng thái", |
| | | "findPassword" : "Tìm Mật khẩu", |
| | | "loginFailed" : "Đăng nhập thất bại.", |
| | | "createAccountNow" : "Bây giờ hãy tạo tài khoản đi.", |
| | | "forgetYourPassword" : "Anh quên mật khẩu chưa?", |
| | | "incorrectEmailFormat" : "Hình thức email không phù hợp.", |
| | | "sendingYouTemporaryPassword" : "Chúng tôi sẽ gửi <strong class=\"text-primary\">mật khẩu tạm thời</strong>đến địa chỉ email bạn đã đăng ký.", |
| | | "pleaseEnterPassword4Characters" : "Hãy nhập mật khẩu trên 4 ký tự.", |
| | | "failedInviteMail" : "Thất bại khi gửi mail đến", |
| | | "successInviteMail" : "Thành công gửi thư mời", |
| | | "welcomeKakTalkMembership" : "hướng dẫn tham gia hội viên Kakaotalk", |
| | | "signUpMembershipKakTalk" : "Bạn phải chọn một cung cấp thông tin email để đăng ký thành viên qua Kakaotalk. Trong trường hợp không đồng ý với điều này, vui lòng tham gia vào một xã hội khác.", |
| | | "failedToCreateUser" : "Tạo ra người dùng thất bại", |
| | | "failedToModifyUser" : "Sửa đổi người sử dụng thất bại", |
| | | "failedToRetrieveIssueHistory" : "Thất bại khi biết thông tin liên quan đến vấn đề", |
| | | "proceedWithMembershipWithdrawal" : "tiến hành rút khỏi hội viên? Khi rút khỏi hội viên, tất cả dữ liệu trong không gian làm việc sẽ biến mất và không thể phục hồi được.", |
| | | "successWithdrawalFromMembership" : "Thành công thoát khỏi hội viên", |
| | | "failedMemberWithdrawal" : "thất bại trong việc rút khỏi hội viên", |
| | | "completedWithdrawalFromOwlITS" : "Hoàn thành việc rút lui khỏi OWL ITS", |
| | | "failedToSelectUserDetail" : "Thất bại trong việc xem thông tin chi tiết của người dùng", |
| | | "notExistUserSession" : "Bộ sưu tập người dùng không tồn tại.", |
| | | "completedPasswordChange" : "Hoàn thành thay đổi mật khẩu", |
| | | "failedPasswordChange" : "Đổi mật khẩu thất bại", |
| | | "temporaryPasswordIssue" : "cấp số bí mật tạm thời", |
| | | "failedRequestFindPassword" : "Yêu cầu tìm lại mật khẩu thất bại", |
| | | "duplicateEmail" : "trùng lặp email", |
| | | "duplicateEmailEntered" : "Email trùng lặp đã được nhập.", |
| | | "confirmEmailInput" : "xác nhận nhập email", |
| | | "emailEnteredIncorrectly" : "Email được nhập sai.", |
| | | "noEmailEntered" : "Email chưa được nhập." |
| | | }, |
| | | "notice" : { |
| | | "notice" : "Thông báo", |
| | | "registerNotice" : "Đăng ký thông báo", |
| | | "modifyNotice" : "Chỉnh sửa thông báo", |
| | | "enterSpecialCharacters" : "Bạn không thể nhập các ký tự đặc biệt trong tiêu đề.", |
| | | "failedNoticeRegistration" : "Đăng ký thông báo thất bại", |
| | | "failedToLookupNotificationList" : "Mình không thể đọc được danh sách thông báo", |
| | | "failedToModifyNotice" : "thất bại trong việc thay đổi", |
| | | "failedToLookupNotificationDetails" : "Thất bại trong việc xem thông tin chi tiết" |
| | | }, |
| | | "manageUser" : { |
| | | "manageUser" : "User Permission Management", |
| | | "manageIssueSystemPerm" : "Issue System", |
| | | "manageUserPerm" : "User", |
| | | "manageNoticePerm" : "Notice", |
| | | "manageFAQPerm" : "FAQ", |
| | | "manageQnAPerm" : "QnA", |
| | | "manageEventPerm" : "Event", |
| | | "manageGuidePerm" : "Guide" |
| | | }, |
| | | "FAQ" : { |
| | | "FAQ" : "FAQ", |
| | | "manageFAQ" : "FAQ Management", |
| | | "registerFAQ" : "FAQ Registration", |
| | | "modifyFAQ" : "Modify FAQ", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedFAQRegistration" : "Failed to register FAQ.", |
| | | "failedToLookupFAQList" : "Failed to look up FAQ list", |
| | | "failedToModifyFAQ" : "Failed to modify FAQ", |
| | | "failedToLookupFAQDetails" : "Failed to look up FAQ details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "QNA" : { |
| | | "QNA" : "QnA", |
| | | "manageQNA" : "QnA Management", |
| | | "registerQNA" : "Question Registration", |
| | | "modifyQNA" : "Modify QnA", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedQNARegistration" : "Failed to register QnA.", |
| | | "failedToLookupQNAList" : "Failed to look up QnA list", |
| | | "failedToModifyQNA" : "Failed to modify QnA", |
| | | "failedToLookupQNADetails" : "Failed to look up QnA details" |
| | | }, |
| | | "event" : { |
| | | "event" : "Event", |
| | | "manageEvent" : "Event Management", |
| | | "registerEvent" : "Event Registration", |
| | | "modifyEvent" : "Modify Event", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedEventRegistration" : "Failed to register Event.", |
| | | "failedToLookupEventList" : "Failed to look up Event list", |
| | | "failedToModifyEvent" : "Failed to modify Event", |
| | | "failedToLookupEventDetails" : "Failed to look up Event details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "guide" : { |
| | | "guide" : "Guide", |
| | | "manageGuide" : "Guide Management", |
| | | "registerGuide" : "Guide Registration", |
| | | "modifyGuide" : "Modify Guide", |
| | | "enterSpecialCharacters" : "You can not enter special characters in the title.", |
| | | "failedGuideRegistration" : "Failed to register Guide.", |
| | | "failedToLookupGuideList" : "Failed to look up Guide list", |
| | | "failedToModifyGuide" : "Failed to modify Guide", |
| | | "failedToLookupGuideDetails" : "Failed to look up Guide details", |
| | | "failedToActivation" : "Failed to Activation", |
| | | "activation" : "Activation" |
| | | }, |
| | | "inquiry" : { |
| | | "toInquiry" : "Liên lạc với chúng tôi", |
| | | "inquiryToOWL" : "Hỏi OWL ITS", |
| | | "asap" : "Tôi sẽ trả lời cho bạn càng sớm càng tốt.", |
| | | "inquiryGreeting" : "Tôi có thể giúp gì cho anh?", |
| | | "contactCompleted" : "Đã tiếp nhận câu hỏi", |
| | | "failedToReceiveEnquiry" : "Thất bại khi tiếp nhận câu hỏi" |
| | | }, |
| | | "common" : { |
| | | "urgent" : "tình trạng cấp bách", |
| | | "high" : "âm cao", |
| | | "medium" : "thông thường", |
| | | "low" : "âm thấp", |
| | | "critical" : "tính trầm trọng", |
| | | "major" : "âm cao", |
| | | "minor" : "thông thường", |
| | | "trivial" : "âm thấp", |
| | | "save" : "Lưu", |
| | | "saved" : "Lưu", |
| | | "close" : "cửa kín", |
| | | "search" : "Tìm kiếm", |
| | | "reset" : "Khởi động lại", |
| | | "uploadExcel" : "upload lên tự sướng", |
| | | "create" : "Tạo", |
| | | "cancel" : "Hủy", |
| | | "submit" : "chuyển giao", |
| | | "modify" : "Chỉnh sửa", |
| | | "dashboard" : "Bảng điều khiển", |
| | | "workspace" : "Không gian làm việc", |
| | | "project" : "Dự án", |
| | | "issue" : "Vấn đề", |
| | | "setting" : "Cài đặt", |
| | | "user" : "Người sử dụng", |
| | | "workflow" : "Quy trình làm việc", |
| | | "updateIssueStatus" : "thay đổi điều kiện vấn đề", |
| | | "changeReason" : "lý do thay đổi", |
| | | "failedToIssueStatusListLookup" : "Lượt truy cập vấn đề, thất bại", |
| | | "customField" : "Trường định nghĩa người dùng", |
| | | "select" : "Chọn", |
| | | "checkAll" : "Chọn tất cả", |
| | | "unCheckAll" : "Xóa tất cả", |
| | | "send": "Gửi", |
| | | "selected" : "Đã chọn", |
| | | "selectable" : "có thể lựa chọn", |
| | | "password" : "Mật khẩu", |
| | | "information" : "Thông tin", |
| | | "noData" : "Không có dữ liệu", |
| | | "name" : "Tên", |
| | | "status" : "Trạng thái", |
| | | "email" : "Email", |
| | | "few" : " Số", |
| | | "userNum" : " số", |
| | | "selectedSearchCriteria" : "điều kiện tìm kiếm đã chọn", |
| | | "detailedSearch" : "kiểm tra chi tiết", |
| | | "type" : "Loại", |
| | | "priority" : "Thứ tự ưu tiên", |
| | | "importance" : "Mức độ quan trọng", |
| | | "assignee" : "Người phụ trách", |
| | | "register" : "Người đăng ký", |
| | | "startDate" : "Ngày bắt đầu", |
| | | "endDate" : "Ngày kết thúc", |
| | | "english" : "tiếng Anh", |
| | | "korean" : "tiếng Hàn", |
| | | "japaneseLanguage" : "Tiếng Nhật", |
| | | "vietnamese" : "Việt Nam", |
| | | "add" : "sự bổ sung", |
| | | "addFunction" : "Tính năng thêm vào", |
| | | "downloadExcel" : "Tải xuống excel", |
| | | "importExcel" : "Excel Import", |
| | | "registerExcelUploadIssue" : "Đăng ký một số vấn đề", |
| | | "delete" : "Xóa", |
| | | "checkPurgingTargets" : "Kiểm tra đối tượng bị xóa", |
| | | "selectDestinationDeletion" : "Hãy chọn đối tượng bị xóa.", |
| | | "deleteFailed" : "Thất bại", |
| | | "deleteSucceeded" : "Xóa thành công", |
| | | "content" : "Nội dung", |
| | | "selectTarget" : "Chọn đối tượng", |
| | | "period" : "Thời hạn", |
| | | "attachFiles" : "Đính kèm tập tin", |
| | | "selectFile" : "lựa chọn tập tin", |
| | | "changeDate" : "ngày thay đổi", |
| | | "lastChangeDate" : "việc thay đổi gần đây", |
| | | "registrationDate" : "Ngày đăng ký", |
| | | "fullView" : "sự nhìn chung", |
| | | "comments" : "Bình luận", |
| | | "record" : "hồ sơ", |
| | | "noAssignee" : "Không có người phụ trách.", |
| | | "noContent" : "Không có nội dung.", |
| | | "noRecord" : "Không có ghi chép.", |
| | | "noComments" : "Không có bình luận.", |
| | | "noAttachedFile" : "Không có tập tin được đính kèm.", |
| | | "noValueEntered" : "Không có giá trị nhập.", |
| | | "noValueSelected" : "Không có giá trị lựa chọn.", |
| | | "writeWaring2" : "<li>Các cột tiêu đề có thể nhập tối đa 300 chữ.</li><li>Các cột nội dung có thể nhập tối đa 5000 chữ.</li><li>Các cột dự án cần nhập phím dự án.<dl><dt>Có thể kiểm tra phím dự án ở danh mục dự án.</dt></dl></li><li>Các cột loại cần nhập tên các cột có vấn đề.<dl><dt>Có thể kiểm tra loại hình ở danh mục loại hình.</dt></dl></li><li>Cột đăng ký thứ tự ưu tiên chỉ được nhập một trong số các âm thấp, thông thường, cao.</li><li>Các cột sóng quan trọng phải nhập một trong các âm tiết, thông thường và nặng.</li><li>Người phụ trách có thể chỉ định qua email.<dl><dt>Nếu muốn chỉ định một số người phụ trách, có thể phân loại thành #có thể đăng ký.</dt><dt>ex) wisestoneowl@gmail.com#support@wisestone.kr </dt><dt>Người phụ trách phải tham gia dự án của vấn đề mà người liên quan định đăng ký.</dt></dl></li><li>Ngày bắt đầu phải nhập theo hình thức sau<dl><dt>kết quả nhập ngày 2018-11-22 10:30:00 AM O </dt></dl></li><li>Từ Judeuryester là điểm cần thiết để định nghĩa người dùng. Bạn cần nhập giá trị cần thiết.<dl><dt>Trường hợp danh nghĩa người dùng tương ứng là chữ nhập chuỗi ký tự thì có thể nhập tối đa đến 100 chữ.</dt><dt>Nếu cần nhiều giá trị do chính nghĩa người dùng lựa chọn #có thể nhập một số giá trị.</dt><dt>ex) Trong trường hợp giá trị lựa chọn là mèo, cún con, thỏ, để quyết định giá trị con thì phải nhập <span class=\"fc-blue\">Mèo #Con thỏ</span>như vậy. </dt></dl></li>", |
| | | "color" : "màu sắc", |
| | | "activityLogs" : "nội dung hoạt động", |
| | | "updatableStatus" : "Tình trạng có thể thay đổi", |
| | | "testCase" : "trường hợp kiểm tra", |
| | | "updateStatus" : "Thay đổi trạng thái", |
| | | "tcmProject" : "Dự án quản lý case điện thoại", |
| | | "btsProject" : "Dự án quản lý vấn đề", |
| | | "projectName" : "Tên dự án", |
| | | "setParticipatingInProject" : "Hãy thiết lập người dùng tham gia dự án.", |
| | | "noUpdatedStatus" : "Không có trạng thái có thể thay đổi.", |
| | | "wait" : "bát tô", |
| | | "progress" : "Tiến hành", |
| | | "end" : "Kết thúc", |
| | | "choose" : "Vui lòng chọn.", |
| | | "stringField" : "nút bần", |
| | | "multipleSelectionField" : "cần nhiều lựa chọn", |
| | | "singleSelectionField" : "Chữ viết tắt của một người", |
| | | "detailInformation" : "thông tin chi tiết", |
| | | "beginEnglishTheProject" : "Phải bắt đầu bằng tiếng Anh chiều cao dự án.", |
| | | "least3Characters" : "Bạn nên nhập ít nhất 3 ký tự.", |
| | | "upTo10Characters" : "Có thể nhập tối đa 10 ký tự.", |
| | | "upTo20Characters" : "Có thể nhập tối đa 20 ký tự.", |
| | | "upTo15Characters" : "Có thể nhập tối đa 15 ký tự.", |
| | | "upTo50Characters" : "Có thể nhập tối đa 50 ký tự.", |
| | | "upTo100Characters" : "Có thể nhập tối đa 100 ký tự.", |
| | | "profile" : "Hồ sơ", |
| | | "profilePicture" : "hình profile", |
| | | "thisWeek" : "Tuần này", |
| | | "lastWeek" : "Tuần trước", |
| | | "last7Days" : "ngày 7 tháng gần đây", |
| | | "thisMonth" : "tháng này", |
| | | "lastMonth" : "tháng trước(ngày 1~ ngày muộn)", |
| | | "last30Days" : "Ngày ba mươi mốt", |
| | | "directInput" : "sức vào trực tiếp", |
| | | "pleaseEnterComments" : "Hãy nhập bình luận...", |
| | | "overallIssueHandlingStatus" : "Tình hình xử lý vấn đề toàn thể", |
| | | "emailCannotBeChanged" : "Không thể thay đổi email.", |
| | | "companyInformation" : "Công ty WiseStone<br/>Mã số đăng ký kinh doanh : 220-87-50221 <span>|</span> Giám đốc điều hành: Lee Young Seok <br/>trụ sở chính : Tầng 6, 291, Gangnamdaero, Seochogu, Seoul", |
| | | "companyInformation2" : "Công ty WiseStone <span>|</span> Mã số đăng ký kinh doanh: 220-87-50221 <span>|</span> Giám đốc điều hành Lee Young Seok<br/>trụ sở chính : Tầng 6, 291, Gangnamdaero, Seochogu, Seoul <!--<span>|</span> Điện thoại đại diện 02-6257-5958 --><span>|</span> E-mail: <a href=\"mailto:supportowl@wisestone.kr\">supportowl@wisestone.kr </a><br/><small>CopyRight WISESTONE All rights reserved.</small>", |
| | | "noImage" : "Không có hình ảnh được đính kèm.", |
| | | "failedLanguageChange" : "Thất bại trong việc thay đổi ngôn ngữ", |
| | | "notSelectedLanguage" : "Không được lựa chọn ngôn ngữ.", |
| | | "exceedsMaximumUsersWorkspace" : "vượt quá không gian làm việc", |
| | | "deleteParticipatingWorkspaceReminder" : "thông báo xóa không gian công việc tham gia", |
| | | "failedToUpdateParticipatingSessions" : "Thất bại khi cập nhật phần mềm tham gia", |
| | | "disableParticipationWorkspace" : "thông báo ngừng hoạt động", |
| | | "disableParticipationWorkspaceMessage" : "Đã bị loại khỏi không gian công việc đang được sử dụng hiện nay.", |
| | | "alertsAboutSystem" : "Thông tin hệ thống", |
| | | "newAlert" : "Thông báo mới đến rồi.", |
| | | "pleaseWait" : "Chờ chút nhé...", |
| | | "createIssue" : "tạo nên một vấn đề", |
| | | "updateIssue" : "thay đổi vấn đề", |
| | | "deleteIssue" : "xóa bỏ vấn đề", |
| | | "updateTitle" : "Tựa đề đã được thay đổi.", |
| | | "updateContent" : "Nội dung đã được thay đổi.", |
| | | "updateProject" : "Dự án đã được thay đổi.", |
| | | "updateSeverity" : "Tầm quan trọng đã được thay đổi.", |
| | | "updatePriority" : "Thứ tự ưu tiên đã được thay đổi.", |
| | | "updateHasStatus" : "Trạng thái đã được thay đổi.", |
| | | "updateHasStatusReservation" : "Con chó bị ngất vì tức giận", |
| | | "updateWorkflowNotExist" : "Tình trạng không tồn tại trong workbook đã được thay đổi, vấn đề đã được thay đổi.", |
| | | "updateIssueType" : "Vấn đề đã được thay đổi.", |
| | | "updatePeriod" : "Thời gian đã được thay đổi.", |
| | | "unspecified" : "không chính xác", |
| | | "updateAssignee" : "Người phụ trách đã được thay đổi.", |
| | | "none" : "Không có", |
| | | "updateAttachment" : "Tập tin đính kèm đã được thay đổi.", |
| | | "deleteAttachment" : "Tập tin đính kèm đã bị xóa.", |
| | | "registerAttachment" : "Tập tin đính kèm đã được đăng ký.", |
| | | "updateCustomField" : "Việc định nghĩa người dùng đã được thay đổi.", |
| | | "updateIssueCustomField" : "Giá trị lựa chọn con số theo định nghĩa người dùng đã được thay đổi và giá trị cần thiết của định nghĩa người dùng của vấn đề đã được thay đổi.", |
| | | "updateIssueCustomFieldType" : "Giá trị cần thiết của định nghĩa người dùng đã thay đổi do loại hình định nghĩa người dùng thay đổi.", |
| | | "continue" : "tiếp tục", |
| | | "failedToUserListLookUp" : "Lượt truy cập người dùng thất bại", |
| | | "failedToProjectListLookUp" : "Danh sách dự án thất bại", |
| | | "failedToWorkflowListLookUp" : "Lượt tìm việc trong danh sách workflow thất bại", |
| | | "title" : "Tựa đề", |
| | | "number" : "con số", |
| | | "m" : "M", |
| | | "d" : "D", |
| | | "emptyUser" : "Không có người phụ trách để có thể lựa chọn.", |
| | | "emptyProject" : "Không có dự án nào có thể chọn lựa cả." |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="ko"> |
| | | <head> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> |
| | | <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> |
| | | <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"> |
| | | <meta http-equiv="Pragma" content="no-cache"> |
| | | <!-- 캐시 만료 날짜 --> |
| | | <meta http-equiv="Expires" content="0"> |
| | | |
| | | <!-- 원본 값 : private --> |
| | | <meta name="viewport" |
| | | content="width=device-width, initial-scale=1, maximum-scale=1"> |
| | | <!-- 봇이 읽는 설명 --> |
| | | <meta name="description" content="이슈 관리 시스템 - 웹 기반의 이슈 관리 시스템 v4.0.34"> |
| | | <meta property="og:type" content="website"> |
| | | <meta property="og:title" content="OWL ITS - 와이즈스톤"> |
| | | <meta property="og:description" content="이슈 관리 시스템 - 웹 기반의 이슈 관리 시스템 v4.0.34"> |
| | | <meta property="og:image" content="https://owlsolution.io/assets/images/main.png"> |
| | | <meta property="og:url" content="https://owlsolution.io"> |
| | | <meta name="google-site-verification" content="yhmSp9Zsw5oecXjp43Ndu0w9rBA3FNpnNZ8bQFA_iDA"/> |
| | | <meta name="viewport" content="user-scalable=no,initial-scale=1,maximum-scale=1"> |
| | | |
| | | <title>OWL ITS v4.0.34</title> |
| | | |
| | | <link type="text/css" rel="stylesheet" href="bower_components/font-awesome/css/font-awesome.css"> |
| | | <link type="text/css" rel="stylesheet" href="bower_components/jquery-ui/themes/base/jquery-ui.css"> |
| | | <link type="text/css" rel="stylesheet" href="bower_components/nvd3/build/nv.d3.min.css"> |
| | | <link type="text/css" rel="stylesheet" href="bower_components/d3-context-menu/css/d3-context-menu.css"> |
| | | <link type="text/css" rel="stylesheet" href="bower_components/datetimepicker/build/jquery.datetimepicker.min.css"> |
| | | <link type="text/css" rel="stylesheet" href="bower_components/bootstrap-daterangepicker/daterangepicker.css"> |
| | | <link type="text/css" rel="stylesheet" href="bower_components/nvd3/build/nv.d3.min.css"> |
| | | <link type="text/css" rel="stylesheet" href="bower_components/ng-image-gallery/dist/ng-image-gallery.min.css"> |
| | | <link type="text/css" rel="stylesheet" href="custom_components/sweetalert/sweetalert.css"> |
| | | <link type="text/css" rel="stylesheet" href="custom_components/file-upload-progress/file-upload-progress.css"> |
| | | <link type="text/css" rel="stylesheet" href="custom_components/summernote/summernote.css"> |
| | | <link type="text/css" rel="stylesheet" |
| | | href="custom_components/bootstrap-colorpalette/css/bootstrap-colorpalette.css"> |
| | | <link type="text/css" rel="stylesheet" href="custom_components/angular-multi-select/angular-multi-select.css"> |
| | | <link type="text/css" rel="stylesheet" href="custom_components/js-autocomplete-single/js-autocomplete-single.css"> |
| | | <link type="text/css" rel="stylesheet" href="custom_components/js-autocomplete-multi/js-autocomplete-multi.css"> |
| | | <link type="text/css" rel="stylesheet" href="custom_components/js-html-diff/js-html-diff.css"> |
| | | <link type="text/css" rel="stylesheet" href="assets/styles/main.css?version=4.0.34"> |
| | | <link type="text/css" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Rubik:300,400,500"> |
| | | <!-- google font --> |
| | | <link rel="shortcut icon" href="assets/images/favicon.png"/> <!-- 이미지 아이콘 --> |
| | | |
| | | <!-- Google Tag Manager --> |
| | | <!-- zenith edit |
| | | <script> |
| | | (function (w, d, s, l, i) { |
| | | w[l] = w[l] || []; |
| | | w[l].push({ |
| | | 'gtm.start' : |
| | | new Date().getTime(), event : 'gtm.js' |
| | | }); |
| | | var f = d.getElementsByTagName(s)[0], |
| | | j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; |
| | | j.async = true; |
| | | j.src = |
| | | 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; |
| | | f.parentNode.insertBefore(j, f); |
| | | })(window, document, 'script', 'dataLayer', 'GTM-PW2T38B'); |
| | | </script> |
| | | --> |
| | | <!-- End Google Tag Manager --> |
| | | |
| | | </head> |
| | | |
| | | <body class="menu-position-side menu-side-left full-screen with-content-panel" ng-controller="commonController"> |
| | | |
| | | <!-- 프로그래스바 --> |
| | | <progress-spinner></progress-spinner> |
| | | <!-- 파일 업로드 진행률 --> |
| | | <file-upload-progress></file-upload-progress> |
| | | <!-- 문의하기 --> |
| | | <js-information></js-information> |
| | | |
| | | <!-- 메인 영역 --> |
| | | <div class="all-wrapper with-side-panel solid-bg-all"> |
| | | <div ui-view></div> |
| | | </div> |
| | | |
| | | <script data-main="scripts/main" |
| | | src="bower_components/requirejs/require.js"></script> |
| | | |
| | | </body> |
| | | </html> |
New file |
| | |
| | | User-agent:Yeti |
| | | Disallow: /WEB-INF |
| | | |
| | | User-agent:* |
| | | Disallow: / |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-14. |
| | | */ |
| | | 'use strict'; |
| | | // angular에서 사용하는 모듈을 로드하고 angular.module 에 등록한다. |
| | | define([ |
| | | 'angular', // angular 모듈을 사용하기 위해 import |
| | | 'uiRouter', // ui-router 를 사용하기 위해 import |
| | | 'ngResource', |
| | | 'angularSanitize', // html 바인딩 보안에 사용하기 위해 import |
| | | 'uiBootstrap', |
| | | 'bindOnce', // 테이블 부하를 줄이기 위해 import. |
| | | 'angularDropMultiSelect', // 멀티 셀렉트 컴포넌트를 사용하기 위해 import |
| | | 'angularCookie', // 다국어를 사요하기 위해 import |
| | | 'angularTranslate', // 다국어를 사용하기 위해 import |
| | | 'angularTranslateLoaderPartial', // 다국어를 사용하기 위해 import |
| | | 'angularTranslateStorageCookie', // 다국어를 사용하기 위해 import |
| | | 'taylorcodeAngularFileUpload', // angular file upload 를 위해 import |
| | | 'ngStomp', // 웹 소켓 사용을 위해 import |
| | | 'angularAnimate', // 애니메이션 사용을 위해 import |
| | | 'jsAutoCompleteMulti', // 다중 선택이 가능한 autoComplete 컴포넌트를 사용하기 위해 import |
| | | 'jsInputAutoComplete', // Input 필드에 autoComplete 기능이 추가되는 컴포넌트를 사용하기 위해 import |
| | | 'jsAutoCompleteSingle', // input 박스에 한개의 대상만 선택 가능할수 있는 autoComplete 기능이 붙은 컴포넌트를 사용하기 위해 import |
| | | 'ngSweetAlert', // 팝업 알림창을 사용하기 위해 import |
| | | 'angularSummerNote', // 에디터 사용하기 위해 import |
| | | 'angularUiSortable', // 드래그를 사용하기 위해 import |
| | | 'angularNvd3', // 대시보드에서 nvd3 차트를 사용하기 위해 import |
| | | 'ngImageGallery', // 이슈 상세에서 사진 보기 위해 import |
| | | ], |
| | | function (angular) { |
| | | return angular.module('wisestoneApp', [ |
| | | 'ui.router', // Routing |
| | | 'ngResource', // ngResource |
| | | 'ui.bootstrap', // Ui Bootstrap |
| | | 'pasvaz.bindonce', |
| | | 'angularjs-dropdown-multiselect', |
| | | 'ngCookies', |
| | | 'pascalprecht.translate', |
| | | 'ngSanitize', |
| | | 'angularFileUpload', |
| | | 'ngStomp', |
| | | 'ngAnimate', |
| | | 'js-autocomplete-multi', |
| | | 'js-input-autocomplete', |
| | | 'js-autocomplete-single', |
| | | 'oitozero.ngSweetAlert', |
| | | 'summernote', |
| | | 'ui.sortable', |
| | | 'nvd3', |
| | | 'thatisuday.ng-image-gallery' |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define(['app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | |
| | | app.controller('commonController', ['$scope', '$rootScope', '$log', 'Auth', '$state', 'User', '$resourceProvider', '$uibModal', 'SweetAlert', 'Workspace', '$translate', '$q', |
| | | '$interval', 'IssueSearch', '$filter', 'Notice', 'Project', |
| | | function ($scope, $rootScope, $log, Auth, $state, User, $resourceProvider, $uibModal, SweetAlert, Workspace, $translate, $q, $interval, IssueSearch, $filter, Notice, Project) { |
| | | |
| | | $scope.fn = { |
| | | logout: logout, // 로그아웃 |
| | | startWebSock: startWebSock, // 웹 소켓 시작 |
| | | changeLastWorkspace: changeLastWorkspace, // 마지막 접근 업무 공간 |
| | | changeLastProject: changeLastProject, // 프로젝트 변경 |
| | | invite: invite, // 사용자 초대하기 |
| | | findAllWorkproject: findAllWorkproject, // 사용자가 참여하는 프로젝트 목록 가져오기 |
| | | addIssue: addIssue, // 이슈 만들기 팝업 표시 |
| | | makeIssueSearch: makeIssueSearch, // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | disconnectSocket: disconnectSocket, // 웹 소켓 연결 해제 |
| | | sendMessage: sendMessage, |
| | | moveMenu : moveMenu |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | message: "", |
| | | }; |
| | | |
| | | |
| | | |
| | | // 시스템에서 특정 이슈로 바로 이동할 수 있도록 해준다. |
| | | $scope.$on("makeIssueSearch", function (event, args) { |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | $scope.fn.makeIssueSearch(args.projectKey, args.issueNumber); |
| | | }); |
| | | |
| | | // 프로젝트 목록 화면 새로 고침시 |
| | | $scope.$on("getProjectList", function () { |
| | | findAllWorkproject(); |
| | | }); |
| | | |
| | | function moveMenu(stateName) { |
| | | if ($state.current.name == stateName) { |
| | | $state.reload(); |
| | | } else { |
| | | $state.go(stateName); |
| | | } |
| | | } |
| | | |
| | | // 메세지 발송 |
| | | function sendMessage() { |
| | | |
| | | var content = { |
| | | description : $scope.vm.message, |
| | | userIds : [1] |
| | | }; |
| | | |
| | | Notice.send($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | }); |
| | | } |
| | | |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | function makeIssueSearch(projectKey, issueNumber) { |
| | | var combinationIssueNumber = projectKey; |
| | | if (issueNumber != undefined) { |
| | | combinationIssueNumber += "-" + issueNumber; |
| | | } |
| | | |
| | | var content = { |
| | | conditions: JSON.stringify({ |
| | | search: { |
| | | combinationIssueNumber: combinationIssueNumber |
| | | } |
| | | }) |
| | | }; |
| | | |
| | | IssueSearch.add($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | moveMenu("issues.list"); |
| | | } else { |
| | | SweetAlert.error($filter("translate")("issue.failedToSaveFieldConditions"), result.data.message.message); // "검색 필드 조건 저장 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 이슈 만들기 팝업 표시 |
| | | function addIssue() { |
| | | $uibModal.open({ |
| | | templateUrl: 'views/issue/issueAdd.html', |
| | | size: "lg", |
| | | controller: 'issueAddController', |
| | | backdrop: 'static' |
| | | }); |
| | | } |
| | | |
| | | // 참여하는 프로젝트 목록 가져오기 |
| | | function findAllWorkproject() { |
| | | var deferred = $q.defer(); |
| | | |
| | | var defaultName = $filter("translate")("common.totalProject"); |
| | | var defaultProject = {id:-1, name: defaultName, customName:"[ "+ defaultName + " ]" }; |
| | | |
| | | $rootScope.projects = []; |
| | | $rootScope.projects.push(defaultProject); |
| | | $rootScope.workProject = defaultProject; |
| | | |
| | | Project.findListWork($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | var projects = result.data.data; |
| | | |
| | | if (projects != undefined && projects.length > 0) { |
| | | // 마지막 사용한 프로젝트 조회 |
| | | var datas = []; |
| | | datas.push(defaultProject); |
| | | for (var count in projects) { |
| | | var project = projects[count]; |
| | | datas.push(project); |
| | | project.depth = 0; |
| | | project.customName = project.name; |
| | | setChildren(project, datas, project.depth); |
| | | |
| | | if ($rootScope.user.lastProjectId === project.id) { |
| | | $rootScope.workProject = project; |
| | | } |
| | | } |
| | | $rootScope.projects = datas; |
| | | } |
| | | |
| | | if ($rootScope.user.lastProjectId == null) { |
| | | $rootScope.user.lastProjectId = -1; |
| | | } |
| | | } |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | function setChildren(row, datas, depth) { |
| | | depth++; |
| | | var childProjects = row.childProjects; |
| | | if (childProjects != undefined && childProjects.length > 0) { |
| | | for (var child of childProjects) { |
| | | child.depth = depth; |
| | | var space = ""; |
| | | for (var i=0;i<depth;i++) { |
| | | if (i==depth-1) { |
| | | space += "┗\u00A0"; |
| | | } else { |
| | | space += "\u00A0\u00A0"; |
| | | } |
| | | } |
| | | child.customName = space + child.name; |
| | | datas.push(child); |
| | | |
| | | if ($rootScope.user.lastProjectId === child.id) { |
| | | $rootScope.workProject = child; |
| | | } |
| | | |
| | | setChildren(child, datas, depth); |
| | | } |
| | | } |
| | | return datas; |
| | | } |
| | | |
| | | |
| | | // 사용자 초대 |
| | | function invite() { |
| | | $uibModal.open({ |
| | | templateUrl: 'views/userInvite/userInvite.html', |
| | | size: "md", |
| | | controller: 'userInviteController', |
| | | backdrop: 'static' |
| | | }); |
| | | } |
| | | |
| | | // 프로젝트 변경 |
| | | function changeLastProject(projectId) { |
| | | $rootScope.changeLastProject(projectId); |
| | | } |
| | | |
| | | // 업무 공간 변경 |
| | | function changeLastWorkspace(workspaceId) { |
| | | User.updateLastWorkspace($resourceProvider.getContent( |
| | | {lastWorkspaceId: workspaceId}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $rootScope.user = result.data.data; |
| | | $state.go($state.current, {}, {reload: true}); |
| | | |
| | | if ($state.current.name === "dashboards.dashboard") { |
| | | $state.go($state.current, {}, {reload: true}); |
| | | } else { |
| | | $state.go("dashboards.dashboard"); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 로그아웃 |
| | | function logout() { |
| | | // edit by zenith at 20200801 |
| | | // before set socket connection call disconnection, fire error so catch |
| | | try { |
| | | // 웹 소켓 연결 해제 |
| | | $scope.fn.disconnectSocket(); |
| | | } catch(e) { |
| | | $log.debug("Error disconnectSocket : ", e); |
| | | } |
| | | Auth.logout(); |
| | | $state.go('login'); |
| | | } |
| | | |
| | | // 최초 실행 - 사용자 세션 조회시, 10초마다 확인하여 끊겨있으면 다시 연결 시도 |
| | | function startWebSock() { |
| | | $rootScope.webSocket.socket = new SockJS("/owl-socket"); |
| | | $rootScope.webSocket.client = Stomp.over($rootScope.webSocket.socket); //Stomp client 구성 |
| | | |
| | | |
| | | $rootScope.webSocket.client.connect('', '', function (frame) { |
| | | // 사용자 목록 |
| | | $rootScope.webSocket.client.subscribe('/session/user-list', function (userList) { |
| | | $rootScope.users = JSON.parse(userList.body); |
| | | |
| | | if ($scope.$root.$$phase !== '$apply' && $scope.$root.$$phase !== '$digest') { |
| | | $scope.$apply(); |
| | | } |
| | | |
| | | if ($rootScope.isDefined($rootScope.webSocket.client)) { |
| | | $rootScope.webSocket.client.send('/app/session/alive', {}, ''); |
| | | } |
| | | |
| | | $log.debug("소켓 연결 사용자 정보 : ", $rootScope.users); |
| | | }); |
| | | |
| | | // 사용자에게 메세지 보내기 |
| | | $rootScope.webSocket.client.subscribe('/user/notification/message', function (notification) { |
| | | SweetAlert.warning("메세지 전달", notification.body); |
| | | }); |
| | | |
| | | // 업무 공간 사용자 초과 알림 |
| | | $rootScope.webSocket.client.subscribe('/user/notification/workspace-max-user-excess', function (notification) { |
| | | var body = JSON.parse(notification.body); |
| | | SweetAlert.warning($filter("translate")("common.exceedsMaximumUsersWorkspace"), body.message); // "업무 공간 최대 사용자 초과" |
| | | }); |
| | | |
| | | // 참여 업무 공간 삭제 알림 - 해당 업무 공간를 보고 있을 때 |
| | | $rootScope.webSocket.client.subscribe('/user/notification/workspace-remove', function (notification) { |
| | | var body = JSON.parse(notification.body); |
| | | SweetAlert.warning($filter("translate")("common.deleteParticipatingWorkspaceReminder"), body.message); // "참여 업무 공간 삭제 알림" |
| | | |
| | | $scope.fn.findAllWorkspace().then(function () { |
| | | // 로그인한 사용자 정보를 초기화해서 변경된 업무 공간 정보로 대시보드 재조회 |
| | | User.updateUserSession({}).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $rootScope.user = result.data.data; // 전역으로 사용하는 로그인 사용자 정보. |
| | | } else { |
| | | SweetAlert.error($filter("translate")("common.failedToUpdateParticipatingSessions"), body.message); // "참여 세션 업데이트 실패" |
| | | } |
| | | |
| | | // 업무 공간 초기화하여 서버에서 다시 목록 가져오게 하기 |
| | | if ($state.current.name === "dashboards.dashboard") { |
| | | $state.go($state.current, {}, {reload: true}); |
| | | } else { |
| | | $state.go("dashboards.dashboard"); |
| | | } |
| | | }); |
| | | }); |
| | | }); |
| | | |
| | | // 참여 업무 공간 비활성화 알림 - 해당 업무 공간를 보고 있을 때 |
| | | $rootScope.webSocket.client.subscribe('/user/notification/workspace-disabled', function (notification) { |
| | | // edit by zenith at 20200801 |
| | | // direct oug out cause stand alone have just one workspace |
| | | SweetAlert.warning($filter("translate")("common.disableParticipationWorkspace"), $filter("translate")("common.disableParticipationWorkspaceMessage")); |
| | | $rootScope.$broadcast("logout"); |
| | | |
| | | /*var body = JSON.parse(notification.body); |
| | | SweetAlert.warning($filter("translate")("common.disableParticipationWorkspace"), body.message); // "참여 업무 공간 비활성화 알림" |
| | | |
| | | $scope.fn.findAllWorkspace().then(function () { |
| | | // 로그인한 사용자 정보를 초기화해서 변경된 업무 공간 정보로 대시보드 재조회 |
| | | User.updateUserSession({}).then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | $rootScope.user = result.data.data; // 전역으로 사용하는 로그인 사용자 정보. |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("common.failedToUpdateParticipatingSessions"), body.message); // "참여 세션 업데이트 실패" |
| | | } |
| | | |
| | | // 업무 공간 초기화하여 서버에서 다시 목록 가져오게 하기 |
| | | if ($state.current.name == "dashboards.dashboard") { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | else { |
| | | $state.go("dashboards.dashboard"); |
| | | } |
| | | }); |
| | | });*/ |
| | | }); |
| | | |
| | | // 참여 업무 공간 제외/추가 될때 업무 공간 업데이트 |
| | | $rootScope.webSocket.client.subscribe('/user/notification/workspace-update', function () { |
| | | $scope.fn.findAllWorkspace(); |
| | | }); |
| | | |
| | | // 시스템 알림 오류 - ModelAndView 에서 Exception 발생시 페이지 이동이 일어나는 현상을 수정 |
| | | $rootScope.webSocket.client.subscribe('/user/notification/system-alert', function (notification) { |
| | | var body = JSON.parse(notification.body); |
| | | SweetAlert.warning($filter("translate")("common.alertsAboutSystem"), body.message); // "시스템 알림 정보" |
| | | }); |
| | | |
| | | // 참여 업무 공간 제외/추가 될때 업무 공간 업데이트 |
| | | $rootScope.webSocket.client.subscribe('/user/notification/file-upload-process', function (notification) { |
| | | var body = JSON.parse(notification.body); |
| | | |
| | | $rootScope.$broadcast("displayFileUpload", body); |
| | | }); |
| | | |
| | | // 참여 프로젝트 목록 업데이트 |
| | | $rootScope.$broadcast("refreshWorkproject"); |
| | | }); |
| | | } |
| | | |
| | | // 웹 소켓 연결 해제 |
| | | function disconnectSocket() { |
| | | if ($rootScope.webSocket.client != null) { |
| | | $rootScope.webSocket.client.disconnect(function () { |
| | | $log.debug("소켓 종료"); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | // 웹 소켓 시작 |
| | | $scope.$on("startSocket", function () { |
| | | $log.debug("소켓 시작"); |
| | | // 웹 소켓 연결 |
| | | $scope.fn.startWebSock(); |
| | | }); |
| | | |
| | | // 로그아웃 |
| | | $scope.$on("logout", function () { |
| | | $scope.fn.logout(); |
| | | }); |
| | | |
| | | // 업무 공간 목록 새로고침 |
| | | $scope.$on("refreshWorkspace", function () { |
| | | $scope.fn.findAllWorkspace(); |
| | | }); |
| | | |
| | | // 업무 프로젝트 목록 새로고침 |
| | | $scope.$on("refreshWorkproject", function () { |
| | | $scope.fn.findAllWorkproject(); |
| | | }); |
| | | |
| | | // 10초마다 웹 소켓 연결을 확인하는 폴링 이벤트 |
| | | $interval(function () { |
| | | //$log.debug("10초마다 소켓 연결을 확인합니다."); |
| | | // 로그인한 사용자 정보가 있을 경우 |
| | | if (angular.isDefined($rootScope.user)) { |
| | | if ($rootScope.user.id != null) { |
| | | // 만약 웹소켓이 연결되어 있지 않으면 재연결 시도 |
| | | if ($rootScope.webSocket.client == null || !$rootScope.webSocket.client.connected) { |
| | | $log.debug("소켓 연결이 끊겨 있어 소켓을 연결합니다."); |
| | | $rootScope.$broadcast("startSocket"); |
| | | } |
| | | } |
| | | } |
| | | }, 10000); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('customFields', { |
| | | abstract : true, |
| | | url : "/customField", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('customFields.list', { |
| | | url : '/customFieldList', |
| | | data : { |
| | | authorities : ['CUSTOM_FIELD_TOTAL'] |
| | | }, |
| | | templateUrl : 'views/customField/customFieldList.html', |
| | | controller : "customFieldListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["customFieldListController", 'customFieldAddController', 'customFieldModifyController', 'jsTable', 'tableColumnGenerator', 'customFieldService', 'modalFormAutoScroll' |
| | | , 'formSubmit', 'jsShortCut', 'inputRegex'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('customFieldAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'User', '$uibModalInstance', 'CustomField', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, User, $uibModalInstance, CustomField, SweetAlert, $timeout, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | addOption : addOption, // 옵션 값 추가하기 |
| | | removeOption : removeOption, // 옵션 삭제 |
| | | changeFieldType : changeFieldType // 필드 유형 변경 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | name : "", // 사용자 정의 필드 명 |
| | | customFieldType : "INPUT", // 사용자 정의 필드 유형 |
| | | defaultValue : "", // 기본 값 |
| | | options : [], // 옵션 |
| | | optionText : "" // 옵션 값 |
| | | } |
| | | }; |
| | | |
| | | // 옵션 삭제 |
| | | function removeOption(index) { |
| | | $scope.vm.form.options.splice(index, 1); |
| | | } |
| | | |
| | | // 필드 유형을 변경 했을 때 문자열 필드일 경우에는 옵션 값을 초기화해준다. |
| | | function changeFieldType() { |
| | | if ($scope.vm.form.customFieldType === "INPUT") { |
| | | $scope.vm.form.options = []; |
| | | $scope.vm.form.optionText = ""; |
| | | } |
| | | |
| | | $scope.vm.form.defaultValue = ""; |
| | | } |
| | | |
| | | // Select 옵션 값 추가하기 |
| | | function addOption() { |
| | | // 문자열일 때 button 요소가 enter 키에 작동하는 것 방지 |
| | | if ($scope.vm.form.customFieldType === "INPUT") { |
| | | return; |
| | | } |
| | | |
| | | var duplication = false; |
| | | // 해시 태그는 입력 금지 - 공백 치환 |
| | | $scope.vm.form.optionText = $rootScope.preventXss($scope.vm.form.optionText.replace(/#/gi, "")); |
| | | |
| | | // 중복 여부 체크 |
| | | for (var count in $scope.vm.form.options) { |
| | | var option = $scope.vm.form.options[count]; |
| | | |
| | | if (option === $scope.vm.form.optionText) { |
| | | duplication = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 중복이 아닐 경우 |
| | | if (!duplication) { |
| | | if (!$rootScope.isDefined($scope.vm.form.optionText)) { |
| | | $scope.vm.form.optionText = ""; |
| | | SweetAlert.warning($filter("translate")("customField.emptyInputValue"), $filter("translate")("customField.emptyAddValue")); // 입력 값 확인 알림, 입력한 값이 없습니다. |
| | | return; |
| | | } |
| | | $scope.vm.form.options.push($scope.vm.form.optionText); |
| | | $scope.vm.form.options.sort(); |
| | | $scope.vm.form.optionText = ""; |
| | | |
| | | $timeout(function () { |
| | | $("#optionAdd").trigger("focus") |
| | | }, 200); |
| | | } |
| | | else { |
| | | SweetAlert.warning($filter("translate")("customField.duplicateInputValue"), $filter("translate")("customField.alreadyAddedValue")); // "입력 값 중복 알림", "입력한 값이 이미 추가되어 있습니다." |
| | | } |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | // 다중, 단일 선택일 경우에 |
| | | if ($scope.vm.form.customFieldType !== "INPUT") { |
| | | // 옵션이 1개 이하일 경우에는 셀렉트 태그를 만들 수 없다. |
| | | if ($scope.vm.form.options.length < 1) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = angular.copy($scope.vm.form); |
| | | content.name = $rootScope.preventXss(content.name); |
| | | |
| | | if ($scope.vm.form.customFieldType !== 'INPUT') { |
| | | var convertDefaultValues = ""; |
| | | |
| | | angular.forEach(content.defaultValue.split("#"), function (value) { |
| | | if ($rootScope.isDefined(value)) { |
| | | convertDefaultValues += "#" + value.trim(); |
| | | } |
| | | }); |
| | | |
| | | content.defaultValue = convertDefaultValues; |
| | | } |
| | | |
| | | CustomField.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getCustomFieldList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("customField.failedToCreateUserDefinedFields"), result.data.message.message); // "사용자 정의 필드 생성 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('customFieldListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'CustomField', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, CustomField, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | changePageRowCount : changePageRowCount, // 페이지 변경 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | add : add, // 사용자 정의 필드 생성 |
| | | makeSearchConditions : makeSearchConditions, // 사용자 정의 필드 검색 조건을 만든다. |
| | | removes : removes // 삭제 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | name : "", // 사용자 정의 필드 명 |
| | | customFieldTypes : [] // 사용자 정의 필드 유형 |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | }, |
| | | options : { |
| | | customFieldTypes : [{ |
| | | fieldKey : "INPUT", |
| | | fieldValue : $filter("translate")("common.stringField") // "문자열 필드" |
| | | }, { |
| | | fieldKey : "MULTI_SELECT", |
| | | fieldValue : $filter("translate")("common.multipleSelectionField") // "다중 선택 필드" |
| | | }, { |
| | | fieldKey : "SINGLE_SELECT", |
| | | fieldValue : $filter("translate")("common.singleSelectionField") //"단일 선택 필드" |
| | | }] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify |
| | | }; |
| | | |
| | | // 사용자 정의 필드 목록 화면 새로 고침 |
| | | $scope.$on("getCustomFieldList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 사용자 정의 필드 목록 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setDType("checkbox") |
| | | .setHWidth("width-20-p") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.customField") |
| | | .setHWidth("bold") |
| | | .setDName("name") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("customField.fieldType") |
| | | .setDType("renderer") |
| | | .setHWidth("width-300-p bold") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("CUSTOM_FIELD_OPTION")); |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 사용자 정의 필드 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | return { |
| | | name : $scope.vm.search.name, |
| | | customFieldTypes : (function () { |
| | | var customFieldTypes = []; |
| | | |
| | | angular.forEach($scope.vm.search.customFieldTypes, function (customFieldType) { |
| | | customFieldTypes.push(customFieldType.fieldKey); |
| | | }); |
| | | |
| | | return customFieldTypes; |
| | | })() |
| | | }; |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | // 사용자 정의 필드 검색 조건을 만든다. |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | CustomField.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message, "error"); // "사용자 정의 필드 목록 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function changePageRowCount() { |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | // 사용자 정의 필드 생성 팝업 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/customField/customFieldAdd.html', |
| | | size : "md", |
| | | controller : 'customFieldAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 사용자 정의 필드 수정 팝업 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/customField/customFieldModify.html', |
| | | size : "md", |
| | | controller : 'customFieldModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 사용자 정의 필드 삭제 팝업 |
| | | function removes() { |
| | | var removeIds = []; |
| | | |
| | | angular.forEach($scope.vm.responseData.data, function (data) { |
| | | if (data.checked) { |
| | | removeIds.push(data.id); |
| | | } |
| | | }); |
| | | |
| | | if (removeIds.length < 1) { |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("common.checkPurgingTargets"), // 삭제 대상 확인 |
| | | text : $filter("translate")("common.selectDestinationDeletion"), // 삭제 대상을 선택하세요. |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("customField.deleteUserDefinedFields"), // "사용자 정의 필드 삭제" |
| | | text : $filter("translate")("customField.wantToDeleteSelectUserDefinedFields"), // "선택한 사용자 정의 필드를 삭제하겠습니까? 삭제된 사용자 정의 필드는 복구할 수 없습니다." |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // 삭제 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | CustomField.remove($resourceProvider.getContent( |
| | | { removeIds : removeIds }, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $timeout(function () { |
| | | SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공 |
| | | }, 100); |
| | | |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // 삭제 실패 |
| | | }, 100); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('customFieldModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'CustomField', 'parameter', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, CustomField, parameter, SweetAlert, $timeout, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail, // 상세 정보 |
| | | addOption : addOption, // 옵션 값 추가하기 |
| | | removeOption : removeOption, // 옵션 삭제 |
| | | checkModifyOptions : checkModifyOptions, // 옵션 값 변경 확인 |
| | | changeCustomFieldType : changeCustomFieldType, // 사용자 정의 필드 유형이 변경될 때 기본 값 초기화 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id, |
| | | deep : "01" // 사용자 정의 필드 연관된 모든 정보를 어느정도까지 가져올지 결정, 01 - 일반 정보, 연관된 정보 |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | name : "", |
| | | customFieldType : "", // 사용자 정의 필드 유형 |
| | | defaultValue : "", // 기본 값 |
| | | options : [], // 옵션 |
| | | optionText : "", // 옵션 값 |
| | | useCustomFieldValue : false // 이슈에서 사용되고 있는지 여부 확인 |
| | | }, |
| | | origin : { |
| | | options : [] // 옵션 값 변경 여부 확인을 위해 서버에서 내려올 때 원본 값을 따로 관리한다. |
| | | } |
| | | }; |
| | | |
| | | // 사용자 정의 필드 유형이 변경될 때 기본 값 초기화 |
| | | function changeCustomFieldType() { |
| | | $scope.vm.form.defaultValue = ""; |
| | | } |
| | | |
| | | // 옵션 삭제 |
| | | function removeOption(index) { |
| | | $scope.vm.form.options.splice(index, 1); |
| | | } |
| | | |
| | | // 옵션 값이 변경되었는지 확인한다. |
| | | function checkModifyOptions() { |
| | | // 필드 유형이 문자열일 경우는 바로 종료 |
| | | if ($scope.vm.form.customFieldType === "INPUT") { |
| | | return false; |
| | | } |
| | | |
| | | // 옵션 갯수가 달라졌을 경우 |
| | | if ($scope.vm.form.options.length !== $scope.vm.origin.options.length) { |
| | | return true; |
| | | } |
| | | |
| | | // 갯수가 같을 경우 모든 옵션 값이 같아야 한다. 다를 경우 true 리턴. |
| | | var checkOptionCompare = false; |
| | | |
| | | for (var originOptionCount in $scope.vm.origin.options) { |
| | | var originOption = $scope.vm.origin.options[originOptionCount]; |
| | | var existOption = false; |
| | | |
| | | for (var optionCount in $scope.vm.form.options) { |
| | | var option = $scope.vm.form.options[optionCount]; |
| | | |
| | | if (originOption === option) { |
| | | existOption = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!existOption) { |
| | | checkOptionCompare = true; |
| | | } |
| | | } |
| | | |
| | | return checkOptionCompare; |
| | | } |
| | | |
| | | // Select 옵션 값 추가하기 |
| | | function addOption() { |
| | | // 문자열일 때 button 요소가 enter 키에 작동하는 것 방지 |
| | | if ($scope.vm.form.customFieldType === "INPUT") { |
| | | return; |
| | | } |
| | | |
| | | var duplication = false; |
| | | // 해시 태그는 입력 금지 - 공백 치환 |
| | | $scope.vm.form.optionText = $rootScope.preventXss($scope.vm.form.optionText.replace(/#/gi, "")); |
| | | |
| | | // 중복 여부 체크 |
| | | for (var count in $scope.vm.form.options) { |
| | | var option = $scope.vm.form.options[count]; |
| | | |
| | | if (option === $scope.vm.form.optionText) { |
| | | duplication = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 중복이 아닐 경우 |
| | | if (!duplication) { |
| | | if (!$rootScope.isDefined($scope.vm.form.optionText)) { |
| | | $scope.vm.form.optionText = ""; |
| | | SweetAlert.warning($filter("translate")("customField.emptyInputValue"), $filter("translate")("customField.emptyAddValue")); // 입력 값 확인 알림, 입력한 값이 없습니다. |
| | | return; |
| | | } |
| | | |
| | | $scope.vm.form.options.push($scope.vm.form.optionText); |
| | | $scope.vm.form.options.sort(); |
| | | $scope.vm.form.optionText = ""; |
| | | |
| | | $timeout(function () { |
| | | $("#optionAdd").trigger("focus") |
| | | }, 200); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("customField.duplicateInputValue"), $filter("translate")("customField.alreadyAddedValue"), "warning"); // "입력 값 중복 알림", "입력한 값이 이미 추가되어 있습니다." |
| | | } |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | // 다중, 단일 선택일 경우에 |
| | | if ($scope.vm.form.customFieldType !== "INPUT") { |
| | | // 옵션이 1개 이하일 경우에는 셀렉트 태그를 만들 수 없다. |
| | | if ($scope.vm.form.options.length < 1) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = angular.copy($scope.vm.form); |
| | | content.name = $rootScope.preventXss(content.name); |
| | | |
| | | if ($scope.vm.form.customFieldType !== 'INPUT') { |
| | | var convertDefaultValues = ""; |
| | | |
| | | angular.forEach(content.defaultValue.split("#"), function (value) { |
| | | if ($rootScope.isDefined(value)) { |
| | | convertDefaultValues += "#" + value.trim(); |
| | | } |
| | | }); |
| | | |
| | | content.defaultValue = convertDefaultValues; |
| | | } |
| | | else { |
| | | // 문자열 필드일 때 옵션 값 제거 |
| | | content.options = []; |
| | | } |
| | | |
| | | CustomField.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getCustomFieldList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("customField.failedToModifyUserDefinedFields"), result.data.message.message); // "사용자 정의 필드 수정 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 폼 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 정보 |
| | | function detail() { |
| | | CustomField.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.data)) { |
| | | $scope.vm.form.name = result.data.data.name; |
| | | $scope.vm.form.customFieldType = result.data.data.customFieldType; |
| | | $scope.vm.form.defaultValue = result.data.data.defaultValue; |
| | | $scope.vm.form.useCustomFieldValue = result.data.data.useCustomFieldValue; |
| | | |
| | | angular.forEach(result.data.data.customFieldValueVos, function (customFieldValueVo) { |
| | | $scope.vm.form.options.push(customFieldValueVo.value); |
| | | }); |
| | | // 옵션 값 원본 저장 |
| | | $scope.vm.origin.options = angular.copy($scope.vm.form.options.sort()); |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("customField.failedToDetailUserDefinedFields"), result.data.message.message, "error"); // "사용자 정의 필드 상세 정보 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('event', { |
| | | abstract : true, |
| | | url : "/event", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('event.list', { |
| | | url : '/eventList', |
| | | data : { |
| | | authorities : ['NOTICE_READ'] |
| | | }, |
| | | templateUrl : 'views/event/eventList.html', |
| | | controller : "eventListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(['eventListController', 'eventAddController', 'eventModifyController', 'eventViewController', |
| | | 'eventService', 'jsTable', 'tableColumnGenerator', 'formSubmit'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('eventAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Event', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Event, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | | startEndDateRange : "", // 시작일, 종료일 정보 |
| | | startDate : "", |
| | | endDate : "", |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if (!$rootScope.isDefined($scope.vm.form.startEndDateRange)) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description), |
| | | startDate : "", |
| | | endDate : "", |
| | | }; |
| | | |
| | | if ($rootScope.isDefined($scope.vm.form.startEndDateRange)) { |
| | | var startEndDateRange = $scope.vm.form.startEndDateRange.split("~"); |
| | | content.startDate = startEndDateRange[0].trim(); |
| | | content.endDate = startEndDateRange[1].trim(); |
| | | } |
| | | |
| | | Event.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getEventList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("event.failedEventRegistration"), result.data.message.message); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('eventListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'Event', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, Event, SweetAlert, $timeout, $filter) { |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | makeSearchConditions : makeSearchConditions, |
| | | add : add, // event 등록 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | title : "" |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify, |
| | | view : view, |
| | | activation : activation // 업무 공간 참여하는 사용자의 참여 상태 변경 |
| | | }; |
| | | |
| | | // 가이드 목록 화면 새로 고침 |
| | | $scope.$on("getEventList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 사용자 목록 다운로드 받기 |
| | | function makeSearchConditions() { |
| | | return {}; |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.number") |
| | | .setHWidth("width-60-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("id")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.period") |
| | | .setHWidth("width-120-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("EVENT_DUE_DATE")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.title") |
| | | .setHWidth("width-200-p bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("EVENT_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.registrationDate") |
| | | .setHWidth("width-80-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("registerDate")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.register") |
| | | .setHWidth("width-120-p bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("EVENT_REGISTER")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("event.activation") |
| | | .setHWidth("width-80-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("EVENT_ACTIVE")); |
| | | } |
| | | |
| | | // 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = { |
| | | title : $scope.vm.search.title |
| | | }; |
| | | |
| | | Event.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("event.failedToLookupEventList"), result.data.message.message); //공지 사항 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // event 등록 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/event/eventAdd.html', |
| | | size : "md", |
| | | controller : 'eventAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // event 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/event/eventModify.html', |
| | | size : "md", |
| | | controller : 'eventModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // event 보기 |
| | | function view(title, description) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/event/eventView.html', |
| | | size : "lg", |
| | | controller : 'eventViewController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | title : title, |
| | | description : description |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function activation(eventData ) { |
| | | Event.activation($resourceProvider.getContent( |
| | | eventData, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.getPageList(currentPage); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("event.failedToActivation"), result.data.message.message); // "참여 상태 변경 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | // 목록 조회 |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('eventModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Event', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Event, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail // 상세 정보 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | title : "", // 제목 |
| | | startDate : "", |
| | | endDate : "", |
| | | description : "", // 내용 |
| | | startEndDateRange : "" |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.startEndDateRange == "") { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | startDate : "", |
| | | endDate : "", |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | var startEndDateRange = $scope.vm.form.startEndDateRange.split("~"); |
| | | content.startDate = startEndDateRange[0].trim(); |
| | | content.endDate = startEndDateRange[1].trim(); |
| | | |
| | | Event.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getEventList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("event.failedToModifyEvent"), result.data.message.message); //공지 사항 수정 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 조회 |
| | | function detail() { |
| | | Event.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.startEndDateRange = result.data.data.startDate + " ~ " + result.data.data.endDate; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("event.failedToLookupEventDetails"), result.data.message.message); //event 상세 정보 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // event 상세 조회 |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('eventViewController', ['$scope', '$log', '$rootScope', '$uibModalInstance', 'parameter', |
| | | function ($scope, $log, $rootScope, $uibModalInstance, parameter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel // 팝업 창 닫기 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | viewer : { |
| | | title : parameter.title, |
| | | description : parameter.description |
| | | } |
| | | }; |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('faqs', { |
| | | abstract : true, |
| | | url : "/faqs", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('faqs.list', { |
| | | url : '/faqList', |
| | | data : { |
| | | authorities : ['NOTICE_READ'] |
| | | }, |
| | | templateUrl : 'views/faq/faqList.html', |
| | | controller : "faqListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(['faqListController', 'faqAddController', 'faqModifyController', 'faqViewController', |
| | | 'faqService', 'jsTable', 'tableColumnGenerator', 'formSubmit'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('faqAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Faq', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, faq, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | faq.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getFaqList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("FAQ.registerFAQ"), result.data.message.message); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('faqListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'Faq', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, Faq, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | makeSearchConditions : makeSearchConditions, |
| | | add : add, // faq 등록 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | title : "" |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify, |
| | | view : view, |
| | | activation : activation // 업무 공간 참여하는 사용자의 참여 상태 변경 |
| | | }; |
| | | |
| | | // FAQ 목록 화면 새로 고침 |
| | | $scope.$on("getFaqList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 사용자 목록 다운로드 받기 |
| | | function makeSearchConditions() { |
| | | return {}; |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.number") |
| | | .setHWidth("width-60-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("id")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.title") |
| | | .setHWidth("bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("FAQ_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.registrationDate") |
| | | .setHWidth("width-100-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("registerDate")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.register") |
| | | .setHWidth("width-120-p bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("FAQ_REGISTER")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("guide.activation") |
| | | .setHWidth("width-80-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("FAQ_ACTIVE")); |
| | | } |
| | | |
| | | // 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = { |
| | | title : $scope.vm.search.title |
| | | }; |
| | | |
| | | Faq.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("FAQ.failedToLookupFAQDetails"), result.data.message.message); //FAQ 사항 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // FAQ 등록 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/faq/faqAdd.html', |
| | | size : "md", |
| | | controller : 'faqAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // FAQ 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/faq/faqModify.html', |
| | | size : "md", |
| | | controller : 'faqModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // FAQ 보기 |
| | | function view(title, description) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/faq/faqView.html', |
| | | size : "lg", |
| | | controller : 'faqViewController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | title : title, |
| | | description : description |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function activation(faqData ) { |
| | | Faq.activation($resourceProvider.getContent( |
| | | faqData, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("faq.failedToActivation"), result.data.message.message); // "참여 상태 변경 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | // 목록 조회 |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('faqModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Faq', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, faq, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail // 상세 정보 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | faq.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getFaqList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("FAQ.failedToModifyFAQ"), result.data.message.message); //FAQ 사항 수정 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 조회 |
| | | function detail() { |
| | | faq.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("FAQ.failedToLookupFAQDetails"), result.data.message.message); //FAQ 상세 정보 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // FAQ 상세 조회 |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('faqViewController', ['$scope', '$log', '$rootScope', '$uibModalInstance', 'parameter', |
| | | function ($scope, $log, $rootScope, $uibModalInstance, parameter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel // 팝업 창 닫기 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | viewer : { |
| | | title : parameter.title, |
| | | description : parameter.description |
| | | } |
| | | }; |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by maprex on 2021-03-23 |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('gantt', { |
| | | abstract : true, |
| | | url : "/gantt", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('gantt.chart', { |
| | | url : "/chart", |
| | | data : { |
| | | authorities : ['ISSUE_TOTAL'] |
| | | }, |
| | | templateUrl : 'views/gantt/gantt.html', |
| | | controller : "ganttController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | |
| | | var deferred = $q.defer(); |
| | | require(["ganttController", 'chartLoader','jsTable', 'tableColumnGenerator', 'modalFormAutoScroll', |
| | | 'issueSearchService', 'issueTypeService', 'priorityService', 'severityService', 'issueStatusService', 'customFieldService','issueSearchFieldKeyViewElement', |
| | | 'issueSearchCustomFieldViewElement', |
| | | ], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | return deferred.promise; |
| | | }], |
| | | projectLoader : ["$q", "Project", "$resourceProvider", "$rootScope", "$log", |
| | | function ($q, Project, $resourceProvider, $rootScope, $log) { |
| | | |
| | | var deferred = $q.defer(); |
| | | |
| | | Project.findLastUseProject($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | $rootScope.lastProject = result.data.data; |
| | | deferred.resolve(result.data.data); |
| | | } |
| | | else { |
| | | $rootScope.lastProject = null; |
| | | deferred.resolve("선택된 프로젝트가 없습니다"); |
| | | } |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by maprex on 2021-03-23 |
| | | */ |
| | | |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('ganttController', ['$scope', '$rootScope', '$log', '$q', '$resourceProvider', '$controller', '$injector', 'Gantt', 'SweetAlert', '$filter', 'IssueType', 'Priority', 'Severity', 'IssueStatus', 'CustomField','IssueSearch', |
| | | function ($scope, $rootScope, $log, $q, $resourceProvider, $controller, $injector, Gantt, SweetAlert, $filter, IssueType, Priority, Severity, IssueStatus, CustomField, IssueSearch) { |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록을 조회한다. |
| | | makeSearchConditions : makeSearchConditions, // 검색조건을 가져옴 |
| | | getIssueTypes : getIssueTypes, // 이슈 유형 목록을 가져온다. |
| | | getPriorities : getPriorities, // 우선순위 목록을 가져온다. |
| | | getSeverities : getSeverities, // 중요도 목록을 가져온다. |
| | | getIssueStatuses : getIssueStatuses, // 이슈 상태 목록을 가져온다. |
| | | getCustomFields : getCustomFields, // 사용자 정의 필드 목록을 가져온다. |
| | | startExecute : startExecute |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | | combinationIssueNumber : "", // 이슈 번호 |
| | | projectType : "BTS_PROJECT", // 프로젝트 유형 |
| | | registerDateRange : "", // 등록일 기간 검색 |
| | | startDateRange : "", // 시작일 기간 검색 |
| | | completeDateRange : "", // 완료일 기간 검색 |
| | | severityIds : [], // 중요도 검색 |
| | | priorityIds : [], // 우선순위 검색 |
| | | issueStatusIds : [], // 이슈 상태 검색 |
| | | issueTypeIds : [] // 이슈 유형 검색 |
| | | }, |
| | | arrProjects : [], // 프로젝트 배열 |
| | | projectIssues : new Object(), // 프로젝트 전체 이슈 |
| | | projectCompleteIssues : new Object(), // 프로젝트 완료 이슈 |
| | | searchView : false, // 상세 검색 조건 표시 여부 |
| | | detailView : false, // 상세 모드 변경 값 |
| | | tableConfigs : [], // 테이블 셋팅 정보 |
| | | responseData : { |
| | | data : [] |
| | | }, |
| | | projectName : "", // 프로젝트 검색 |
| | | userName : "", // 담당자 검색 |
| | | registerName : "", // 등록자 검색 |
| | | projects : [], // 프로젝트 |
| | | issueStatuses : [], // 이슈 상태 |
| | | issueTypes : [], // 이슈 유형 |
| | | priorities : [], // 우선 순위 |
| | | severities : [], // 중요도 |
| | | users : [], // 담당자 |
| | | registers : [], // 등록자 |
| | | customFields : [], // 사용자 정의 필드 |
| | | issueTableConfigs : [], // 이슈 테이블 설정 |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(99999) |
| | | }, |
| | | relationIssues :[], // 연관 이슈 배열 |
| | | useGantt : false |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 검색 필드 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 이슈 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | var conditions = { |
| | | title : $scope.vm.search.title, |
| | | description : $scope.vm.search.description, |
| | | projectType : $scope.vm.search.projectType, |
| | | combinationIssueNumber : $scope.vm.search.combinationIssueNumber.trim(), |
| | | beginRegisterDate : "", |
| | | endRegisterDate : "", |
| | | beginStartDate : "", |
| | | endStartDate : "", |
| | | beginCompleteDate : "", |
| | | endCompleteDate : "", |
| | | projectIds : (function () { |
| | | var projectIds = []; |
| | | |
| | | angular.forEach($scope.vm.projects, function (project) { |
| | | projectIds.push(project.id); |
| | | }); |
| | | |
| | | return projectIds; |
| | | })(), |
| | | issueStatusIds : (function () { |
| | | var issueStatusIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.issueStatusIds, function (issueStatusId) { |
| | | issueStatusIds.push(issueStatusId.fieldKey); |
| | | }); |
| | | |
| | | return issueStatusIds; |
| | | })(), |
| | | issueTypeIds : (function () { |
| | | var issueTypeIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.issueTypeIds, function (issueTypeId) { |
| | | issueTypeIds.push(issueTypeId.fieldKey); |
| | | }); |
| | | |
| | | return issueTypeIds; |
| | | })(), |
| | | priorityIds : (function () { |
| | | var priorityIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.priorityIds, function (priorityId) { |
| | | priorityIds.push(priorityId.fieldKey); |
| | | }); |
| | | |
| | | return priorityIds; |
| | | })(), |
| | | severityIds : (function () { |
| | | var severityIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.severityIds, function (severityId) { |
| | | severityIds.push(severityId.fieldKey); |
| | | }); |
| | | |
| | | return severityIds; |
| | | })(), |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | registerIds : (function () { |
| | | var registerIds = []; |
| | | |
| | | angular.forEach($scope.vm.registers, function (register) { |
| | | registerIds.push(register.id); |
| | | }); |
| | | |
| | | return registerIds; |
| | | })(), |
| | | issueCustomFields : (function () { |
| | | var issueCustomFields = []; |
| | | |
| | | angular.forEach($scope.vm.customFields, function (customField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(customField.useValues)) { |
| | | angular.forEach(customField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(customField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(customField); |
| | | temp.useValues = useValues; |
| | | issueCustomFields.push(temp); |
| | | }); |
| | | |
| | | return issueCustomFields; |
| | | })() |
| | | }; |
| | | |
| | | // 등록일 |
| | | if ($rootScope.isDefined($scope.vm.search.registerDateRange)) { |
| | | var registerDateRange = $scope.vm.search.registerDateRange.split("~"); |
| | | conditions.beginRegisterDate = registerDateRange[0].trim(); |
| | | conditions.endRegisterDate = registerDateRange[1].trim(); |
| | | } |
| | | |
| | | // 시작일 |
| | | if ($rootScope.isDefined($scope.vm.search.startDateRange)) { |
| | | var startDateRange = $scope.vm.search.startDateRange.split("~"); |
| | | conditions.beginStartDate = startDateRange[0].trim(); |
| | | conditions.endStartDate = startDateRange[1].trim(); |
| | | } |
| | | // 종료일 |
| | | if ($rootScope.isDefined($scope.vm.search.completeDateRange)) { |
| | | var completeDateRange = $scope.vm.search.completeDateRange.split("~"); |
| | | conditions.beginCompleteDate = completeDateRange[0].trim(); |
| | | conditions.endCompleteDate = completeDateRange[1].trim(); |
| | | } |
| | | |
| | | return conditions; |
| | | } |
| | | |
| | | // 이슈 상태 목록 |
| | | function getIssueStatuses() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.issueStatuses = []; |
| | | |
| | | IssueStatus.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (issueType) { |
| | | $scope.vm.issueStatuses.push({ |
| | | fieldKey : issueType.id, |
| | | fieldValue : issueType.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("common.failedToIssueStatusListLookup"), result.data.message.message, "error"); // 이슈 상태 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 유형 목록 |
| | | function getIssueTypes() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.issueTypes = []; |
| | | |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (issueType) { |
| | | $scope.vm.issueTypes.push({ |
| | | fieldKey : issueType.id, |
| | | fieldValue : issueType.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 유형 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 우선순위 목록 |
| | | function getPriorities() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.priorities = []; |
| | | |
| | | Priority.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (prioritiy) { |
| | | $scope.vm.priorities.push({ |
| | | fieldKey : prioritiy.id, |
| | | fieldValue : prioritiy.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // 우선순위 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 중요도 목록 |
| | | function getSeverities() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.severities = []; |
| | | |
| | | Severity.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (severity) { |
| | | $scope.vm.severities.push({ |
| | | fieldKey : severity.id, |
| | | fieldValue : severity.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToCriticalListLookup"), result.data.message.message, "error"); // 중요도 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록 |
| | | function getCustomFields() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.customFields = []; |
| | | |
| | | CustomField.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | |
| | | angular.forEach(result.data.data, function (customField) { |
| | | switch (customField.customFieldType) { |
| | | case "INPUT" : |
| | | customField.useValues = ""; |
| | | break; |
| | | |
| | | case "MULTI_SELECT" : |
| | | case "SINGLE_SELECT" : |
| | | customField.useValues = []; |
| | | break; |
| | | } |
| | | |
| | | $scope.vm.customFields.push(customField); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message, "error"); // 사용자 정의 필드 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | |
| | | function drawGanttChart(useProject = false) { |
| | | google.charts.load('current', {'packages':['gantt'], 'language': 'ko'}); |
| | | if (!useProject) { |
| | | google.charts.setOnLoadCallback(drawChart); |
| | | } else { |
| | | google.charts.setOnLoadCallback(drawChartProject); |
| | | } |
| | | $rootScope.spinner = false; |
| | | } |
| | | |
| | | function toMilliseconds(minutes) { |
| | | return minutes * 60 * 1000; |
| | | } |
| | | |
| | | // 검색조건에서 해당 프로젝트 찾기 |
| | | function findProjectSearch(projectId) { |
| | | var projects = $scope.vm.projects; |
| | | var find = false; |
| | | |
| | | for (let i = 0; i < projects.length; i++) { |
| | | if (projects[i].id == projectId) { |
| | | find = true; |
| | | break; |
| | | } |
| | | } |
| | | return find; |
| | | } |
| | | |
| | | function getPageList(selectedPage) { |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | $rootScope.spinner = true; |
| | | |
| | | // 현재 선택된 프로젝트를 검색 기본으로 추가 |
| | | if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { |
| | | var find = findProjectSearch($rootScope.workProject.id); |
| | | if (!find) { |
| | | $scope.vm.projects.push($rootScope.workProject); |
| | | } |
| | | } |
| | | |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | Gantt.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | |
| | | if (conditions.projectIds.length > 0) { |
| | | drawGanttChart(); |
| | | } else { |
| | | drawGanttChart(true); |
| | | } |
| | | } |
| | | else { |
| | | //SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // 이슈 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈리스트에 해당 아이디가 존재하는지 여부 확인 |
| | | function containsIssue(issueId) { |
| | | var responseData = $scope.vm.responseData; |
| | | if (responseData != null) { |
| | | var data = responseData.data; |
| | | for (var i=0; i < data.length; i++) { |
| | | var el = data[i]; |
| | | if (el.id == issueId) { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | return false |
| | | } |
| | | |
| | | // 순환구조여부 확인 |
| | | // 연관 일감이 양방향으로 적용되어 있을때 차트에서는 오류가 발생하므로 양방향일 경우 처리 안하기 위함 |
| | | function isCycle(parentId, childId) { |
| | | var data = $scope.vm.relationIssues; |
| | | if (data != null && data.length > 0) { |
| | | for (var i=0; i < data.length; i++) { |
| | | if (data[i].chartParent == childId && data[i].chartChild == parentId) { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | function drawChart() { |
| | | var responseData = $scope.vm.responseData; |
| | | var page = responseData.page; |
| | | |
| | | var otherData = new google.visualization.DataTable(); |
| | | otherData.addColumn('string', 'Task ID'); |
| | | otherData.addColumn('string', 'Task Name'); |
| | | otherData.addColumn('string', 'Resource'); |
| | | otherData.addColumn('date', 'Start'); |
| | | otherData.addColumn('date', 'End'); |
| | | otherData.addColumn('number', '기간'); |
| | | otherData.addColumn('number', 'Percent Complete'); |
| | | otherData.addColumn('string', 'Dependencies'); |
| | | var data = responseData.data; |
| | | var dataCount = data.length; |
| | | var trackHeight = 22; |
| | | var bottomHeight = 50; |
| | | var chartHeight = dataCount * trackHeight + bottomHeight; |
| | | var arrPalette = []; |
| | | |
| | | if (page.totalCount > 0) { |
| | | $scope.vm.relationIssues = []; |
| | | data.forEach(el => { |
| | | var start = null; |
| | | if (el.startDate != null) { |
| | | start = new Date(el.startDate); |
| | | start.setHours(0,0,0); |
| | | } |
| | | |
| | | var end = null; |
| | | if (el.completeDate != null) { |
| | | end = new Date(el.completeDate); |
| | | end.setHours(23, 59, 59); |
| | | } |
| | | |
| | | var duration = 0; |
| | | if (start != null && end != null) { |
| | | duration = end.getTime() - start.getTime(); |
| | | } |
| | | |
| | | var p = { |
| | | "color": el.issueStatusColor, |
| | | "dark": el.issueStatusColor, |
| | | "light": el.issueStatusColor |
| | | }; |
| | | |
| | | arrPalette.push(p); |
| | | |
| | | // 연관이슈 설정 |
| | | var relationIssue = null; |
| | | if ( el.issueRelationIssueVos != null && el.issueRelationIssueVos.length > 0) { |
| | | var i = 0; |
| | | relationIssue = ""; |
| | | el.issueRelationIssueVos.forEach(rel => { |
| | | if (i > 0) { |
| | | relationIssue += ","; |
| | | } |
| | | if (containsIssue(rel.id) && !isCycle(el.id, rel.id)) { |
| | | relationIssue += String(rel.id); |
| | | var pair = { |
| | | chartParent : el.id, |
| | | chartChild : rel.id |
| | | } |
| | | $scope.vm.relationIssues.push(pair); |
| | | i++; |
| | | } |
| | | }); |
| | | } |
| | | otherData.addRow([String(el.id), el.title, String(el.id), start, end, duration, 100, relationIssue]); |
| | | |
| | | }) |
| | | $scope.vm.useGantt = true; |
| | | } else { |
| | | var p = { |
| | | "color": "0066cc", |
| | | "dark": "0066cc", |
| | | "light": "0066cc" |
| | | }; |
| | | |
| | | arrPalette.push(p); |
| | | otherData.addRow(["none", "일감이 없습니다", "none", new Date(), null, toMilliseconds(0), 100, null]); |
| | | $scope.vm.useGantt = false; |
| | | } |
| | | |
| | | var options = { |
| | | gantt: { |
| | | defaultStartDate : new Date(), |
| | | barHeight : 15, |
| | | barCornerRadius : 1, |
| | | criticalPathEnabled: true, // Critical path arrows will be the same as other arrows. |
| | | arrow: { |
| | | angle: 50, |
| | | width: 1, |
| | | color: '#0066cc', |
| | | radius: 2 |
| | | }, |
| | | labelStyle: { |
| | | fontName: 'NanumSquare', |
| | | fontSize: 12, |
| | | color: '#d5c209' |
| | | }, |
| | | palette: arrPalette, |
| | | trackHeight : trackHeight |
| | | }, |
| | | height: chartHeight, |
| | | animation: {"startup": true} |
| | | }; |
| | | |
| | | var container = document.getElementById('chart_div'); |
| | | if (container == null) { |
| | | return; |
| | | } |
| | | var chart = new google.visualization.Gantt(container); |
| | | hideChartTooltip(container, chart); |
| | | |
| | | google.visualization.events.addListener(chart, 'onmouseover', function (e) { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'click', function() { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'select', function() { |
| | | var selection = chart.getSelection(); |
| | | |
| | | var responseData = $scope.vm.responseData; |
| | | var data = responseData.data; |
| | | |
| | | var issue = data[selection[0].row]; |
| | | |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | $rootScope.$broadcast("makeIssueSearch", issue); |
| | | }); |
| | | |
| | | window.addEventListener('resize', function() { chart.draw(otherData, options); }, false); //화면 크기에 따라 그래프 크기 변경 |
| | | chart.draw(otherData, options); |
| | | } |
| | | |
| | | |
| | | // 이슈를 배열에 추가 |
| | | function addIssue(projectId, issue) { |
| | | if ($scope.vm.projectCompleteIssues[projectId] == null) |
| | | $scope.vm.projectCompleteIssues[projectId] = []; |
| | | |
| | | if ($scope.vm.projectIssues[projectId] == null) |
| | | $scope.vm.projectIssues[projectId] = []; |
| | | |
| | | if (issue.issueStatusType == "CLOSE") { |
| | | $scope.vm.projectCompleteIssues[projectId].push(issue); |
| | | } |
| | | $scope.vm.projectIssues[projectId].push(issue); |
| | | } |
| | | |
| | | // google chart 기본 tooltip 가리기 |
| | | function hideChartTooltip(container, chart) { |
| | | google.visualization.events.addOneTimeListener(chart, 'ready', function () { |
| | | var observer = new MutationObserver(function (nodes) { |
| | | Array.prototype.forEach.call(nodes, function(node) { |
| | | if (node.addedNodes.length > 0) { |
| | | Array.prototype.forEach.call(node.addedNodes, function(addedNode) { |
| | | if ((addedNode.tagName === 'rect') && (addedNode.getAttribute('fill') === 'white')) { |
| | | addedNode.setAttribute('fill', 'transparent'); |
| | | addedNode.setAttribute('stroke', 'transparent'); |
| | | Array.prototype.forEach.call(addedNode.parentNode.getElementsByTagName('text'), function(label) { |
| | | label.setAttribute('fill', 'transparent'); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | observer.observe(container, { |
| | | childList: true, |
| | | subtree: true |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | function drawChartProject() { |
| | | var responseData = $scope.vm.responseData; |
| | | var page = responseData.page; |
| | | |
| | | var otherData = new google.visualization.DataTable(); |
| | | otherData.addColumn('string', 'Task ID'); |
| | | otherData.addColumn('string', 'Task Name'); |
| | | otherData.addColumn('string', 'Resource'); |
| | | otherData.addColumn('date', '시작'); |
| | | otherData.addColumn('date', '종료'); |
| | | otherData.addColumn('number', '기간'); |
| | | otherData.addColumn('number', '진행율'); |
| | | otherData.addColumn('string', '상위프로젝트'); |
| | | var data = responseData.data; |
| | | |
| | | var trackHeight = 35; |
| | | var bottomHeight = 50; |
| | | |
| | | $scope.vm.arrProjects = []; |
| | | if (page.totalCount > 0) { |
| | | data.forEach(el => { |
| | | addIssue(el.projectId, el); |
| | | }); |
| | | |
| | | var workProjects = $rootScope.projects; |
| | | workProjects.forEach(projectObj => { |
| | | if (projectObj.id > 0) { |
| | | var issues = $scope.vm.projectIssues[projectObj.id]; |
| | | var completeIssues = $scope.vm.projectCompleteIssues[projectObj.id]; |
| | | var start = null; |
| | | if (projectObj.startDate != null) { |
| | | start = new Date(projectObj.startDate); |
| | | start.setHours(0, 0, 0); |
| | | } |
| | | |
| | | var end = null; |
| | | if (projectObj.endDate != null) { |
| | | end = new Date(projectObj.endDate); |
| | | end.setHours(23, 59, 59); |
| | | } |
| | | |
| | | var duration = 0; |
| | | if (start != null && end != null) { |
| | | duration = end.getTime() - start.getTime(); |
| | | } |
| | | |
| | | var percent = 0; |
| | | var endCount = completeIssues == null ? 0 : completeIssues.length.toFixed(2); |
| | | var totalCount = issues == null ? 0 : issues.length; |
| | | if (totalCount > 0) { |
| | | percent = parseInt(endCount / totalCount * 100.0); |
| | | } |
| | | |
| | | var depend = null; |
| | | if (projectObj.parentProjectId != null) { |
| | | depend = String(projectObj.parentProjectId); |
| | | } |
| | | |
| | | $scope.vm.arrProjects.push(projectObj.id); |
| | | otherData.addRow([String(projectObj.id), projectObj.name, String(projectObj.id), start, end, duration, percent, depend]); |
| | | } |
| | | }); |
| | | |
| | | $scope.vm.useGantt = true; |
| | | } else { |
| | | otherData.addRow(["none", "일감이 없습니다", "none", new Date(), null, toMilliseconds(0), 100, null]); |
| | | $scope.vm.useGantt = false; |
| | | } |
| | | |
| | | var dataCount = $scope.vm.arrProjects.length; |
| | | var chartHeight = dataCount * trackHeight + bottomHeight; |
| | | |
| | | var options = { |
| | | gantt: { |
| | | defaultStartDate : new Date(), |
| | | barHeight : 18, |
| | | barCornerRadius : 1, |
| | | criticalPathEnabled: true, // Critical path arrows will be the same as other arrows. |
| | | arrow: { |
| | | angle: 50, |
| | | width: 1, |
| | | color: '#0066cc', |
| | | radius: 2 |
| | | }, |
| | | labelStyle: { |
| | | fontName: 'NanumSquare', |
| | | fontSize: 12, |
| | | color: '#d5c209' |
| | | }, |
| | | trackHeight : trackHeight |
| | | }, |
| | | height: chartHeight, |
| | | animation: {"startup": true} |
| | | }; |
| | | |
| | | var container = document.getElementById('chart_div'); |
| | | if (container == null) { |
| | | return; |
| | | } |
| | | var chart = new google.visualization.Gantt(container); |
| | | |
| | | hideChartTooltip(container, chart); |
| | | |
| | | google.visualization.events.addListener(chart, 'onmouseover', function (e) { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'click', function() { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'select', function() { |
| | | var selection = chart.getSelection(); |
| | | $rootScope.changeLastProject($scope.vm.arrProjects[selection[0].row]); |
| | | }); |
| | | |
| | | window.addEventListener('resize', function() { chart.draw(otherData, options); }, false); //화면 크기에 따라 그래프 크기 변경 |
| | | chart.draw(otherData, options); |
| | | |
| | | } |
| | | |
| | | function startExecute() { |
| | | var promises = { |
| | | getIssueTypes: $scope.fn.getIssueTypes(), |
| | | getPriorities: $scope.fn.getPriorities(), |
| | | getSeverities: $scope.fn.getSeverities(), |
| | | getIssueStatuses: $scope.fn.getIssueStatuses(), |
| | | getCustomFields: $scope.fn.getCustomFields() |
| | | } |
| | | |
| | | $q.all(promises).then(function (results) { |
| | | $log.debug("promises 결과 ", results); |
| | | $scope.fn.getPageList(); |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('guide', { |
| | | abstract : true, |
| | | url : "/guide", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('guide.list', { |
| | | url : '/guideList', |
| | | data : { |
| | | authorities : ['NOTICE_READ'] |
| | | }, |
| | | templateUrl : 'views/guide/guideList.html', |
| | | controller : "guideListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(['guideListController', 'guideAddController', 'guideModifyController', 'guideViewController', |
| | | 'guideService', 'jsTable', 'tableColumnGenerator', 'formSubmit'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('guideAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Guide', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Guide, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | Guide.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getGuideList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("guide.failedGuideRegistration"), result.data.message.message); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('guideListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'Guide', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, Guide, SweetAlert, $timeout, $filter) { |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | makeSearchConditions : makeSearchConditions, |
| | | add : add, // guide 등록 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | title : "" |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify, |
| | | view : view, |
| | | activation : activation // 업무 공간 참여하는 사용자의 참여 상태 변경 |
| | | }; |
| | | |
| | | // 가이드 목록 화면 새로 고침 |
| | | $scope.$on("getGuideList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 사용자 목록 다운로드 받기 |
| | | function makeSearchConditions() { |
| | | return {}; |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.number") |
| | | .setHWidth("width-60-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("id")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.title") |
| | | .setHWidth("bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("GUIDE_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.registrationDate") |
| | | .setHWidth("width-100-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("registerDate")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.register") |
| | | .setHWidth("width-120-p bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("GUIDE_REGISTER")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("guide.activation") |
| | | .setHWidth("width-80-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("GUIDE_ACTIVE")); |
| | | } |
| | | |
| | | // 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = { |
| | | title : $scope.vm.search.title |
| | | }; |
| | | |
| | | Guide.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("guide.failedToLookupGuideList"), result.data.message.message); //공지 사항 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // guide 등록 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/guide/guideAdd.html', |
| | | size : "md", |
| | | controller : 'guideAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // guide 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/guide/guideModify.html', |
| | | size : "md", |
| | | controller : 'guideModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // guide 보기 |
| | | function view(title, description) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/guide/guideView.html', |
| | | size : "lg", |
| | | controller : 'guideViewController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | title : title, |
| | | description : description |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function activation(guideData ) { |
| | | Guide.activation($resourceProvider.getContent( |
| | | guideData, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.getPageList(currentPage); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("guide.failedToActivation"), result.data.message.message); // "참여 상태 변경 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | // 목록 조회 |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('guideModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Guide', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Guide, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail // 상세 정보 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | Guide.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getGuideList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("guide.failedToModifyGuide"), result.data.message.message); //공지 사항 수정 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 조회 |
| | | function detail() { |
| | | Guide.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("guide.failedToLookupGuideDetails"), result.data.message.message); //guide 상세 정보 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // guide 상세 조회 |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('guideViewController', ['$scope', '$log', '$rootScope', '$uibModalInstance', 'parameter', |
| | | function ($scope, $log, $rootScope, $uibModalInstance, parameter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel // 팝업 창 닫기 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | viewer : { |
| | | title : parameter.title, |
| | | description : parameter.description |
| | | } |
| | | }; |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-03. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('issues', { |
| | | abstract: true, |
| | | url: "/issues", |
| | | templateUrl: "views/common/app.html", |
| | | resolve: { |
| | | authorize: function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader: function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('issues.list', { |
| | | url: "/issueList", |
| | | data: { |
| | | authorities: ['ISSUE_TOTAL'] |
| | | }, |
| | | templateUrl: 'views/issue/issueList.html', |
| | | controller: "issueManagerController", |
| | | resolve: { |
| | | loadController: ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require([ |
| | | 'issueListTimelineController', 'issueManagerController', 'issueListController', 'issueAddController', 'issueModifyController', 'issueDetailController', 'issueImportExcelController', |
| | | 'chartLoader', 'jsTable', 'tableColumnGenerator', 'modalFormAutoScroll', 'summerNote', 'summerNote-ko-KR', 'fullScroll', 'workflowService', 'priorityService', 'issueSearchService', 'issueTableConfigService', 'inputRegex', |
| | | 'severityService', 'issueTypeService', 'issueTypeCustomFieldService', 'issueService', 'issueStatusService', 'issueUserService', 'issueModifyUserController', 'customFieldService', 'issueSearchFieldKeyViewElement', |
| | | 'issueSearchCustomFieldViewElement', 'tableUserImage', 'fullScroll', 'issueCommentService', 'detectIssueEditor', 'formSubmit', 'issueModifyStatusController', 'jsShortCut', |
| | | 'issueAddTableConfigController', 'domAppend', 'issueDetailImagePreview', 'issueSendMailController', 'htmlDiff', 'issueVersionViewController', 'issueVersionService', |
| | | 'jsHtmlDiff', 'issueReservationController', 'issueReservationService', 'issueVersionService', 'issueStatusAutoFocus', 'issueRelationService' |
| | | ], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-15. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', |
| | | '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', '$state', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, SweetAlert, $timeout, |
| | | $stateParams, $q, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter, $state) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getUserListCallBack : getUserListCallBack, // 담당자 autocomplete 페이징 |
| | | getProjectListCallBack : getProjectListCallBack, // 프로젝트 autocomplete 페이징 |
| | | getOptionColor : getOptionColor, // 우선순위, 중요도 색상으로 Select 태그 적용 |
| | | onFileSelect : onFileSelect, // 파일 첨부 |
| | | infiniteAddForm : infiniteAddForm, // 계속 생성 |
| | | imageUpload : imageUpload, // 섬머노트 이미지 업로드 |
| | | getIssueTypes : getIssueTypes, // 이슈 타입 목록 가져오기 |
| | | getPriorities : getPriorities, // 우선순위 목록 가져오기 |
| | | getSeverities : getSeverities, // 중요도 목록 가져오기 |
| | | getIssueTypeCustomFields : getIssueTypeCustomFields, // 이슈 유형에 연결된 사용자 정의 필드 목록 가져오기 |
| | | removeUploadFile : removeUploadFile, // 업로드하려는 특정 파일을 삭제 |
| | | removeManager : removeManager, // 담당자 삭제 |
| | | setIssueTypeTemplate : setIssueTypeTemplate, // 이슈 유형 템플릿 적용하기 |
| | | startExecute : startExecute // 컨트롤 로딩시 처음으로 시작되는 함수 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | | projects : [], // 프로젝트 |
| | | issueTypeId : "", // 이슈 유형 아이디 |
| | | priorityId : "", // 우선순위 아이디 |
| | | severityId : "", // 중요도 아이디 |
| | | users : [], // 담당자 |
| | | files : [], // 업로드 파일 |
| | | attachedFiles : [], // 섬머노트로 파일 업로드를 할 경우 서버에서 pk를 따고 issue id와 연동 작업이 필요하다. |
| | | startCompleteDateRange : "", // 시작일 ~ 종료일 |
| | | issueCustomFields : [] // 이슈에서 사용되는 사용자 정의 필드 |
| | | }, |
| | | infiniteAdd : false, // 연속 생성 |
| | | projectName : "", // 프로젝트 명 검색 |
| | | userName : "", // 사용자 검색 |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | summerNote : { |
| | | editable : null, |
| | | editor : null |
| | | }, |
| | | issueTypes : [], // 이슈 유형 전체 목록 |
| | | priorities : [], // 우선순위 정보 |
| | | severities : [], // 중요도 정보 |
| | | fileTableConfigs : [], // 파일 업로드 정보 테이블 |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | |
| | | function getStartProjectListCallback(result){ |
| | | // 프로젝트 autocomplete page 업데이트 |
| | | $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage; |
| | | |
| | | var projectVo = result.data.data[0]; |
| | | $scope.vm.form.projects.push(projectVo); |
| | | } |
| | | |
| | | // 프로젝트가 변경되면 담당자 초기화 |
| | | $scope.$watch("vm.form.projects", function (newValue, oldValue) { |
| | | if (angular.isDefined(newValue)) { |
| | | if (newValue.length < 1) { |
| | | $scope.vm.form.users = []; |
| | | } |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 가져오기 |
| | | $scope.fn.getIssueTypeCustomFields(); |
| | | } |
| | | }); |
| | | |
| | | // 섬머노트 이미지 업로드 |
| | | function imageUpload($files) { |
| | | var listFiles = []; |
| | | var uploadFileSize = 0; |
| | | |
| | | for (var count in $files) { |
| | | var $file = $files[count]; |
| | | |
| | | if (typeof ($file) == "object") { |
| | | uploadFileSize += $file.size; |
| | | |
| | | // 파일당 용량 제한 10MB |
| | | if ($file.size > $rootScope.fileByte.image) { |
| | | SweetAlert.error($filter("translate")("issue.capacityExceededImageFile"), $filter("translate")("issue.attachedOnlyImageFiles10mb")); // "이미지 파일 용량 초과", "10MB 이하의 이미지 파일만 첨부가 가능합니다." |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | |
| | | // 여러건의 파일을 한번에 업로드할 경우 제한 300MB |
| | | if (uploadFileSize > $rootScope.fileByte.file) { |
| | | SweetAlert.error($filter("translate")("issue.capacityExceededImageFile"), $filter("translate")("issue.attachedMultipleImageFiles100mb")); // "이미지 파일 용량 초과", "여러 건의 이미지를 한번에 첨부할 경우 100MB 이하까지만 첨부가 가능합니다." |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | |
| | | if (!$rootScope.checkImageType($file)) { |
| | | SweetAlert.error($filter("translate")("issue.limitImageFile"), $filter("translate")("issue.canBeUploadedOnlyImageFiles")); // "이미지 파일 제한", "이미지 파일만 업로드 가능합니다. - bmp, jpg, jpeg, png, tif" |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | |
| | | if (!angular.isDefined($file.name)) { |
| | | var fileType = $file.type.split("/"); |
| | | var imageType = ""; |
| | | |
| | | if (fileType[0] === "image") { |
| | | imageType = "." + fileType[1]; |
| | | } |
| | | |
| | | $file.name = new Date().getTime() + imageType; |
| | | } |
| | | else { |
| | | if ($file.name.indexOf(';') !== -1) { |
| | | SweetAlert.error($filter("translate")("issue.nameErrorImageFile"), $filter("translate")("issue.cannotUploadFileNameSpecialCharacters")); // "이미지 파일명 오류", "파일명에 특수문자(;)가 들어가면 업로드 할 수 없습니다." |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | listFiles.push($file); |
| | | } |
| | | } |
| | | |
| | | // 파일 업로드 검증을 거친 파일이 1개이상 존재할 경우에만 실행 |
| | | if (listFiles.length > 0) { |
| | | AttachedFile.add({ |
| | | method : "POST", |
| | | file : listFiles, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : { |
| | | workspaceId : $rootScope.user.lastWorkspaceId |
| | | } |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.attachedFiles, function (fileInfo) { |
| | | $scope.vm.summerNote.editor.summernote("editor.insertImage", fileInfo.path); |
| | | $scope.vm.form.attachedFiles.push(fileInfo); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.errorFileUpload"), result.data.message.message); // 파일 업로드 오류 |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // 연속으로 이슈를 등록할 때 입력 폼 초기화 |
| | | function infiniteAddForm() { |
| | | $scope.vm.form.title = ""; |
| | | $scope.vm.form.description = ""; |
| | | $scope.vm.form.files = []; |
| | | $scope.vm.form.attachedFiles = []; |
| | | |
| | | // 이슈 유형 템플릿 적용하기 |
| | | $scope.fn.setIssueTypeTemplate(); |
| | | |
| | | $(".modal-body").animate({ |
| | | scrollTop : 0 |
| | | }, 500); |
| | | |
| | | $timeout(function () { |
| | | $("[name='title']").trigger("focus") |
| | | }, 100); |
| | | } |
| | | |
| | | // 파일 업로드에 사용 |
| | | function onFileSelect($files) { |
| | | var uploadFileSize = 0; |
| | | |
| | | // 이전에 첨부한 파일이 있을 경우 전체 업로드 용량에 포함 |
| | | angular.forEach($scope.vm.form.files, function ($file) { |
| | | uploadFileSize += $file.size; |
| | | }); |
| | | |
| | | for (var count in $files) { |
| | | var $file = $files[count]; |
| | | |
| | | if (typeof ($file) == "object") { |
| | | uploadFileSize += $file.size; |
| | | |
| | | // 파일당 용량 제한 300MB |
| | | if (($file.size > $rootScope.fileByte.file) || (uploadFileSize > $rootScope.fileByte.file)) { |
| | | SweetAlert.error($filter("translate")("issue.attachmentCapacityExceeded"), $filter("translate")("issue.canAttachFileUpTo100mb")); // "첨부 파일 용량 초과", "100MB 이하까지만 파일 첨부가 가능합니다." |
| | | break; |
| | | } |
| | | |
| | | // 파일을 업로드할 때 파일 유형을 확인해주는 기능 - 허용되지 않은 확장자일 때는 첨부 금지 |
| | | if (!$rootScope.checkFileType($file)) { |
| | | SweetAlert.error($filter("translate")("issue.limitAttachmentExtensions"), $filter("translate")("issue.notAllowedAttachment")); // "첨부 파일 확장자 제한", "첨부가 허용되지 않는 파일입니다." |
| | | break; |
| | | } |
| | | |
| | | if ($file.name.indexOf(';') !== -1) { |
| | | SweetAlert.error($filter("translate")("issue.nameErrorAttachment"), $filter("translate")("issue.cannotUploadFileNameSpecialCharacters")); // "첨부 파일명 오류", "파일명에 특수문자(;)가 들어가면 업로드 할 수 없습니다." |
| | | break; |
| | | } |
| | | |
| | | $file.index = count; |
| | | $scope.vm.form.files.push($file); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 셀렉트 박스에서 중요도, 우선순위 색상 표시 |
| | | function getOptionColor(list, key) { |
| | | var color = "#353535"; // 기본색은 검은색. |
| | | |
| | | for (var count in list) { |
| | | if (String(list[count].id) === key) { |
| | | color = list[count].color; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return color; |
| | | } |
| | | |
| | | // 담당자 삭제 |
| | | function removeManager(index) { |
| | | $scope.vm.form.users.splice(index, 1); |
| | | } |
| | | |
| | | // 업로드 파일 삭제 |
| | | function removeUploadFile(index) { |
| | | $scope.vm.form.files.splice(index, 1); |
| | | |
| | | angular.forEach($scope.vm.form.files, function (file, index) { |
| | | file.index = index; |
| | | }); |
| | | } |
| | | |
| | | // 담당자 autocomplete page 업데이트트 |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 프로젝트 autocomplete page 업데이트 |
| | | function getProjectListCallBack(result) { |
| | | $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.projects.length < 1) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | title : $rootScope.preventXss($scope.vm.form.title), // 제목 |
| | | description : $rootScope.preventXss($scope.vm.form.description), // 내용 |
| | | projectId : (function () { // 프로젝트 아이디 |
| | | var projectId = ""; |
| | | |
| | | if ($scope.vm.form.projects.length > 0) { |
| | | projectId = $scope.vm.form.projects[0].id; |
| | | } |
| | | |
| | | return projectId; |
| | | })(), |
| | | issueTypeId : $scope.vm.form.issueTypeId, // 이슈 유형 아이디 |
| | | priorityId : $scope.vm.form.priorityId, // 우선순위 아이디 |
| | | severityId : $scope.vm.form.severityId, // 중요도 아이디 |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | attachedFileIds : (function () { |
| | | var attachedFileIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.attachedFiles, function (attachedFile) { |
| | | if ($scope.vm.form.description.indexOf(attachedFile.path) !== -1) { |
| | | attachedFileIds.push(attachedFile.id); |
| | | } |
| | | }); |
| | | |
| | | return attachedFileIds; |
| | | })(), |
| | | startCompleteDateRange : $scope.vm.form.startCompleteDateRange, |
| | | issueCustomFields : (function () { // 이슈에서 사용되는 사용자 정의 필드 |
| | | var issueCustomFields = []; |
| | | |
| | | angular.forEach($scope.vm.form.issueCustomFields, function (issueCustomField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(issueCustomField.useValues)) { |
| | | angular.forEach(issueCustomField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(issueCustomField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(issueCustomField); |
| | | temp.useValues = useValues; |
| | | issueCustomFields.push(temp); |
| | | }); |
| | | |
| | | return issueCustomFields; |
| | | })() |
| | | }; |
| | | |
| | | |
| | | Issue.add({ |
| | | method : "POST", |
| | | file : $scope.vm.form.files, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : content |
| | | }, |
| | | fileFormDataName : "file" |
| | | }).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | // 연속 등록 체크시 이동하지 않음. |
| | | if ($scope.vm.infiniteAdd) { |
| | | $scope.fn.infiniteAddForm(); |
| | | } |
| | | else { |
| | | $scope.fn.cancel(); |
| | | |
| | | if ($state.current.name !== "issues.list") { |
| | | $state.go("issues.list"); |
| | | } |
| | | } |
| | | |
| | | $rootScope.$broadcast("getIssueList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // 이슈 등록 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | SweetAlert.close(); // 알림 창 닫기 |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 이슈 유형 목록 |
| | | function getIssueTypes() { |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueTypes = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 타입 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 우선순위 목록 |
| | | function getPriorities() { |
| | | var deferred = $q.defer(); |
| | | |
| | | Priority.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.priorities = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // 우선순위 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 중요도 목록 |
| | | function getSeverities() { |
| | | var deferred = $q.defer(); |
| | | |
| | | Severity.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.severities = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToCriticalListLookup"), result.data.message.message, "error"); // 중요도 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 |
| | | function getIssueTypeCustomFields() { |
| | | $scope.vm.form.issueCustomFields = []; |
| | | // 이슈 타입 아이디나 프로젝트 아이디가 없으면 통신을 하지 않는다. |
| | | if (!$rootScope.isDefined($scope.vm.form.issueTypeId) || $scope.vm.form.projects.length < 1) { |
| | | return; |
| | | } |
| | | // 이슈 유형 템플릿 적용하기 |
| | | $scope.fn.setIssueTypeTemplate(); |
| | | |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueTypeCustomField.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id, issueTypeId : $scope.vm.form.issueTypeId}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | |
| | | angular.forEach(result.data.data, function (issueTypeCustomField) { |
| | | switch (issueTypeCustomField.customFieldVo.customFieldType) { |
| | | case "INPUT" : |
| | | issueTypeCustomField.useValues = issueTypeCustomField.customFieldVo.defaultValue; |
| | | break; |
| | | case "SINGLE_SELECT" : |
| | | issueTypeCustomField.useValues = issueTypeCustomField.customFieldVo.defaultValue.replace("#", ""); |
| | | break; |
| | | |
| | | case "MULTI_SELECT" : |
| | | issueTypeCustomField.useValues = []; |
| | | |
| | | angular.forEach(issueTypeCustomField.customFieldVo.defaultValue.split("#"), function (value) { |
| | | if ($rootScope.isDefined(value)) { |
| | | issueTypeCustomField.useValues.push({ |
| | | value : value |
| | | }); |
| | | } |
| | | }); |
| | | break; |
| | | } |
| | | |
| | | $scope.vm.form.issueCustomFields.push(issueTypeCustomField); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToUserDefinedFieldListAssociatedLookup"), result.data.message.message, "error"); // 이슈 유형에 연결된 사용자 정의 필드 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 타입에 있는 템플릿을 적용한다. |
| | | function setIssueTypeTemplate() { |
| | | for (var count in $scope.vm.issueTypes) { |
| | | var issueType = $scope.vm.issueTypes[count]; |
| | | |
| | | if ($scope.vm.form.issueTypeId === String(issueType.id)) { |
| | | // 템플릿이 작성되어 있는지 확인 |
| | | if ($rootScope.isDefined(issueType.description)) { |
| | | // 이슈 내용이 작성되어 있지 않으면 바로 템플릿 적용 |
| | | if (!$rootScope.isDefined($scope.vm.form.description)) { |
| | | $scope.vm.form.description = issueType.description; |
| | | } |
| | | else { |
| | | // 이미 내용이 작성되어 있으면 확인 후 적용 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.applyTemplate"), // 템플릿 적용하기 |
| | | text : $filter("translate")("issue.issueContentIsWrittenApplyTheTemplate"), // 이슈 내용이 작성되어 있습니다. 템플릿을 적용하겠습니까? 템플릿이 적용되면 이미 작성된 내용이 사라집니다. |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("issue.applyTemplate"), // 템플릿 적용하기 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $scope.vm.form.description = issueType.description; |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 최초 실행 |
| | | function startExecute() { |
| | | var promises = { |
| | | getIssueTypes : $scope.fn.getIssueTypes(), |
| | | getPriorities : $scope.fn.getPriorities(), |
| | | getSeverities : $scope.fn.getSeverities() |
| | | }; |
| | | $q.all(promises).then(function (results) { |
| | | // 현재 프로젝트 설정 |
| | | if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { |
| | | $scope.vm.projectName = $rootScope.workProject.name; |
| | | $scope.fn.projects = []; |
| | | $scope.fn.projects.push($rootScope.workProject); |
| | | $scope.fn.getProjectList($scope.vm.projectName, $scope.vm.form.projects, $scope.vm.autoCompletePage.project.page, getStartProjectListCallback); |
| | | } |
| | | |
| | | $log.debug("promises 결과 ", results); |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2019-02-07. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueAddTableConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', 'IssueTableConfig', 'CustomField', '$q', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, IssueTableConfig, CustomField, $q, $filter) { |
| | | |
| | | // 함수 모음 |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getCustomFields : getCustomFields, // 사용자 정의 필드 목록을 가져온다. |
| | | getIssueTableConfigs : getIssueTableConfigs // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | }; |
| | | |
| | | // 변수 모음 |
| | | $scope.vm = { |
| | | issueTableConfigs : [{ |
| | | name : $filter("translate")("common.priority"), // 우선순위 |
| | | key : "PRIORITY", |
| | | width : "width-100-p", |
| | | position : 1, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.importance"), // 중요도 |
| | | key : "SEVERITY", |
| | | width : "width-80-p", |
| | | position : 2, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("issue.issueType"), // 이슈 타입 |
| | | key : "ISSUE_TYPE", |
| | | width : "width-140-p", |
| | | position : 3, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.assignee"), // 담당자 |
| | | key : "ASSIGNEE", |
| | | width : "width-100-p", |
| | | position : 4, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.register"), // 등록자 |
| | | key : "REGISTER", |
| | | width : "width-100-p", |
| | | position : 5, |
| | | display : false |
| | | }, { |
| | | name : $filter("translate")("common.period"), // 기간 |
| | | key : "PERIOD", |
| | | width : "width-140-p", |
| | | position : 6, |
| | | display : false |
| | | }, { |
| | | name : $filter("translate")("common.lastChangeDate"), // 최근 변경일 |
| | | key : "MODIFY_DATE", |
| | | width : "width-100-p", |
| | | position : 7, |
| | | display : false |
| | | }] |
| | | }; |
| | | |
| | | |
| | | // 폼 전송 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | issueTableConfigs : JSON.stringify($scope.vm.issueTableConfigs) |
| | | }; |
| | | |
| | | IssueTableConfig.add($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | SweetAlert.success($filter("translate")("issue.completedSavingIssueTable"), $filter("translate")("issue.saveIssueTableSettingsInformation")); // "이슈 테이블 설정 저장 완료", "이슈 테이블 설정 정보가 저장되었습니다." |
| | | // 변경된 이슈 테이블 정보를 이슈 목록 테이블에 갱신한다. |
| | | $rootScope.$broadcast("getIssueTableConfigs", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToSaveIssueTableSetting"), result.data.message.message); // 이슈 테이블 설정 저장 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록을 가져온다. |
| | | function getCustomFields() { |
| | | var deferred = $q.defer(); |
| | | |
| | | CustomField.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status !== "success") { |
| | | SweetAlert.error($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message); // 사용자 정의 필드 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | function getIssueTableConfigs() { |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueTableConfig.detail($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status !== "success") { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // 이슈 테이블 컬럼 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 정의 필드를 조회한 후 표시할 이슈 테이블 컬럼을 준비한다. |
| | | $scope.fn.getCustomFields().then(function (result) { |
| | | var count = 7; |
| | | angular.forEach(result, function (customField) { |
| | | $scope.vm.issueTableConfigs.push({ |
| | | name : customField.name, |
| | | key : "CUSTOM_FIELD_" + customField.id, |
| | | width : "width-100-p", |
| | | display : false, |
| | | position : count |
| | | }); |
| | | |
| | | count++; |
| | | }); |
| | | |
| | | // 이슈 목록 테이블 설정 정보를 가져온다. |
| | | $scope.fn.getIssueTableConfigs().then(function (issueTableConfigs) { |
| | | if ($rootScope.isDefined(issueTableConfigs)) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var saveTableConfigs = JSON.parse(issueTableConfigs); |
| | | |
| | | angular.forEach(saveTableConfigs, function (saveTableConfig) { |
| | | |
| | | for (var count in $scope.vm.issueTableConfigs) { |
| | | var issueTableConfig = $scope.vm.issueTableConfigs[count]; |
| | | |
| | | if (issueTableConfig.key === saveTableConfig.key) { |
| | | issueTableConfig.display = saveTableConfig.display; |
| | | issueTableConfig.width = saveTableConfig.width; |
| | | issueTableConfig.position = saveTableConfig.position; |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | $rootScope.spinner = false; |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-03. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'SweetAlert', '$timeout', 'Issue', 'IssueComment', 'IssueRelation', 'AttachedFile', 'IssueStatus', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, SweetAlert, $timeout, Issue, IssueComment, IssueRelation, AttachedFile, IssueStatus, $filter) { |
| | | |
| | | // IssueListController vm, fn 변수 상속. |
| | | |
| | | $scope.fn.getIssueDetail = getIssueDetail; // 이슈 상세 정보 가져오기 |
| | | $scope.fn.addComment = addComment; // 댓글 등록 |
| | | $scope.fn.removeComment = removeComment; // 댓글 삭제 |
| | | $scope.fn.getCommentList = getCommentList; // 댓글 목록 가져오기 |
| | | $scope.fn.getAttachedFiles = getAttachedFiles; // 첨부 파일 목록 |
| | | $scope.fn.makePreviewImages = makePreviewImages; // 이슈 이미지 미리보기 만들기 |
| | | $scope.fn.makeActiveHistory = makeActiveHistory; // 활동 이력 만들기 |
| | | $scope.fn.setFormByIssueTypeCustomFields = setFormByIssueTypeCustomFields; // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | $scope.fn.setUseValueByIssueTypeCustomFields = setUseValueByIssueTypeCustomFields; // 이슈에서 사용자가 선택한 사용자 정의 필드 값을 입력 폼에 셋팅한다. |
| | | $scope.fn.updateActiveHistory = updateActiveHistory; // 활동 내역에서 전체 보기 탭을 눌렀을 때 댓글, 기록 정보를 업데이트 한다. |
| | | $scope.fn.getChangeIssueStatusList = getChangeIssueStatusList; // 이슈의 현재 상태에서 변경 가능한 이슈 샅태 목록 가져오기 |
| | | $scope.fn.modifyIssueStatus = modifyIssueStatus; // 이슈 상태 변경 |
| | | $scope.fn.modifyIssueUser = modifyIssueUser; // 이슈 담당자 변경 |
| | | $scope.fn.initReload = initReload; // 초기화 해야할 할목을 지정하여 다른 이슈를 클릭할 때 초기화해준다. |
| | | $scope.fn.sendMail = sendMail; // 특정 사용자에게 이슈 정보를 메일로 발송 |
| | | $scope.fn.versionView = versionView; // 버전 정보를 표시한다. |
| | | $scope.fn.reservation = reservation; // 예약 정보를 확인 및 변경 한다. |
| | | $scope.fn.getIssueListCallBack = getIssueListCallBack; |
| | | $scope.fn.addRelationIssue = addRelationIssue; // 연관 이슈 추가 |
| | | |
| | | |
| | | // 이슈 목록 컨트롤러 vm, fn 상속 중 |
| | | $scope.vm.viewer = {}; |
| | | $scope.vm.images = []; // 첨부된 파일 중 이미지 파일 |
| | | $scope.vm.activeTab = "ALL"; // 활동 내역 탭 |
| | | // 이슈 상태 변경 표시 여부 |
| | | $scope.vm.editor = { |
| | | issueStatus : false |
| | | }; |
| | | // 변경 가능한 이슈 상태 목록 |
| | | $scope.vm.issueForm = { |
| | | issueStatusList : [], |
| | | issueStatusId : "" |
| | | }; |
| | | |
| | | // 연관 일감 관련 |
| | | $scope.vm.relationIssueTypes = |
| | | [ |
| | | { id: 0, name: $filter("translate")("issue.relationIssueType1") }, |
| | | { id: 1, name: $filter("translate")("issue.relationIssueType2") }, |
| | | { id: 2, name: $filter("translate")("issue.relationIssueType3") }, |
| | | { id: 3, name: $filter("translate")("issue.relationIssueType4") }, |
| | | { id: 4, name: $filter("translate")("issue.relationIssueType5") }, |
| | | { id: 5, name: $filter("translate")("issue.relationIssueType6") } |
| | | ]; |
| | | $scope.vm.relationIssueType = $scope.vm.relationIssueTypes[0]; |
| | | |
| | | $scope.vm.form = { |
| | | issues : [] |
| | | }; |
| | | |
| | | $scope.vm.issueName = ""; |
| | | $scope.vm.autoCompletePage = { |
| | | issue : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | }; |
| | | |
| | | $scope.vm.relResponseData = []; |
| | | $scope.vm.relTableConfigs = []; |
| | | // 테이블 이벤트 |
| | | $scope.relTableEvent = { |
| | | removeRelationIssue : removeRelationIssue, // 연관 일감 삭제 |
| | | changeDetailView : changeDetailView |
| | | }; |
| | | |
| | | function changeDetailView(issue) { |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | // $rootScope.$broadcast("makeIssueSearch", issue); |
| | | $scope.$parent.tableEvent.changeDetailView(issue.id); |
| | | } |
| | | |
| | | // 연관 일감 삭제 |
| | | function removeRelationIssue(id) { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.relationIssueRemove"), // 연관 일감 삭제 |
| | | text : $filter("translate")("issue.wantToDeleteSelectIssue"), |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // 삭제 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var contents = { |
| | | id : id |
| | | }; |
| | | |
| | | IssueRelation.delete($resourceProvider.getContent( |
| | | contents, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.getIssueDetail(); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueDeleteIssueRelation"), result.data.message.message); // "연관일감 삭제 실패" |
| | | } |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | |
| | | } |
| | | |
| | | // 프로젝트 autocomplete page 업데이트 |
| | | function getIssueListCallBack(result) { |
| | | $scope.vm.autoCompletePage.issue.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 이슈 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.relTableConfigs = []; |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueType") |
| | | .setDType("renderer") |
| | | .setHWidth("width-30 bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_RELATION_TYPE")) |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueTitle") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60 bold") |
| | | .setHSort(false) |
| | | .setDRenderer("ISSUE_RELATION_MOVE")) |
| | | $scope.vm.relTableConfigs.push($tableProvider.config() |
| | | .setHName("issue.relationIssueDelete") |
| | | .setDType("renderer") |
| | | .setHWidth("width-10 bold") |
| | | .setDRenderer("ISSUE_RELATION_DELETE") |
| | | .setHSort(false) |
| | | .setDAlign("text-center")) |
| | | } |
| | | |
| | | // 연관 일감 목록 가져오기 |
| | | // function getRelationIssueList() { |
| | | // var contents = { |
| | | // issueId : $rootScope.currentDetailIssueId, |
| | | // }; |
| | | // |
| | | // IssueRelation.find($resourceProvider.getContent( |
| | | // contents, |
| | | // $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | // |
| | | // if (result.data.message.status === "success") { |
| | | // $scope.vm.relResponseData = result.data; |
| | | // } |
| | | // else { |
| | | // SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueRelation"), result.data.message.message); // "연관일감 생성 실패" |
| | | // } |
| | | // }); |
| | | // } |
| | | |
| | | |
| | | // 연관 이슈 추가 |
| | | function addRelationIssue() { |
| | | if ($scope.vm.issueName.length == 0 || $scope.vm.form.issues.length == 0 |
| | | || $scope.vm.issueName != $scope.vm.form.issues[0].title) { |
| | | SweetAlert.error($filter("translate")("issue.errorSelectRelationIssue"), ""); |
| | | return; |
| | | } |
| | | |
| | | var contents = { |
| | | relationIssueType : $scope.vm.relationIssueType.id, |
| | | issueId : $rootScope.currentDetailIssueId, |
| | | relationIssueId : $scope.vm.form.issues[0].id |
| | | }; |
| | | |
| | | IssueRelation.add($resourceProvider.getContent( |
| | | contents, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.getIssueDetail(); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueAddIssueRelation"), result.data.message.message); // "연관일감 생성 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 이슈명을 클릭하면 이슈 상세 정보를 조회한다. |
| | | $scope.$on("getIssueDetail", function (event, args) { |
| | | $scope.vm.viewer.id = args["id"]; |
| | | $scope.fn.getIssueDetail(); |
| | | }); |
| | | |
| | | // 초기화 해야할 할목을 지정하여 다른 이슈를 클릭할 때 초기화해준다. |
| | | function initReload() { |
| | | $scope.vm.editor.issueStatus = false; |
| | | $scope.vm.issueForm.issueStatusList = []; |
| | | $scope.vm.issueForm.issueStatusId = ""; |
| | | if ($scope.$root.$$phase !== '$apply' && $scope.$root.$$phase !== '$digest') { |
| | | $scope.$apply(); |
| | | } |
| | | } |
| | | |
| | | // 이슈 상태 변경 |
| | | function modifyIssueStatus() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueModifyStatus.html', |
| | | size : "md", |
| | | controller : 'issueModifyStatusController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | issueIds : [$scope.vm.viewer.id] |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 담당자 변경 |
| | | function modifyIssueUser() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueModifyUser.html', |
| | | size : "md", |
| | | controller : 'issueModifyUserController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | userVos : [$scope.vm.form.issues[0].userVos], |
| | | id : [$scope.vm.form.issues[0].id], |
| | | projectId : [$scope.vm.form.issues[0].projectVo.id], |
| | | project : [$scope.vm.form.issues[0].projectVo] |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 변경 가능한 이슈 상태 목록을 조회하고 수정 모드로 화면을 변경한다. |
| | | function getChangeIssueStatusList(checkPermission) { |
| | | // 수정 권한이 없으면 이슈 상태 변경 불가 |
| | | if (!checkPermission) { |
| | | return; |
| | | } |
| | | |
| | | // 수정 모드로 변경 |
| | | $scope.vm.editor.issueStatus = true; |
| | | |
| | | var content = { |
| | | id : $scope.vm.viewer.issueStatusVo.id, |
| | | issueTypeId : $scope.vm.viewer.issueTypeVo.id |
| | | }; |
| | | |
| | | IssueStatus.findNextIssueStatus($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueForm.issueStatusList = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.errorRemovableIssueStatusList"), result.data.message.message, "error"); // "이동 가능한 이슈 상태 목록 조회 오류" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 상세 정보 조회 |
| | | function getIssueDetail() { |
| | | // 초기화 해야할 할목을 지정하여 다른 이슈를 클릭할 때 초기화해준다. |
| | | $scope.fn.initReload(); |
| | | |
| | | Issue.detail($resourceProvider.getContent( |
| | | {id : $scope.vm.viewer.id, deep : "02"}, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.data)) { |
| | | $scope.vm.viewer = angular.copy(result.data.data); |
| | | // 이슈 이미지 미리 보기 만들기 |
| | | $scope.fn.makePreviewImages(result.data.data.attachedFileVos); |
| | | // 활동 이력 만들기 |
| | | $scope.fn.makeActiveHistory(); |
| | | |
| | | $scope.vm.viewer.startDate = result.data.data.startDate == null ? "common.unspecified" : result.data.data.startDate; // 미지정 |
| | | $scope.vm.viewer.completeDate = result.data.data.completeDate == null ? "common.unspecified" : result.data.data.completeDate; // 미지정 |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | $scope.fn.setFormByIssueTypeCustomFields(result.data.data.issueTypeCustomFieldVos); |
| | | // 이슈에서 사용자가 선택한 사용자 정의 필드 값을 입력 폼에 셋팅한다. |
| | | $scope.fn.setUseValueByIssueTypeCustomFields(result.data.data.issueCustomFieldValueVos); |
| | | |
| | | |
| | | // 연관 일감 |
| | | $scope.vm.issueName = ""; |
| | | $scope.vm.form.issues = []; |
| | | $scope.vm.form.issues.push(result.data.data); |
| | | |
| | | makeTableConfigs(); |
| | | angular.forEach(result.data.data.issueRelationVos, function (issueRelationVo){ |
| | | issueRelationVo.relationIssueTypeName = $scope.vm.relationIssueTypes[issueRelationVo.relationIssueType].name; |
| | | $scope.vm.form.issues.push(issueRelationVo.issueRelation); |
| | | }); |
| | | |
| | | $scope.vm.viewer.issueRelationVos = result.data.data.issueRelationVos; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.errorIssueDetails"), result.data.message.message, "error"); // 이슈 상세 정보 조회 오류 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 이미지 미리 보기 만들기 |
| | | function makePreviewImages(attachedFileVos) { |
| | | // 미리보기 이미지 초기화 |
| | | $scope.vm.images = []; |
| | | |
| | | angular.forEach(attachedFileVos, function (attachedFileVo, $index) { |
| | | if (attachedFileVo.contentType.indexOf("image") !== -1) { |
| | | $scope.vm.images.push({ |
| | | id : $index, |
| | | title : attachedFileVo.name, |
| | | alt : attachedFileVo.name, |
| | | thumbUrl : attachedFileVo.path.replace(/\\/gi, "/"), |
| | | url : attachedFileVo.path.replace(/\\/gi, "/") |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | function setFormByIssueTypeCustomFields(issueTypeCustomFields) { |
| | | $scope.vm.viewer.issueCustomFields = []; |
| | | |
| | | angular.forEach(issueTypeCustomFields, function (issueTypeCustomField) { |
| | | switch (issueTypeCustomField.customFieldVo.customFieldType) { |
| | | case "INPUT" : |
| | | case "SINGLE_SELECT" : |
| | | issueTypeCustomField.useValues = ""; |
| | | break; |
| | | |
| | | case "MULTI_SELECT" : |
| | | issueTypeCustomField.useValues = []; |
| | | break; |
| | | } |
| | | |
| | | $scope.vm.viewer.issueCustomFields.push(issueTypeCustomField); |
| | | }); |
| | | } |
| | | |
| | | // 이슈에서 사용자가 선택한 사용자 정의 필드 값을 입력 폼에 셋팅한다. |
| | | function setUseValueByIssueTypeCustomFields(issueCustomFieldValues) { |
| | | angular.forEach(issueCustomFieldValues, function (issueCustomFieldValue) { |
| | | for (var count in $scope.vm.viewer.issueCustomFields) { |
| | | var issueCustomField = $scope.vm.viewer.issueCustomFields[count]; |
| | | |
| | | if (issueCustomField.customFieldVo.id === issueCustomFieldValue.customFieldVo.id) { |
| | | // 멀티셀렉트 일때 |
| | | if (angular.isArray(issueCustomField.useValues)) { |
| | | issueCustomField.useValues.push({ |
| | | value : issueCustomFieldValue.useValue |
| | | }); |
| | | } |
| | | else { |
| | | issueCustomField.useValues = issueCustomFieldValue.useValue; |
| | | } |
| | | |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function updateActiveHistory() { |
| | | $scope.vm.activeTab = 'ALL'; |
| | | $scope.fn.makeActiveHistory(); |
| | | } |
| | | |
| | | // 활동 이력 만들기 |
| | | function makeActiveHistory() { |
| | | $scope.vm.viewer.activeHistory = $scope.vm.viewer.issueCommentVos.concat($scope.vm.viewer.issueHistoryVos); |
| | | $scope.vm.viewer.activeHistory.sort(function (a, b) { |
| | | return a.registerDate > b.registerDate ? -1 : a.registerDate < b.registerDate ? 1 : 0; |
| | | }); |
| | | } |
| | | |
| | | // 댓글 등록하기 |
| | | function addComment() { |
| | | var content = { |
| | | issueId : $scope.vm.viewer.id, |
| | | description : $rootScope.preventXss($scope.vm.viewer.comment) |
| | | }; |
| | | |
| | | IssueComment.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.viewer.comment = ""; |
| | | $scope.fn.getCommentList(); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToRegisterComments"), result.data.message.message); // 댓글 등록 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 댓글 삭제 |
| | | function removeComment(comment) { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.deleteComments"), // "댓글 삭제" |
| | | text : $filter("translate")("issue.wantToDeleteTheSelectedComments"), // "선택한 댓글을 삭제하겠습니까? 삭제된 댓글은 복구할 수 없습니다." |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // "삭제" |
| | | cancelButtonText : $filter("translate")("common.cancel"), // "취소" |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | IssueComment.remove($resourceProvider.getContent( |
| | | {removeIds : [comment.id]}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $timeout(function () { |
| | | SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공 |
| | | }, 100); |
| | | |
| | | $scope.fn.getCommentList(); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error($filter("translate")("issue.failedToDeleteComments"), result.data.message.message); // "댓글 삭제 실패" |
| | | }, 100); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 댓글 목록 가져오기 |
| | | function getCommentList() { |
| | | IssueComment.find($resourceProvider.getContent( |
| | | {issueId : $scope.vm.viewer.id}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.viewer.issueCommentVos = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.failedToGetCommentListData"), // "댓글 목록 데이터 가져오기 실패" |
| | | text : result.message.message, |
| | | type : "error" |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 첨부 파일 목록 |
| | | function getAttachedFiles() { |
| | | var content = { |
| | | issueId : $scope.vm.viewer.id |
| | | }; |
| | | |
| | | AttachedFile.find($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.viewer.attachedFileVos = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToAttachmentList"), result.message.message); // "첨부 파일 목록 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 특정 사용자에게 이슈를 메일로 발송 |
| | | function sendMail(issueId, projectId) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueSendMail.html', |
| | | size : "md", |
| | | controller : 'issueSendMailController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | issueId : issueId, |
| | | projectId : projectId |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 변경 정보를 확인한다. |
| | | function versionView(issueId) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueVersionView.html', |
| | | size : "lg", |
| | | controller : 'issueVersionViewController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | issueId : issueId |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 예약 정보를 확인 및 변경 한다. |
| | | function reservation(issueId) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueReservation.html', |
| | | size : "sm", |
| | | controller : 'issueReservationController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | issueId : issueId |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-17. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueImportExcelController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', '$controller', '$tableProvider', 'Issue', 'IssueType', 'SweetAlert', '$filter', '$timeout', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, Issue, IssueType, SweetAlert, $filter, $timeout) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getIssueTypes : getIssueTypes, // 이슈 타입 목록 가져오기 |
| | | makeSearchConditions : makeSearchConditions, // 선택한 조건을 json 으로 만든다. |
| | | onFileSelect : onFileSelect // 파일 업로드 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | projects : [], // 선택한 프로젝트 |
| | | issueTypeId : "", // 이슈 타입 아이디 |
| | | issueTypes : [], // 이슈 유형 전체 목록 |
| | | file : "", // 업로드하는 Excel File |
| | | fileName : "" |
| | | }, |
| | | projectName : "", |
| | | autoCompletePage : { |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | tab : "VIDEO" |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 이슈 유형 목록 |
| | | function getIssueTypes() { |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueTypes = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message); // "이슈 타입 목록 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 선택한 조건을 json 으로 만든다. |
| | | function makeSearchConditions() { |
| | | return { |
| | | projectId : (function () { |
| | | var projectId = ""; |
| | | |
| | | angular.forEach($scope.vm.form.projects, function (project) { |
| | | projectId = project.id; |
| | | }); |
| | | |
| | | return projectId; |
| | | })(), |
| | | issueTypeId : $scope.vm.form.issueTypeId |
| | | }; |
| | | } |
| | | |
| | | // 파일 업로드 |
| | | function onFileSelect($files) { |
| | | $scope.vm.form.file = $files; |
| | | |
| | | if ($files.length > 0) { |
| | | $scope.vm.form.fileName = $files[0].name; |
| | | } |
| | | else { |
| | | $scope.vm.form.fileName = ""; |
| | | } |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck() { |
| | | if ($scope.vm.form.file.length < 1) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | Issue.importExcel({ |
| | | method : "POST", |
| | | file : $scope.vm.form.file, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : {} |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | |
| | | $timeout(function () { |
| | | SweetAlert.success($filter("translate")("issue.succeededIssueRegistration"), result.data.message.message); // 이슈 등록 성공 |
| | | $scope.fn.cancel(); |
| | | $rootScope.$broadcast("getIssueList"); |
| | | }, 1000); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueRegistration"), result.data.message.message); // 이슈 등록 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | } |
| | | |
| | | // 이슈 유형 조회 |
| | | $scope.fn.getIssueTypes(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', '$q', |
| | | '$controller', '$injector', 'SweetAlert', 'Issue', 'IssueType', 'Priority', 'Severity', 'IssueStatus', 'CustomField', 'IssueSearch', 'IssueTableConfig', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, $q, $controller, $injector, SweetAlert, Issue, IssueType, Priority, Severity, IssueStatus, CustomField, |
| | | IssueSearch, IssueTableConfig, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | changePageRowCount : changePageRowCount, // 페이지 변경 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | setTableColumn : setTableColumn, // 테이블의 컬럼을 만들어준다. |
| | | add : add, // 이슈 생성 |
| | | modify : modify, // 이슈 수정 |
| | | modifyMultiIssueStatus : modifyMultiIssueStatus, // 이슈 다중 상태 변경 |
| | | removes : removes, // 이슈 삭제 |
| | | addIssueTableConfig : addIssueTableConfig, // 이슈 목록 테이블 설정 |
| | | listView : listView, // 목록 화면으로 변경 |
| | | importExcel : importExcel, // 엑셀 import 기능 팝업 호출 |
| | | getIssueTypes : getIssueTypes, // 이슈 유형 목록을 가져온다. |
| | | getPriorities : getPriorities, // 우선순위 목록을 가져온다. |
| | | getSeverities : getSeverities, // 중요도 목록을 가져온다. |
| | | getIssueStatuses : getIssueStatuses, // 이슈 상태 목록을 가져온다. |
| | | getCustomFields : getCustomFields, // 사용자 정의 필드 목록을 가져온다. |
| | | makeVmSearchObject : makeVmSearchObject, // 검색 조건을 기억한다. |
| | | getVmSearchObject : getVmSearchObject, // 저장한 검색 조건을 가져와서 vm 에 셋팅한다. |
| | | makeSearchConditions : makeSearchConditions, // 검색 조건을 만든다. |
| | | getIssueTableConfigs : getIssueTableConfigs, // 사용자 이슈 목록 테이블 설정 값을 가져와서 적용한다. |
| | | startExecute : startExecute // 컨트롤 로딩시 처음으로 시작되는 함수 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | | combinationIssueNumber : "", // 이슈 번호 |
| | | projectType : "BTS_PROJECT", // 프로젝트 유형 |
| | | registerDateRange : "", // 등록일 기간 검색 |
| | | startDateRange : "", // 시작일 기간 검색 |
| | | completeDateRange : "", // 완료일 기간 검색 |
| | | severityIds : [], // 중요도 검색 |
| | | priorityIds : [], // 우선순위 검색 |
| | | issueStatusIds : [], // 이슈 상태 검색 |
| | | issueTypeIds : [] // 이슈 유형 검색 |
| | | }, |
| | | searchView : false, // 상세 검색 조건 표시 여부 |
| | | detailView : false, // 상세 모드 변경 값 |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], // 테이블 셋팅 정보 |
| | | responseData : { |
| | | data : [] |
| | | }, |
| | | projectName : "", // 프로젝트 검색 |
| | | userName : "", // 담당자 검색 |
| | | registerName : "", // 등록자 검색 |
| | | projects : [], // 프로젝트 |
| | | issueStatuses : [], // 이슈 상태 |
| | | issueTypes : [], // 이슈 유형 |
| | | priorities : [], // 우선 순위 |
| | | severities : [], // 중요도 |
| | | users : [], // 담당자 |
| | | registers : [], // 등록자 |
| | | customFields : [], // 사용자 정의 필드 |
| | | issueTableConfigs : [] // 이슈 테이블 설정 |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | changeDetailView : changeDetailView // 상세 화면으로 변경 |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 이슈 목록 데이터 갱신 |
| | | $scope.$on("getIssueList", function () { |
| | | $scope.fn.getPageList($scope.vm.page.selectedPage - 1); |
| | | }); |
| | | |
| | | // 이슈 테이블 설정 정보 갱신 |
| | | $scope.$on("getIssueTableConfigs", function () { |
| | | $scope.fn.startExecute(); |
| | | }); |
| | | |
| | | // 검색 조건을 기억한다. - 적용 보류 |
| | | function makeVmSearchObject() { |
| | | var content = { |
| | | conditions : JSON.stringify({ |
| | | search : $scope.vm.search, |
| | | projects : $scope.vm.projects, |
| | | users : $scope.vm.users, |
| | | registers : $scope.vm.registers |
| | | }) |
| | | }; |
| | | |
| | | IssueSearch.add($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToSaveFieldConditions"), result.data.message.message); // 검색 필드 조건 저장 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 서버에 저장한 이슈 검색 조건을 가져온다. |
| | | function getVmSearchObject() { |
| | | IssueSearch.detail($resourceProvider.getContent({}, $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | var issueListSearchObject = JSON.parse(result.data.data); |
| | | // 이슈 번호만 적용한다. - 삭제시 처리방법때문에 다른 속성은 적용 보류 |
| | | $scope.vm.search = issueListSearchObject.search; |
| | | /*$scope.vm.users = issueListSearchObject.users; |
| | | $scope.vm.projects = issueListSearchObject.projects; |
| | | $scope.vm.registers = issueListSearchObject.registers;*/ |
| | | |
| | | $scope.fn.getPageList(0, true); |
| | | } else { |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToGetSearchFieldCondition"), result.data.message.message); // 검색 필드 조건 가져오기 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 상세 화면으로 변경한다. |
| | | function changeDetailView(id) { |
| | | $scope.vm.tableConfigs = []; |
| | | $scope.vm.detailView = true; |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | |
| | | // chrome 에서 마우스 떠난걸 감지 못해서 이벤트 추가. |
| | | $(".full-height-scroll").trigger("mouseleave"); |
| | | // 테이블을 다시 그릴수 있게 데이터 바인딩을 다시한다. |
| | | var temp = angular.copy($scope.vm.responseData.data); |
| | | $scope.vm.responseData.data = angular.copy(temp); |
| | | // 현재 상세화면으로 보려고하는 이슈 id를 기억한다. |
| | | $rootScope.currentDetailIssueId = id; |
| | | // 이슈 상세 화면 요청 |
| | | $rootScope.$broadcast("getIssueDetail", { |
| | | id : id |
| | | }); |
| | | } |
| | | |
| | | // 목록 화면으로 변경한다. |
| | | function listView() { |
| | | $scope.vm.detailView = false; |
| | | // 이슈 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | var temp = angular.copy($scope.vm.responseData.data); |
| | | $scope.vm.responseData.data = angular.copy(temp); |
| | | // 마지막으로 보고있던 이슈 id를 초기화한다. |
| | | $rootScope.currentDetailIssueId = null; |
| | | } |
| | | |
| | | // 이슈 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setDType("checkbox") |
| | | .setHWidth("width-20-p") |
| | | .setDAlign("text-center")); |
| | | |
| | | // 상세형 일때때 |
| | | if ($scope.vm.detailView) { |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("issue.issueTitle") |
| | | .setDName("title") |
| | | .setDType("renderer") |
| | | .setHWidth("width-100 bold") |
| | | .setDRenderer("ISSUE_DETAIL_FLOATING")); |
| | | } |
| | | else { |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("issue.issueTitle") |
| | | .setDName("title") |
| | | .setDType("renderer") |
| | | .setHWidth("bold") |
| | | .setDRenderer("ISSUE_DETAIL_FLOATING")); |
| | | |
| | | angular.forEach($scope.vm.issueTableConfigs, function (issueTableConfig) { |
| | | // 표시 대상인 컬럼만 화면에 그려준다. |
| | | if (issueTableConfig.display) { |
| | | // 테이블의 컬럼을 만들어준다. |
| | | $scope.fn.setTableColumn(issueTableConfig); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // 테이블의 컬럼을 만들어준다. |
| | | function setTableColumn(issueTableConfig) { |
| | | |
| | | // 일반 컬럼 |
| | | switch(issueTableConfig.key) { |
| | | case "PRIORITY" : // 우선순위 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.priority") |
| | | .setDName("priorityName") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_PRIORITY")); |
| | | break; |
| | | case "SEVERITY" : // 중요도 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.importance") |
| | | .setDName("severityName") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_SEVERITY")); |
| | | break; |
| | | case "ISSUE_TYPE" : // 이슈 타입 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("issue.issueType") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDName("issueTypeName")); |
| | | break; |
| | | case "ASSIGNEE" : // 담당자 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.assignee") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("ISSUE_USER")); |
| | | break; |
| | | case "REGISTER" : // 등록자 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.register") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("REGISTER")); |
| | | break; |
| | | case "PERIOD" : // 기간 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.period") |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDRenderer("ISSUE_DUE_DATE")); |
| | | break; |
| | | case "MODIFY_DATE" : // 최근 변경일 |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.lastChangeDate") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setDName("modifyDate")); |
| | | break; |
| | | } |
| | | |
| | | // 사용자 정의 필드 컬럼 |
| | | if (issueTableConfig.key.indexOf("CUSTOM_FIELD_") !== -1) { |
| | | // 만약 이슈 테이블 컬럼명이 표시되지 않으면 이쪽이 문제 |
| | | for (var count in $scope.vm.customFields) { |
| | | var customField = $scope.vm.customFields[count]; |
| | | |
| | | if (customField.id === Number(issueTableConfig.key.substring(13))) { |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName(customField.name) |
| | | .setDType("renderer") |
| | | .setHWidth("bold " + issueTableConfig.width) |
| | | .setDAlign("text-center") |
| | | .setColumnHint(customField) |
| | | .setDRenderer("ISSUE_CUSTOM_FIELD_VALUE_VIEW")); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 검색 필드 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | /*IssueSearch.remove($resourceProvider.getContent({screen : "ISSUE_LIST"}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | else { |
| | | SweetAlert.swal("검색 필드 초기화 실패", result.data.message.message, "error"); |
| | | } |
| | | });*/ |
| | | } |
| | | |
| | | // 이슈 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | var conditions = { |
| | | title : $scope.vm.search.title, |
| | | description : $scope.vm.search.description, |
| | | projectType : $scope.vm.search.projectType, |
| | | combinationIssueNumber : $scope.vm.search.combinationIssueNumber.trim(), |
| | | beginRegisterDate : "", |
| | | endRegisterDate : "", |
| | | beginStartDate : "", |
| | | endStartDate : "", |
| | | beginCompleteDate : "", |
| | | endCompleteDate : "", |
| | | projectIds : (function () { |
| | | var projectIds = []; |
| | | |
| | | angular.forEach($scope.vm.projects, function (project) { |
| | | projectIds.push(project.id); |
| | | }); |
| | | |
| | | return projectIds; |
| | | })(), |
| | | issueStatusIds : (function () { |
| | | var issueStatusIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.issueStatusIds, function (issueStatusId) { |
| | | issueStatusIds.push(issueStatusId.fieldKey); |
| | | }); |
| | | |
| | | return issueStatusIds; |
| | | })(), |
| | | issueTypeIds : (function () { |
| | | var issueTypeIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.issueTypeIds, function (issueTypeId) { |
| | | issueTypeIds.push(issueTypeId.fieldKey); |
| | | }); |
| | | |
| | | return issueTypeIds; |
| | | })(), |
| | | priorityIds : (function () { |
| | | var priorityIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.priorityIds, function (priorityId) { |
| | | priorityIds.push(priorityId.fieldKey); |
| | | }); |
| | | |
| | | return priorityIds; |
| | | })(), |
| | | severityIds : (function () { |
| | | var severityIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.severityIds, function (severityId) { |
| | | severityIds.push(severityId.fieldKey); |
| | | }); |
| | | |
| | | return severityIds; |
| | | })(), |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | registerIds : (function () { |
| | | var registerIds = []; |
| | | |
| | | angular.forEach($scope.vm.registers, function (register) { |
| | | registerIds.push(register.id); |
| | | }); |
| | | |
| | | return registerIds; |
| | | })(), |
| | | issueCustomFields : (function () { |
| | | var issueCustomFields = []; |
| | | |
| | | angular.forEach($scope.vm.customFields, function (customField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(customField.useValues)) { |
| | | angular.forEach(customField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(customField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(customField); |
| | | temp.useValues = useValues; |
| | | issueCustomFields.push(temp); |
| | | }); |
| | | |
| | | return issueCustomFields; |
| | | })() |
| | | }; |
| | | |
| | | // 등록일 |
| | | if ($rootScope.isDefined($scope.vm.search.registerDateRange)) { |
| | | var registerDateRange = $scope.vm.search.registerDateRange.split("~"); |
| | | conditions.beginRegisterDate = registerDateRange[0].trim(); |
| | | conditions.endRegisterDate = registerDateRange[1].trim(); |
| | | } |
| | | |
| | | // 시작일 |
| | | if ($rootScope.isDefined($scope.vm.search.startDateRange)) { |
| | | var startDateRange = $scope.vm.search.startDateRange.split("~"); |
| | | conditions.beginStartDate = startDateRange[0].trim(); |
| | | conditions.endStartDate = startDateRange[1].trim(); |
| | | } |
| | | // 종료일 |
| | | if ($rootScope.isDefined($scope.vm.search.completeDateRange)) { |
| | | var completeDateRange = $scope.vm.search.completeDateRange.split("~"); |
| | | conditions.beginCompleteDate = completeDateRange[0].trim(); |
| | | conditions.endCompleteDate = completeDateRange[1].trim(); |
| | | } |
| | | |
| | | return conditions; |
| | | } |
| | | |
| | | // 이슈 목록을 조회한다. |
| | | function getPageList(selectedPage, detail = false) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | |
| | | // 검색 조건을 저장한다. |
| | | //$scope.fn.makeVmSearchObject(); |
| | | |
| | | |
| | | // 현재 선택된 프로젝트를 검색 기본으로 추가 |
| | | if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { |
| | | var find = findProjectSearch($rootScope.workProject.id); |
| | | if (!find) { |
| | | $scope.vm.projects.push($rootScope.workProject); |
| | | } |
| | | } |
| | | |
| | | // 이슈 검색 조건을 만든다. |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | Issue.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | if (detail) { |
| | | changeDetailView(result.data.data[0].id); |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // 이슈 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 검색조건에서 해당 프로젝트 찾기 |
| | | function findProjectSearch(projectId) { |
| | | var projects = $scope.vm.projects; |
| | | var find = false; |
| | | |
| | | for (let i = 0; i < projects.length; i++) { |
| | | if (projects[i].id == projectId) { |
| | | find = true; |
| | | break; |
| | | } |
| | | } |
| | | return find; |
| | | } |
| | | |
| | | // 페이지 변경 |
| | | function changePageRowCount() { |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | // 엑셀 import 팝업 호출 |
| | | function importExcel() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueExcelImport.html', |
| | | size : "lg", |
| | | controller : 'issueImportExcelController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 이슈 생성 팝업 호출 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueAdd.html', |
| | | size : "lg", |
| | | controller : 'issueAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 이슈 다중 상태 변경 |
| | | function modifyMultiIssueStatus() { |
| | | var issueIds = []; |
| | | |
| | | angular.forEach($scope.vm.responseData.data, function (data) { |
| | | if (data.checked) { |
| | | issueIds.push(data.id); |
| | | } |
| | | }); |
| | | |
| | | if (issueIds.length < 1) { |
| | | SweetAlert.warning($filter("translate")("issue.selectionCheck"), $filter("translate")("issue.selectIssueToChangeStatus")); // 선택 대상 확인, 상태 변경할 이슈를 선택하세요. |
| | | return; |
| | | } |
| | | |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueModifyStatus.html', |
| | | size : "md", |
| | | controller : 'issueModifyStatusController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | issueIds : issueIds |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 수정 팝업 호출 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueModify.html', |
| | | size : "lg", |
| | | controller : 'issueModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 삭제 |
| | | function removes() { |
| | | var removeIds = []; |
| | | var removePermission = true; |
| | | |
| | | angular.forEach($scope.vm.responseData.data, function (data) { |
| | | if (data.checked && data.modifyPermissionCheck) { |
| | | removeIds.push(data.id); |
| | | } |
| | | |
| | | if (data.checked && !data.modifyPermissionCheck) { |
| | | removePermission = false; |
| | | } |
| | | }); |
| | | |
| | | if (!removePermission) { |
| | | SweetAlert.swal({ |
| | | html : true, |
| | | title : $filter("translate")("common.deleteFailed"), // 삭제 실패 |
| | | text : $filter("translate")("issue.notHaveDeletePermissionExistsAnIssue"), // 삭제 권한이 없는 이슈가 존재합니다. |
| | | type : "error" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | if (removeIds.length < 1) { |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("common.checkPurgingTargets"), // 삭제 대상 확인 |
| | | text : $filter("translate")("common.selectDestinationDeletion"), // 삭제 대상을 선택하세요. |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.deleteIssue"), // 이슈 삭제 |
| | | text : $filter("translate")("issue.wantToDeleteSelectIssue"), // 선택한 이슈을 삭제하겠습니까? 삭제된 이슈은 복구할 수 없습니다. |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // 삭제 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | Issue.remove($resourceProvider.getContent( |
| | | { removeIds : removeIds }, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $timeout(function () { |
| | | SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공 |
| | | }, 100); |
| | | |
| | | $scope.fn.listView(); |
| | | |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // 삭제 실패 |
| | | }, 100); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 목록 테이블 설정 |
| | | function addIssueTableConfig() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issue/issueAddTableConfig.html', |
| | | size : "lg", |
| | | controller : 'issueAddTableConfigController', |
| | | backdrop : 'static', |
| | | resolve : {} |
| | | }); |
| | | } |
| | | |
| | | // 이슈 상태 목록 |
| | | function getIssueStatuses() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.issueStatuses = []; |
| | | |
| | | IssueStatus.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (issueType) { |
| | | $scope.vm.issueStatuses.push({ |
| | | fieldKey : issueType.id, |
| | | fieldValue : issueType.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("common.failedToIssueStatusListLookup"), result.data.message.message, "error"); // 이슈 상태 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 유형 목록 |
| | | function getIssueTypes() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.issueTypes = []; |
| | | |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (issueType) { |
| | | $scope.vm.issueTypes.push({ |
| | | fieldKey : issueType.id, |
| | | fieldValue : issueType.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 유형 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 우선순위 목록 |
| | | function getPriorities() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.priorities = []; |
| | | |
| | | Priority.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (prioritiy) { |
| | | $scope.vm.priorities.push({ |
| | | fieldKey : prioritiy.id, |
| | | fieldValue : prioritiy.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // 우선순위 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 중요도 목록 |
| | | function getSeverities() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.severities = []; |
| | | |
| | | Severity.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (severity) { |
| | | $scope.vm.severities.push({ |
| | | fieldKey : severity.id, |
| | | fieldValue : severity.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToCriticalListLookup"), result.data.message.message, "error"); // 중요도 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록 |
| | | function getCustomFields() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.customFields = []; |
| | | |
| | | CustomField.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | |
| | | angular.forEach(result.data.data, function (customField) { |
| | | switch (customField.customFieldType) { |
| | | case "INPUT" : |
| | | customField.useValues = ""; |
| | | break; |
| | | |
| | | case "MULTI_SELECT" : |
| | | case "SINGLE_SELECT" : |
| | | customField.useValues = []; |
| | | break; |
| | | } |
| | | |
| | | $scope.vm.customFields.push(customField); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message, "error"); // 사용자 정의 필드 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 이슈 목록 테이블 설정 값을 가져와서 적용한다. |
| | | function getIssueTableConfigs() { |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueTableConfig.detail($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status !== "success") { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueTableColumnLookup"), result.data.message.message); // 이슈 테이블 컬럼 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 최초 실행 |
| | | function startExecute() { |
| | | // 파라미터 읽기 |
| | | var params = $rootScope.previousGetParams; |
| | | if ($rootScope.isDefined(params)) { |
| | | $rootScope.$broadcast("makeIssueSearch", { projectKey : params.projectKey, issueNumber : params.issueNumber }); |
| | | $rootScope.previousGetParams = null; |
| | | return; |
| | | } |
| | | |
| | | var promises = { |
| | | getIssueTypes : $scope.fn.getIssueTypes(), |
| | | getPriorities : $scope.fn.getPriorities(), |
| | | getSeverities : $scope.fn.getSeverities(), |
| | | getIssueStatuses : $scope.fn.getIssueStatuses(), |
| | | getCustomFields : $scope.fn.getCustomFields() |
| | | }; |
| | | |
| | | $q.all(promises).then(function (results){ |
| | | $log.debug("promises 결과 " , results); |
| | | // 이슈 테이블 설정 조회 및 적용 후 |
| | | // 이슈 검색 조건 가져오기 후 |
| | | // 이슈 조회 |
| | | |
| | | // 사용자 이슈 목록 테이블 설정 값을 가져와서 적용한다. |
| | | $scope.fn.getIssueTableConfigs().then(function (issueTableConfigs) { |
| | | if ($rootScope.isDefined(issueTableConfigs)) { |
| | | // 이슈 테이블 설정 정보를 저장 한다. |
| | | $scope.vm.issueTableConfigs = JSON.parse(issueTableConfigs); |
| | | $scope.vm.issueTableConfigs.sort(function (a, b) { |
| | | return a.position < b.position ? -1 : a.position > b.position ? 1: 0; |
| | | }); |
| | | } |
| | | else { |
| | | // 최초 업무 공간에 들어왔을 경우 |
| | | $scope.vm.issueTableConfigs = [{ |
| | | name : $filter("translate")("common.priority"), // 우선순위 |
| | | key : "PRIORITY", |
| | | width : "width-80-p", |
| | | position : 1, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.importance"), // 중요도 |
| | | key : "SEVERITY", |
| | | width : "width-80-p", |
| | | position : 2, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("issue.issueType"), // 이슈 타입 |
| | | key : "ISSUE_TYPE", |
| | | width : "width-140-p", |
| | | position : 3, |
| | | display : true |
| | | }, { |
| | | name : $filter("translate")("common.assignee"), // 담당자 |
| | | key : "ASSIGNEE", |
| | | width : "width-140-p", |
| | | position : 4, |
| | | display : true |
| | | }]; |
| | | } |
| | | |
| | | // 이슈 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | // 서버에 저장한 이슈 검색 조건을 가져와서 이슈 목록 검색을 진행한다. |
| | | $scope.fn.getVmSearchObject(); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by maprex on 2021-03-23 |
| | | */ |
| | | |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueListTimelineController', ['$scope', '$rootScope', '$log', '$q', '$resourceProvider', '$controller', '$injector', 'Gantt', 'SweetAlert', '$filter', 'IssueType', 'Priority', 'Severity', 'IssueStatus', 'CustomField','IssueSearch', |
| | | function ($scope, $rootScope, $log, $q, $resourceProvider, $controller, $injector, Gantt, SweetAlert, $filter, IssueType, Priority, Severity, IssueStatus, CustomField, IssueSearch) { |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록을 조회한다. |
| | | makeSearchConditions : makeSearchConditions, // 검색조건을 가져옴 |
| | | getIssueTypes : getIssueTypes, // 이슈 유형 목록을 가져온다. |
| | | getPriorities : getPriorities, // 우선순위 목록을 가져온다. |
| | | getSeverities : getSeverities, // 중요도 목록을 가져온다. |
| | | getIssueStatuses : getIssueStatuses, // 이슈 상태 목록을 가져온다. |
| | | getCustomFields : getCustomFields, // 사용자 정의 필드 목록을 가져온다. |
| | | startExecute : startExecute |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | | combinationIssueNumber : "", // 이슈 번호 |
| | | projectType : "BTS_PROJECT", // 프로젝트 유형 |
| | | registerDateRange : "", // 등록일 기간 검색 |
| | | startDateRange : "", // 시작일 기간 검색 |
| | | completeDateRange : "", // 완료일 기간 검색 |
| | | severityIds : [], // 중요도 검색 |
| | | priorityIds : [], // 우선순위 검색 |
| | | issueStatusIds : [], // 이슈 상태 검색 |
| | | issueTypeIds : [] // 이슈 유형 검색 |
| | | }, |
| | | arrProjects : [], // 프로젝트 배열 |
| | | projectIssues : new Object(), // 프로젝트 전체 이슈 |
| | | projectCompleteIssues : new Object(), // 프로젝트 완료 이슈 |
| | | searchView : false, // 상세 검색 조건 표시 여부 |
| | | detailView : false, // 상세 모드 변경 값 |
| | | tableConfigs : [], // 테이블 셋팅 정보 |
| | | responseData : { |
| | | data : [] |
| | | }, |
| | | projectName : "", // 프로젝트 검색 |
| | | userName : "", // 담당자 검색 |
| | | registerName : "", // 등록자 검색 |
| | | projects : [], // 프로젝트 |
| | | issueStatuses : [], // 이슈 상태 |
| | | issueTypes : [], // 이슈 유형 |
| | | priorities : [], // 우선 순위 |
| | | severities : [], // 중요도 |
| | | users : [], // 담당자 |
| | | registers : [], // 등록자 |
| | | customFields : [], // 사용자 정의 필드 |
| | | issueTableConfigs : [], // 이슈 테이블 설정 |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(99999) |
| | | }, |
| | | relationIssues :[], // 연관 이슈 배열 |
| | | useGantt : false, |
| | | chart : null // 간트차트 |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | $scope.init = function () { |
| | | $scope.fn.startExecute(); |
| | | } |
| | | |
| | | // 검색 필드 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 이슈 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | var conditions = { |
| | | title : $scope.vm.search.title, |
| | | description : $scope.vm.search.description, |
| | | projectType : $scope.vm.search.projectType, |
| | | combinationIssueNumber : $scope.vm.search.combinationIssueNumber.trim(), |
| | | beginRegisterDate : "", |
| | | endRegisterDate : "", |
| | | beginStartDate : "", |
| | | endStartDate : "", |
| | | beginCompleteDate : "", |
| | | endCompleteDate : "", |
| | | projectIds : (function () { |
| | | var projectIds = []; |
| | | |
| | | angular.forEach($scope.vm.projects, function (project) { |
| | | projectIds.push(project.id); |
| | | }); |
| | | |
| | | return projectIds; |
| | | })(), |
| | | issueStatusIds : (function () { |
| | | var issueStatusIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.issueStatusIds, function (issueStatusId) { |
| | | issueStatusIds.push(issueStatusId.fieldKey); |
| | | }); |
| | | |
| | | return issueStatusIds; |
| | | })(), |
| | | issueTypeIds : (function () { |
| | | var issueTypeIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.issueTypeIds, function (issueTypeId) { |
| | | issueTypeIds.push(issueTypeId.fieldKey); |
| | | }); |
| | | |
| | | return issueTypeIds; |
| | | })(), |
| | | priorityIds : (function () { |
| | | var priorityIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.priorityIds, function (priorityId) { |
| | | priorityIds.push(priorityId.fieldKey); |
| | | }); |
| | | |
| | | return priorityIds; |
| | | })(), |
| | | severityIds : (function () { |
| | | var severityIds = []; |
| | | |
| | | angular.forEach($scope.vm.search.severityIds, function (severityId) { |
| | | severityIds.push(severityId.fieldKey); |
| | | }); |
| | | |
| | | return severityIds; |
| | | })(), |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | registerIds : (function () { |
| | | var registerIds = []; |
| | | |
| | | angular.forEach($scope.vm.registers, function (register) { |
| | | registerIds.push(register.id); |
| | | }); |
| | | |
| | | return registerIds; |
| | | })(), |
| | | issueCustomFields : (function () { |
| | | var issueCustomFields = []; |
| | | |
| | | angular.forEach($scope.vm.customFields, function (customField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(customField.useValues)) { |
| | | angular.forEach(customField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(customField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(customField); |
| | | temp.useValues = useValues; |
| | | issueCustomFields.push(temp); |
| | | }); |
| | | |
| | | return issueCustomFields; |
| | | })() |
| | | }; |
| | | |
| | | // 등록일 |
| | | if ($rootScope.isDefined($scope.vm.search.registerDateRange)) { |
| | | var registerDateRange = $scope.vm.search.registerDateRange.split("~"); |
| | | conditions.beginRegisterDate = registerDateRange[0].trim(); |
| | | conditions.endRegisterDate = registerDateRange[1].trim(); |
| | | } |
| | | |
| | | // 시작일 |
| | | if ($rootScope.isDefined($scope.vm.search.startDateRange)) { |
| | | var startDateRange = $scope.vm.search.startDateRange.split("~"); |
| | | conditions.beginStartDate = startDateRange[0].trim(); |
| | | conditions.endStartDate = startDateRange[1].trim(); |
| | | } |
| | | // 종료일 |
| | | if ($rootScope.isDefined($scope.vm.search.completeDateRange)) { |
| | | var completeDateRange = $scope.vm.search.completeDateRange.split("~"); |
| | | conditions.beginCompleteDate = completeDateRange[0].trim(); |
| | | conditions.endCompleteDate = completeDateRange[1].trim(); |
| | | } |
| | | |
| | | return conditions; |
| | | } |
| | | |
| | | // 이슈 상태 목록 |
| | | function getIssueStatuses() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.issueStatuses = []; |
| | | |
| | | IssueStatus.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (issueType) { |
| | | $scope.vm.issueStatuses.push({ |
| | | fieldKey : issueType.id, |
| | | fieldValue : issueType.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("common.failedToIssueStatusListLookup"), result.data.message.message, "error"); // 이슈 상태 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 유형 목록 |
| | | function getIssueTypes() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.issueTypes = []; |
| | | |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (issueType) { |
| | | $scope.vm.issueTypes.push({ |
| | | fieldKey : issueType.id, |
| | | fieldValue : issueType.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // 이슈 유형 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 우선순위 목록 |
| | | function getPriorities() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.priorities = []; |
| | | |
| | | Priority.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (prioritiy) { |
| | | $scope.vm.priorities.push({ |
| | | fieldKey : prioritiy.id, |
| | | fieldValue : prioritiy.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message, "error"); // 우선순위 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 중요도 목록 |
| | | function getSeverities() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.severities = []; |
| | | |
| | | Severity.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.data, function (severity) { |
| | | $scope.vm.severities.push({ |
| | | fieldKey : severity.id, |
| | | fieldValue : severity.name |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToCriticalListLookup"), result.data.message.message, "error"); // 중요도 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록 |
| | | function getCustomFields() { |
| | | var deferred = $q.defer(); |
| | | $scope.vm.customFields = []; |
| | | |
| | | CustomField.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | |
| | | angular.forEach(result.data.data, function (customField) { |
| | | switch (customField.customFieldType) { |
| | | case "INPUT" : |
| | | customField.useValues = ""; |
| | | break; |
| | | |
| | | case "MULTI_SELECT" : |
| | | case "SINGLE_SELECT" : |
| | | customField.useValues = []; |
| | | break; |
| | | } |
| | | |
| | | $scope.vm.customFields.push(customField); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message, "error"); // 사용자 정의 필드 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | |
| | | function drawGanttChart(useProject = false) { |
| | | google.charts.load('current', {'packages':['gantt'], 'language': 'ko'}); |
| | | google.charts.setOnLoadCallback(drawChart); |
| | | } |
| | | |
| | | function toMilliseconds(minutes) { |
| | | return minutes * 60 * 1000; |
| | | } |
| | | |
| | | // 검색조건에서 해당 프로젝트 찾기 |
| | | function findProjectSearch(projectId) { |
| | | var projects = $scope.vm.projects; |
| | | var find = false; |
| | | |
| | | for (let i = 0; i < projects.length; i++) { |
| | | if (projects[i].id == projectId) { |
| | | find = true; |
| | | break; |
| | | } |
| | | } |
| | | return find; |
| | | } |
| | | |
| | | function getPageList(selectedPage) { |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // $rootScope.spinner = true; |
| | | |
| | | // 현재 선택된 프로젝트를 검색 기본으로 추가 |
| | | if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { |
| | | var find = findProjectSearch($rootScope.workProject.id); |
| | | if (!find) { |
| | | $scope.vm.projects.push($rootScope.workProject); |
| | | } |
| | | } |
| | | |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | Gantt.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | drawGanttChart(); |
| | | } |
| | | else { |
| | | //SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // 이슈 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈리스트에 해당 아이디가 존재하는지 여부 확인 |
| | | function containsIssue(issueId) { |
| | | var responseData = $scope.vm.responseData; |
| | | if (responseData != null) { |
| | | var data = responseData.data; |
| | | for (var i=0; i < data.length; i++) { |
| | | var el = data[i]; |
| | | if (el.id == issueId) { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | return false |
| | | } |
| | | |
| | | // 순환구조여부 확인 |
| | | // 연관 일감이 양방향으로 적용되어 있을때 차트에서는 오류가 발생하므로 양방향일 경우 처리 안하기 위함 |
| | | function isCycle(parentId, childId) { |
| | | var data = $scope.vm.relationIssues; |
| | | if (data != null && data.length > 0) { |
| | | for (var i=0; i < data.length; i++) { |
| | | if (data[i].chartParent == childId && data[i].chartChild == parentId) { |
| | | return true; |
| | | } |
| | | } |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | var chart; |
| | | var otherData; |
| | | var options; |
| | | |
| | | function drawChart() { |
| | | var responseData = $scope.vm.responseData; |
| | | var page = responseData.page; |
| | | |
| | | otherData = new google.visualization.DataTable(); |
| | | otherData.addColumn('string', 'Task ID'); |
| | | otherData.addColumn('string', 'Task Name'); |
| | | otherData.addColumn('string', 'Resource'); |
| | | otherData.addColumn('date', 'Start'); |
| | | otherData.addColumn('date', 'End'); |
| | | otherData.addColumn('number', '기간'); |
| | | otherData.addColumn('number', 'Percent Complete'); |
| | | otherData.addColumn('string', 'Dependencies'); |
| | | var data = responseData.data; |
| | | var dataCount = data.length; |
| | | var trackHeight = 22; |
| | | var bottomHeight = 50; |
| | | var chartHeight = dataCount * trackHeight + bottomHeight; |
| | | var arrPalette = []; |
| | | |
| | | if (page.totalCount > 0) { |
| | | $scope.vm.relationIssues = []; |
| | | data.forEach(el => { |
| | | var start = null; |
| | | if (el.startDate != null) { |
| | | start = new Date(el.startDate); |
| | | start.setHours(0,0,0); |
| | | } |
| | | |
| | | var end = null; |
| | | if (el.completeDate != null) { |
| | | end = new Date(el.completeDate); |
| | | end.setHours(23, 59, 59); |
| | | } |
| | | |
| | | var duration = 0; |
| | | if (start != null && end != null) { |
| | | duration = end.getTime() - start.getTime(); |
| | | } |
| | | |
| | | var p = { |
| | | "color": el.issueStatusColor, |
| | | "dark": el.issueStatusColor, |
| | | "light": el.issueStatusColor |
| | | }; |
| | | |
| | | arrPalette.push(p); |
| | | |
| | | // 연관이슈 설정 |
| | | var relationIssue = null; |
| | | if ( el.issueRelationIssueVos != null && el.issueRelationIssueVos.length > 0) { |
| | | var i = 0; |
| | | relationIssue = ""; |
| | | el.issueRelationIssueVos.forEach(rel => { |
| | | if (i > 0) { |
| | | relationIssue += ","; |
| | | } |
| | | if (containsIssue(rel.id) && !isCycle(el.id, rel.id)) { |
| | | relationIssue += String(rel.id); |
| | | var pair = { |
| | | chartParent : el.id, |
| | | chartChild : rel.id |
| | | } |
| | | $scope.vm.relationIssues.push(pair); |
| | | i++; |
| | | } |
| | | }); |
| | | } |
| | | otherData.addRow([String(el.id), el.title, String(el.id), start, end, duration, 100, relationIssue]); |
| | | |
| | | }) |
| | | $scope.vm.useGantt = true; |
| | | } else { |
| | | var p = { |
| | | "color": "0066cc", |
| | | "dark": "0066cc", |
| | | "light": "0066cc" |
| | | }; |
| | | |
| | | arrPalette.push(p); |
| | | otherData.addRow(["none", "일감이 없습니다", "none", new Date(), null, toMilliseconds(0), 100, null]); |
| | | $scope.vm.useGantt = false; |
| | | } |
| | | |
| | | options = { |
| | | gantt: { |
| | | defaultStartDate : new Date(), |
| | | barHeight : 15, |
| | | barCornerRadius : 1, |
| | | criticalPathEnabled: false, // Critical path arrows will be the same as other arrows. |
| | | arrow: { |
| | | angle: 100, |
| | | width: 2, |
| | | color: '#0066cc', |
| | | radius: 0, |
| | | spaceAfter : 0, |
| | | }, |
| | | labelStyle: { |
| | | fontName: 'NanumSquare', |
| | | fontSize: 12, |
| | | color: '#d5c209' |
| | | }, |
| | | palette: arrPalette, |
| | | trackHeight : trackHeight |
| | | }, |
| | | height: chartHeight, |
| | | animation: {"startup": true} |
| | | }; |
| | | |
| | | var container = document.getElementById('chart_div'); |
| | | if (container == null) { |
| | | return; |
| | | } |
| | | chart = new google.visualization.Gantt(container); |
| | | hideChartTooltip(container, chart); |
| | | |
| | | google.visualization.events.addListener(chart, 'onmouseover', function (e) { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'click', function() { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'select', function() { |
| | | var selection = chart.getSelection(); |
| | | if (selection.length > 0) { |
| | | var responseData = $scope.vm.responseData; |
| | | var data = responseData.data; |
| | | |
| | | var issue = data[selection[0].row]; |
| | | |
| | | // 이슈 번호를 저장한 후 이슈 목록으로 이동한다. |
| | | $rootScope.$broadcast("makeIssueSearch", issue); |
| | | } |
| | | }); |
| | | |
| | | window.addEventListener('resize', function() { chart.draw(otherData, options); }, false); //화면 크기에 따라 그래프 크기 변경 |
| | | chart.draw(otherData, options); |
| | | } |
| | | |
| | | |
| | | // 이슈를 배열에 추가 |
| | | function addIssue(projectId, issue) { |
| | | if ($scope.vm.projectCompleteIssues[projectId] == null) |
| | | $scope.vm.projectCompleteIssues[projectId] = []; |
| | | |
| | | if ($scope.vm.projectIssues[projectId] == null) |
| | | $scope.vm.projectIssues[projectId] = []; |
| | | |
| | | if (issue.issueStatusType == "CLOSE") { |
| | | $scope.vm.projectCompleteIssues[projectId].push(issue); |
| | | } |
| | | $scope.vm.projectIssues[projectId].push(issue); |
| | | } |
| | | |
| | | // google chart 기본 tooltip 가리기 |
| | | function hideChartTooltip(container, chart) { |
| | | google.visualization.events.addOneTimeListener(chart, 'ready', function () { |
| | | var observer = new MutationObserver(function (nodes) { |
| | | Array.prototype.forEach.call(nodes, function(node) { |
| | | if (node.addedNodes.length > 0) { |
| | | Array.prototype.forEach.call(node.addedNodes, function(addedNode) { |
| | | if ((addedNode.tagName === 'rect') && (addedNode.getAttribute('fill') === 'white')) { |
| | | addedNode.setAttribute('fill', 'transparent'); |
| | | addedNode.setAttribute('stroke', 'transparent'); |
| | | Array.prototype.forEach.call(addedNode.parentNode.getElementsByTagName('text'), function(label) { |
| | | label.setAttribute('fill', 'transparent'); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | observer.observe(container, { |
| | | childList: true, |
| | | subtree: true |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | function startExecute() { |
| | | var promises = { |
| | | getIssueTypes: $scope.fn.getIssueTypes(), |
| | | getPriorities: $scope.fn.getPriorities(), |
| | | getSeverities: $scope.fn.getSeverities(), |
| | | getIssueStatuses: $scope.fn.getIssueStatuses(), |
| | | getCustomFields: $scope.fn.getCustomFields() |
| | | } |
| | | |
| | | $q.all(promises).then(function (results) { |
| | | $log.debug("promises 결과 ", results); |
| | | $scope.fn.getPageList(); |
| | | }); |
| | | } |
| | | |
| | | $rootScope.$on('changeChartTab', function(evt) { |
| | | if (chart != null) { |
| | | chart.clearChart(); |
| | | $scope.fn.startExecute(); |
| | | } |
| | | }); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by maprex on 2021-06-17 |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('issueManagerController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $filter) { |
| | | |
| | | $scope.fn = { |
| | | changeTab : changeTab, // 탭 변경 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | tab : "ISSUE_LIST" // 업무 공간 정보가 기본 탭 |
| | | }; |
| | | |
| | | // 탭 변경 |
| | | function changeTab(tab) { |
| | | $scope.vm.tab = tab; |
| | | |
| | | if (tab === "ISSUE_TIMELINE") { |
| | | $rootScope.$broadcast("changeChartTab"); |
| | | } else if (tab === "ISSUE_LIST") { |
| | | $rootScope.$broadcast("changeListTab"); |
| | | } |
| | | } |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-15. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', |
| | | '$controller', '$tableProvider', 'SweetAlert', '$timeout', '$stateParams', '$q', 'parameter', 'Issue', 'User', 'AttachedFile', 'IssueType', 'Priority', 'Severity', 'IssueTypeCustomField', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, SweetAlert, $timeout, |
| | | $stateParams, $q, parameter, Issue, User, AttachedFile, IssueType, Priority, Severity, IssueTypeCustomField, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | getUserListCallBack : getUserListCallBack, // 담당자 autocomplete 페이징 |
| | | getProjectListCallBack : getProjectListCallBack, // 프로젝트 autocomplete 페이징 |
| | | getOptionColor : getOptionColor, // 우선순위, 중요도 색상으로 Select 태그 적용 |
| | | onFileSelect : onFileSelect, // 파일 첨부 |
| | | imageUpload : imageUpload, // 섬머노트 이미지 업로드 |
| | | getIssueTypes : getIssueTypes, // 이슈 타입 목록 가져오기 |
| | | getPriorities : getPriorities, // 우선순위 목록 가져오기 |
| | | getSeverities : getSeverities, // 중요도 목록 가져오기 |
| | | getIssueTypeCustomFields : getIssueTypeCustomFields, // 이슈 유형에 연결된 사용자 정의 필드 목록 가져오기 |
| | | setFormByIssueTypeCustomFields : setFormByIssueTypeCustomFields, // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | setUseValueByIssueTypeCustomFields : setUseValueByIssueTypeCustomFields, // 이슈에서 사용자가 선택한 사용자 정의 필드 값을 입력 폼에 셋팅한다. |
| | | detail : detail, // 이슈 정보 조회 |
| | | removeManager : removeManager, // 담당자 삭제 |
| | | removeUploadFile : removeUploadFile, // 특정 파일을 삭제 |
| | | setIssueTypeTemplate : setIssueTypeTemplate, // 이슈 유형 템플릿 적용하기 |
| | | startExecute : startExecute // 최초 실행 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id, |
| | | deep : "01" // 프로젝트 연관된 모든 정보를 어느정도까지 가져올지 결정, 01 - 사용자, 관리자 정보 |
| | | }, |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "", // 내용 |
| | | projects : [], // 프로젝트 |
| | | issueTypeId : "", // 이슈 유형 아이디 |
| | | priorityId : "", // 우선순위 아이디 |
| | | severityId : "", // 중요도 아이디 |
| | | issueStatusId : "", // 이슈 상태 아이디 |
| | | users : [], // 담당자 |
| | | files : [], // 업로드 파일 |
| | | attachedFiles : [], // 섬머노트로 파일 업로드를 할 경우 서버에서 pk를 따고 issue id와 연동 작업이 필요하다. |
| | | startCompleteDateRange : "", // 시작일 ~ 종료일 |
| | | issueCustomFields : [], // 이슈에서 사용되는 사용자 정의 필드 |
| | | removeFiles : [], // 삭제한 파일 정보 |
| | | }, |
| | | projectName : "", // 프로젝트 명 검색 |
| | | userName : "", // 사용자 검색 |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | summerNote : { |
| | | editable : null, |
| | | editor : null |
| | | }, |
| | | issueTypes : [], // 이슈 유형 전체 목록 |
| | | priorities : [], // 우선순위 정보 |
| | | severities : [], // 중요도 정보 |
| | | fileTableConfigs : [], // 파일 업로드 정보 테이블 |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 프로젝트가 변경되면 담당자 초기화 |
| | | $scope.$watch("vm.form.projects", function (newValue, oldValue) { |
| | | if (angular.isDefined(newValue)) { |
| | | if (newValue.length < 1) { |
| | | $scope.vm.form.users = []; |
| | | $scope.vm.form.issueCustomFields = []; |
| | | } |
| | | else { |
| | | if ($rootScope.isDefined($scope.vm.form.issueTypeId)) { |
| | | $scope.fn.getIssueTypeCustomFields(); |
| | | } |
| | | } |
| | | } |
| | | }); |
| | | |
| | | // 업로드 파일 삭제 |
| | | function removeUploadFile(index) { |
| | | var temp = []; |
| | | |
| | | for (var count in $scope.vm.form.files) { |
| | | var file = $scope.vm.form.files[count]; |
| | | |
| | | if (String(index) === count) { |
| | | if ($rootScope.isDefined(file.id)) { |
| | | $scope.vm.form.removeFiles.push(file.id); |
| | | } |
| | | } |
| | | else { |
| | | temp.push(file); |
| | | } |
| | | } |
| | | |
| | | $scope.vm.form.files = temp; |
| | | } |
| | | |
| | | // 담당자 삭제 |
| | | function removeManager(index) { |
| | | $scope.vm.form.users.splice(index, 1); |
| | | } |
| | | |
| | | // 섬머노트 이미지 업로드 |
| | | function imageUpload($files) { |
| | | var listFiles = []; |
| | | var uploadFileSize = 0; |
| | | |
| | | for (var count in $files) { |
| | | var $file = $files[count]; |
| | | |
| | | if (typeof ($file) == "object") { |
| | | uploadFileSize += $file.size; |
| | | |
| | | // 파일당 용량 제한 10MB |
| | | if ($file.size > $rootScope.fileByte.image) { |
| | | SweetAlert.error($filter("translate")("issue.capacityExceededImageFile"), $filter("translate")("issue.attachedOnlyImageFiles10mb")); // "이미지 파일 용량 초과", "10MB 이하의 이미지 파일만 첨부가 가능합니다." |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | |
| | | // 여러건의 파일을 한번에 업로드할 경우 제한 300MB |
| | | if (uploadFileSize > $rootScope.fileByte.file) { |
| | | SweetAlert.error($filter("translate")("issue.capacityExceededImageFile"), $filter("translate")("issue.attachedMultipleImageFiles100mb")); // "이미지 파일 용량 초과", "여러 건의 이미지를 한번에 첨부할 경우 100MB 이하까지만 첨부가 가능합니다." |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | |
| | | if (!$rootScope.checkImageType($file)) { |
| | | SweetAlert.error($filter("translate")("issue.limitImageFile"), $filter("translate")("issue.canBeUploadedOnlyImageFiles")); // "이미지 파일 제한", "이미지 파일만 업로드 가능합니다. - bmp, jpg, jpeg, png, tif" |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | |
| | | if (!angular.isDefined($file.name)) { |
| | | var fileType = $file.type.split("/"); |
| | | var imageType = ""; |
| | | |
| | | if (fileType[0] === "image") { |
| | | imageType = "." + fileType[1]; |
| | | } |
| | | |
| | | $file.name = new Date().getTime() + imageType; |
| | | } |
| | | else { |
| | | if ($file.name.indexOf(';') !== -1) { |
| | | SweetAlert.error($filter("translate")("issue.nameErrorImageFile"), $filter("translate")("issue.cannotUploadFileNameSpecialCharacters")); // "이미지 파일명 오류", "파일명에 특수문자(;)가 들어가면 업로드 할 수 없습니다." |
| | | listFiles = []; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | listFiles.push($file); |
| | | } |
| | | } |
| | | |
| | | // 파일 업로드 검증을 거친 파일이 1개이상 존재할 경우에만 실행 |
| | | if (listFiles.length > 0) { |
| | | AttachedFile.add({ |
| | | method : "POST", |
| | | file : listFiles, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : { |
| | | workspaceId : $rootScope.user.lastWorkspaceId, |
| | | issueId : parameter.id |
| | | } |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | angular.forEach(result.data.attachedFiles, function (fileInfo) { |
| | | $scope.vm.summerNote.editor.summernote("editor.insertImage", fileInfo.path); |
| | | $scope.vm.form.attachedFiles.push(fileInfo); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.errorFileUpload"), result.data.message.message); // 파일 업로드 오류 |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | // 파일 업로드에 사용 |
| | | function onFileSelect($files) { |
| | | var uploadFileSize = 0; |
| | | |
| | | // 이전에 첨부한 파일이 있을 경우 전체 업로드 용량에 포함 |
| | | angular.forEach($scope.vm.form.files, function ($file) { |
| | | uploadFileSize += $file.size; |
| | | }); |
| | | |
| | | for (var count in $files) { |
| | | var $file = $files[count]; |
| | | |
| | | if (typeof ($file) == "object") { |
| | | uploadFileSize += $file.size; |
| | | |
| | | // 파일당 용량 제한 300MB |
| | | if (($file.size > $rootScope.fileByte.file) || (uploadFileSize > $rootScope.fileByte.file)) { |
| | | SweetAlert.error($filter("translate")("issue.attachmentCapacityExceeded"), $filter("translate")("issue.canAttachFileUpTo100mb")); // "첨부 파일 용량 초과", "100MB 이하까지만 파일 첨부가 가능합니다." |
| | | break; |
| | | } |
| | | |
| | | // 파일을 업로드할 때 파일 유형을 확인해주는 기능 - 허용되지 않은 확장자일 때는 첨부 금지 |
| | | if (!$rootScope.checkFileType($file)) { |
| | | SweetAlert.error($filter("translate")("issue.limitAttachmentExtensions"), $filter("translate")("issue.notAllowedAttachment")); // "첨부 파일 확장자 제한", "첨부가 허용되지 않는 파일입니다." |
| | | break; |
| | | } |
| | | |
| | | if ($file.name.indexOf(';') !== -1) { |
| | | SweetAlert.error($filter("translate")("issue.nameErrorAttachment"), $filter("translate")("issue.cannotUploadFileNameSpecialCharacters")); // "첨부 파일명 오류", "파일명에 특수문자(;)가 들어가면 업로드 할 수 없습니다." |
| | | break; |
| | | } |
| | | |
| | | $file.index = count; |
| | | $scope.vm.form.files.push($file); |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 셀렉트 박스에서 중요도, 우선순위 색상 표시 |
| | | function getOptionColor(list, key) { |
| | | var color = "#353535"; // 기본색은 검은색. |
| | | |
| | | for (var count in list) { |
| | | if (String(list[count].id) === key) { |
| | | color = list[count].color; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return color; |
| | | } |
| | | |
| | | // 담당자 autocomplete page 업데이트트 |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 프로젝트 autocomplete page 업데이트 |
| | | function getProjectListCallBack(result) { |
| | | $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.projects.length < 1) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | title : $rootScope.preventXss($scope.vm.form.title), // 제목 |
| | | description : $rootScope.preventXss($scope.vm.form.description), // 내용 |
| | | projectId : (function () { // 프로젝트 아이디 |
| | | var projectId = ""; |
| | | |
| | | if ($scope.vm.form.projects.length > 0) { |
| | | projectId = $scope.vm.form.projects[0].id; |
| | | } |
| | | |
| | | return projectId; |
| | | })(), |
| | | issueTypeId : $scope.vm.form.issueTypeId, // 이슈 유형 아이디 |
| | | priorityId : $scope.vm.form.priorityId, // 우선순위 아이디 |
| | | severityId : $scope.vm.form.severityId, // 중요도 아이디 |
| | | issueStatusId : $scope.vm.form.issueStatusId, // 이슈 상태 아이디 |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | removeFiles : $scope.vm.form.removeFiles, |
| | | attachedFileIds : (function () { |
| | | var attachedFileIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.attachedFiles, function (attachedFile) { |
| | | if ($scope.vm.form.description.indexOf(attachedFile.path) !== -1) { |
| | | attachedFileIds.push(attachedFile.id); |
| | | } |
| | | }); |
| | | |
| | | return attachedFileIds; |
| | | })(), |
| | | startCompleteDateRange : $scope.vm.form.startCompleteDateRange, |
| | | issueCustomFields : (function () { // 이슈에서 사용되는 사용자 정의 필드 |
| | | var issueCustomFields = []; |
| | | |
| | | angular.forEach($scope.vm.form.issueCustomFields, function (issueCustomField) { |
| | | var useValues = []; |
| | | |
| | | if (angular.isArray(issueCustomField.useValues)) { |
| | | angular.forEach(issueCustomField.useValues, function (useValue) { |
| | | useValues.push(useValue.value); |
| | | }); |
| | | } |
| | | else { |
| | | useValues.push(issueCustomField.useValues); |
| | | } |
| | | |
| | | // useValues 를 배열로 변환한다. |
| | | var temp = angular.copy(issueCustomField); |
| | | temp.useValues = useValues; |
| | | issueCustomFields.push(temp); |
| | | }); |
| | | |
| | | return issueCustomFields; |
| | | })() |
| | | }; |
| | | |
| | | Issue.modify({ |
| | | method : "POST", |
| | | file : (function () { |
| | | var files = []; |
| | | |
| | | angular.forEach($scope.vm.form.files, function (file) { |
| | | if (angular.isUndefined(file.id)) { |
| | | files.push(file); |
| | | } |
| | | }); |
| | | |
| | | return files; |
| | | })(), |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : content |
| | | }, |
| | | fileFormDataName : "file" |
| | | }).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | |
| | | // 이슈 상세 화면 요청 |
| | | $rootScope.$broadcast("getIssueDetail", { |
| | | id : parameter.id |
| | | }); |
| | | |
| | | $rootScope.$broadcast("getIssueList"); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueModify"), result.data.message.message); // 이슈 수정 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | SweetAlert.close(); |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 이슈 유형 목록 |
| | | function getIssueTypes() { |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueTypes = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message); // 이슈 타입 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 우선순위 목록 |
| | | function getPriorities() { |
| | | var deferred = $q.defer(); |
| | | |
| | | Priority.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.priorities = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToPriorityListLookup"), result.data.message.message); // 우선순위 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 중요도 목록 |
| | | function getSeverities() { |
| | | var deferred = $q.defer(); |
| | | |
| | | Severity.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.severities = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToCriticalListLookup"), result.data.message.message); // 중요도 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 |
| | | function getIssueTypeCustomFields() { |
| | | $scope.vm.form.issueCustomFields = []; |
| | | |
| | | // 이슈 타입 아이디나 프로젝트 아이디가 없으면 통신을 하지 않는다. |
| | | if (!$rootScope.isDefined($scope.vm.form.issueTypeId) || $scope.vm.form.projects.length < 1) { |
| | | return; |
| | | } |
| | | |
| | | // 이슈 유형 템플릿 적용하기 |
| | | $scope.fn.setIssueTypeTemplate(); |
| | | |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueTypeCustomField.find($resourceProvider.getContent({projectId : $scope.vm.form.projects[0].id, issueTypeId : $scope.vm.form.issueTypeId}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | $scope.fn.setFormByIssueTypeCustomFields(result.data.data); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToUserDefinedFieldListAssociatedLookup"), result.data.message.message); // 이슈 유형에 연결된 사용자 정의 필드 목록 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | // 이슈 수정에서는 useValues 값이 issue_custom_field_value 의 값으로 셋팅해야하므로 여기서는 초기화만 해준다. |
| | | function setFormByIssueTypeCustomFields(issueTypeCustomFields) { |
| | | $scope.vm.form.issueCustomFields = []; |
| | | |
| | | angular.forEach(issueTypeCustomFields, function (issueTypeCustomField) { |
| | | switch (issueTypeCustomField.customFieldVo.customFieldType) { |
| | | case "INPUT" : |
| | | case "SINGLE_SELECT" : |
| | | issueTypeCustomField.useValues = ""; |
| | | break; |
| | | |
| | | case "MULTI_SELECT" : |
| | | issueTypeCustomField.useValues = []; |
| | | break; |
| | | } |
| | | |
| | | $scope.vm.form.issueCustomFields.push(issueTypeCustomField); |
| | | }); |
| | | } |
| | | |
| | | // 이슈에서 사용자가 선택한 사용자 정의 필드 값을 입력 폼에 셋팅한다. |
| | | function setUseValueByIssueTypeCustomFields(issueCustomFieldValues) { |
| | | |
| | | angular.forEach(issueCustomFieldValues, function (issueCustomFieldValue) { |
| | | for (var count in $scope.vm.form.issueCustomFields) { |
| | | var issueCustomField = $scope.vm.form.issueCustomFields[count]; |
| | | |
| | | if (issueCustomField.customFieldVo.id === issueCustomFieldValue.customFieldVo.id) { |
| | | // 멀티셀렉트 일때 |
| | | if (angular.isArray(issueCustomField.useValues)) { |
| | | issueCustomField.useValues.push({ |
| | | value : issueCustomFieldValue.useValue |
| | | }); |
| | | } |
| | | else { |
| | | issueCustomField.useValues = issueCustomFieldValue.useValue; |
| | | } |
| | | |
| | | break; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 상세 정보 |
| | | function detail() { |
| | | var deferred = $q.defer(); |
| | | |
| | | Issue.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | $scope.vm.form.projects.push(result.data.data.projectVo); |
| | | $scope.vm.projectName = result.data.data.projectVo.name; |
| | | $scope.vm.form.issueTypeId = String(result.data.data.issueTypeVo.id); |
| | | $scope.vm.form.priorityId = String(result.data.data.priorityVo.id); |
| | | $scope.vm.form.severityId = String(result.data.data.severityVo.id); |
| | | $scope.vm.form.issueStatusId = String(result.data.data.issueStatusVo.id); |
| | | $scope.vm.form.users = result.data.data.userVos; |
| | | $scope.vm.form.files = result.data.data.attachedFileVos; |
| | | |
| | | if ($rootScope.isDefined(result.data.data.startDate)) { |
| | | $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate; |
| | | } |
| | | else { |
| | | $scope.vm.form.startCompleteDateRange = ""; |
| | | } |
| | | |
| | | // 이슈 유형에 연결된 사용자 정의 필드 정보를 입력 폼에서 사용할 수 있게 가공한다. |
| | | $scope.fn.setFormByIssueTypeCustomFields(result.data.data.issueTypeCustomFieldVos); |
| | | // 이슈에서 사용자가 선택한 사용자 정의 필드 값을 입력 폼에 셋팅한다. |
| | | $scope.fn.setUseValueByIssueTypeCustomFields(result.data.data.issueCustomFieldValueVos); |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToProjectDetails"), result.data.message.message); // 프로젝트 상세 정보 조회 실패 |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 타입에 있는 템플릿을 적용한다. |
| | | function setIssueTypeTemplate() { |
| | | for (var count in $scope.vm.issueTypes) { |
| | | var issueType = $scope.vm.issueTypes[count]; |
| | | |
| | | if ($scope.vm.form.issueTypeId === String(issueType.id)) { |
| | | // 템플릿이 작성되어 있는지 확인 |
| | | if ($rootScope.isDefined(issueType.description)) { |
| | | // 이슈 내용이 작성되어 있지 않으면 바로 템플릿 적용 |
| | | if (!$rootScope.isDefined($scope.vm.form.description)) { |
| | | $scope.vm.form.description = issueType.description; |
| | | } |
| | | else { |
| | | // 이미 내용이 작성되어 있으면 확인 후 적용 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("issue.applyTemplate"), // 템플릿 적용하기 |
| | | text : $filter("translate")("issue.issueContentIsWrittenApplyTheTemplate"), // 이슈 내용이 작성되어 있습니다. 템플릿을 적용하겠습니까? 템플릿이 적용되면 이미 작성된 내용이 사라집니다. |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("issue.applyTemplate"), // 템플릿 적용하기 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $scope.vm.form.description = issueType.description; |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 최초 실행 |
| | | function startExecute() { |
| | | |
| | | var promises = { |
| | | detail : $scope.fn.detail(), |
| | | getIssueTypes : $scope.fn.getIssueTypes(), |
| | | getPriorities : $scope.fn.getPriorities(), |
| | | getSeverities : $scope.fn.getSeverities() |
| | | }; |
| | | |
| | | $q.all(promises).then(function (results) { |
| | | $log.debug("promises 결과 ", results); |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-11-22. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('issueModifyStatusController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$timeout', '$stateParams', 'parameter', |
| | | 'Issue', 'IssueStatus', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $timeout, $stateParams, parameter, Issue, IssueStatus, $filter) { |
| | | |
| | | // 함수 모음 |
| | | $scope.fn = { |
| | | cancel: cancel, // 팝업 창 닫기 |
| | | formSubmit: formSubmit, // 폼 전송 |
| | | formCheck: formCheck, // 폼 체크 |
| | | findNextMultiIssueStatus: findNextMultiIssueStatus // 이동 가능한 이슈 상태를 찾는다. |
| | | }; |
| | | |
| | | // 변수 모음 |
| | | $scope.vm = { |
| | | issueStatusList: [], // 변경 가능한 상태 목록 |
| | | form: { |
| | | issueStatusId: "", |
| | | comment: "" |
| | | } |
| | | }; |
| | | |
| | | // 이동 가능한 이슈 상태를 찾는다. |
| | | function findNextMultiIssueStatus() { |
| | | $rootScope.spinner = true; |
| | | |
| | | IssueStatus.findNextMultiIssueStatus($resourceProvider.getContent( |
| | | {issueIds: parameter.issueIds}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueStatusList = result.data.data; |
| | | } else { |
| | | SweetAlert.swal($filter("translate")("issue.failedIssueStatusCheck"), result.data.message.message, "error"); // 이동 가능한 이슈 상태 조회 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | ids: parameter.issueIds, |
| | | issueStatusId: $scope.vm.form.issueStatusId, |
| | | comment: $scope.vm.form.comment |
| | | }; |
| | | |
| | | Issue.modifyMultiIssueStatus($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | |
| | | $rootScope.$broadcast("getIssueList", {}); |
| | | |
| | | if ($rootScope.isDefined($rootScope.currentDetailIssueId)) { |
| | | $rootScope.$broadcast("getIssueDetail", {id: $rootScope.currentDetailIssueId}); |
| | | } |
| | | } else { |
| | | SweetAlert.error($filter("translate")("issue.failedToChangeMultipleIssueStatus"), result.data.message.message); // 다중 이슈 상태 변경 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 이동 가능한 이슈 상태를 찾는다. |
| | | $scope.fn.findNextMultiIssueStatus(); |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by Maprex on 2021-06-08 |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueModifyUserController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance','$injector', '$controller', 'SweetAlert', '$timeout', '$stateParams', '$q', 'parameter', |
| | | 'IssueUser', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, SweetAlert, $timeout, $stateParams, $q, parameter, IssueUser, $filter) { |
| | | |
| | | // 함수 모음 |
| | | $scope.fn = { |
| | | cancel: cancel, // 팝업 창 닫기 |
| | | formSubmit: formSubmit, // 폼 전송 |
| | | formCheck: formCheck, // 폼 체크 |
| | | removeManager : removeManager, // 담당자 삭제 |
| | | load : load, // 현재 담당자 가져오기 |
| | | startExecute : startExecute // 시작시 실행 |
| | | }; |
| | | |
| | | // 변수 모음 |
| | | $scope.vm = { |
| | | form : { |
| | | users : [], // 담당자 |
| | | projects : [] |
| | | }, |
| | | userName : "", // 사용자 검색 |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 담당자 삭제 |
| | | function removeManager(index) { |
| | | $scope.vm.form.users.splice(index, 1); |
| | | } |
| | | |
| | | // 담당자 autocomplete page 업데이트트 |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id[0], |
| | | projectId : parameter.projectId[0], |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | }; |
| | | |
| | | IssueUser.modify($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | |
| | | $rootScope.$broadcast("getIssueList", {}); |
| | | |
| | | if ($rootScope.isDefined($rootScope.currentDetailIssueId)) { |
| | | $rootScope.$broadcast("getIssueDetail", {id: $rootScope.currentDetailIssueId}); |
| | | } |
| | | } else { |
| | | SweetAlert.error($filter("translate")("issue.failedToChangeMultipleIssueStatus"), result.data.message.message); // 다중 이슈 상태 변경 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 최초 실행 |
| | | function startExecute() { |
| | | var promises = { |
| | | users : $scope.fn.load() |
| | | }; |
| | | |
| | | $q.all(promises).then(function (results) { |
| | | $log.debug("promises 결과 ", results); |
| | | }); |
| | | } |
| | | |
| | | function load() { |
| | | $scope.vm.form.projects = []; |
| | | $scope.vm.form.projects.push(parameter.project[0]); |
| | | |
| | | var userVos = parameter.userVos[0]; |
| | | |
| | | if (userVos.length > 0 && userVos[0] != undefined) { |
| | | $scope.vm.form.users = userVos; |
| | | } else { |
| | | $scope.vm.form.users = []; |
| | | } |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('issueReservationController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$filter', 'parameter', 'IssueReservation', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $filter, parameter, IssueReservation) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | initReservation : initReservation, // 이슈 발생 예약 정보를 초기화한다. |
| | | getIssueReservation : getIssueReservation // 이슈 발생 예약 정보를 조회한다. |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | id : "", |
| | | issueId : parameter.issueId, // 이슈 번호 |
| | | issueReservationType : "", // 예약 유형 |
| | | reservation : "", // 예약일 |
| | | reservationMonth : "", // 예약 유형이 매년 일때 월 |
| | | reservationDay : "" // 예약 유형이 매년 일때 일 |
| | | } |
| | | }; |
| | | |
| | | // 이슈 발생 예약 정보를 초기화한다. |
| | | function initReservation() { |
| | | $scope.vm.form.reservation = ""; |
| | | $scope.vm.form.reservationMonth = ""; |
| | | $scope.vm.form.reservationDay = ""; |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : $scope.vm.form.id, |
| | | issueId : $scope.vm.form.issueId, |
| | | issueReservationType : $scope.vm.form.issueReservationType, |
| | | reservation : (function () { |
| | | var reservation = $scope.vm.form.reservation; |
| | | |
| | | if ($scope.vm.form.issueReservationType === "YEAR") { |
| | | reservation = $scope.vm.form.reservationMonth + "-" + $scope.vm.form.reservationDay; |
| | | } |
| | | |
| | | return reservation; |
| | | |
| | | })() |
| | | }; |
| | | |
| | | IssueReservation.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.form.id = result.data.data.id; |
| | | $scope.fn.cancel(); |
| | | SweetAlert.success($filter("translate")("issue.succeededIssueReservation"), result.data.message.messages); // 이슈 발생 예약 저장 성공 |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueReservation"), result.data.message.messages); // 이슈 발생 예약 저장 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 이슈 발생 예약 정보를 조회한다. |
| | | function getIssueReservation() { |
| | | $rootScope.spinner = true; |
| | | |
| | | IssueReservation.detail($resourceProvider.getContent( |
| | | { |
| | | issueId : $scope.vm.form.issueId |
| | | }, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.form.id = result.data.data.id; |
| | | $scope.vm.form.issueReservationType = result.data.data.issueReservationType; |
| | | |
| | | if ($scope.vm.form.issueReservationType === "YEAR") { |
| | | var reservationDate = result.data.data.reservation.split("-"); |
| | | |
| | | $scope.vm.form.reservationMonth = reservationDate[0]; |
| | | $scope.vm.form.reservationDay = reservationDate[1]; |
| | | |
| | | } |
| | | else { |
| | | $scope.vm.form.reservation = result.data.data.reservation; |
| | | } |
| | | |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedToIssueReservationDetails"), result.data.message.message); // 이슈 발생 예약 상세 조회 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 이슈 발생 예약 정보를 조회한다. |
| | | $scope.fn.getIssueReservation(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueSendMailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'SweetAlert', '$filter', 'parameter', 'Issue', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $controller, $injector, SweetAlert, $filter, parameter, Issue) { |
| | | |
| | | $scope.fn = { |
| | | getUserListCallBack : getUserListCallBack, // 사용자 auto complete callback function |
| | | removeManager : removeManager, // 전송 대상자 삭제 |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | id : parameter.issueId, // 이슈 번호 |
| | | projects : [{ id : parameter.projectId}], // 프로젝트 |
| | | users : [] // 메일 전송받는 사용자 |
| | | }, |
| | | userName : "", |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | } |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.users.length < 1) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : $scope.vm.form.id, |
| | | sendEmails : (function () { |
| | | var sendEmails = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | sendEmails.push($rootScope.encryption(user.account)); |
| | | }); |
| | | |
| | | return sendEmails; |
| | | })() |
| | | }; |
| | | |
| | | Issue.sendEmail($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | SweetAlert.success($filter("translate")("issue.succeededIssueMail"), $filter("translate")("issue.sentToTheSelectedUser")); // "이슈 메일 발송 완료" |
| | | $scope.fn.cancel(); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.failedIssueMail"), result.data.message.message); // "이슈 메일 발송 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 사용자 auto complete callback function |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 전송 대상자 삭제 |
| | | function removeManager(index) { |
| | | $scope.vm.form.users.splice(index, 1); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('issueVersionViewController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'SweetAlert', '$filter', 'parameter', 'IssueVersion', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, SweetAlert, $filter, parameter, IssueVersion) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | getIssueVersion : getIssueVersion, // 이슈 버전 정보를 조회한다. |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | issueId : parameter.issueId, // 이슈 번호 |
| | | }, |
| | | issueVersion : {}, |
| | | }; |
| | | |
| | | $scope.$on("getIssueVersion", function (event, args) { |
| | | $scope.fn.getIssueVersion(args.id); |
| | | }); |
| | | |
| | | // 이슈 버전 정보를 조회한다. |
| | | function getIssueVersion(id) { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : id, |
| | | issueId : $scope.vm.form.issueId |
| | | }; |
| | | |
| | | IssueVersion.find($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueVersion = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("issue.issueVersionLookupFailed"), result.data.message.message); // 이슈 버전 조회 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 이슈 버전 정보를 조회한다. |
| | | $scope.fn.getIssueVersion(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('issueStatus', { |
| | | abstract : true, |
| | | url : "/issueStatus", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('issueStatus.list', { |
| | | url : '/issueStatusList', |
| | | data : { |
| | | authorities : ['ISSUE_STATUS_TOTAL'] |
| | | }, |
| | | templateUrl : 'views/issueStatus/issueStatusList.html', |
| | | controller : "issueStatusListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["issueStatusListController", 'issueStatusAddController', 'issueStatusModifyController', 'jsTable', 'tableColumnGenerator', 'issueStatusService', |
| | | 'colorPalette', 'colorPalettePicker', 'modalFormAutoScroll', 'formSubmit', 'jsShortCut', 'inputRegex'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('issueStatusAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'User', '$uibModalInstance', 'IssueStatus', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, User, $uibModalInstance, IssueStatus, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | name : "", // 이슈 상태 명 |
| | | issueStatusType : "OPEN", // 이슈 상태 유형 |
| | | color : "#febd35" // 색상 |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | $scope.vm.form.name = $rootScope.preventXss($scope.vm.form.name); |
| | | |
| | | IssueStatus.add($resourceProvider.getContent( |
| | | $scope.vm.form, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getIssueStatusList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("managementStatus.failedToCreateIssueStatus"), result.data.message.message); //"이슈 상태 생성 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueStatusListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'IssueStatus', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, IssueStatus, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | changePageRowCount : changePageRowCount, // 페이지 변경 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | add : add, // 이슈 상태 생성 |
| | | makeSearchConditions : makeSearchConditions, // 이슈 상태 목록 검색 조건을 만든다. |
| | | removes : removes // 삭제 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | name : "", // 이슈 상태 명 |
| | | issueStatusTypes : [] |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | }, |
| | | options : { |
| | | issueStatusTypes : [{ |
| | | fieldKey : "READY", |
| | | fieldValue : $filter("translate")("common.wait") // "대기" |
| | | }, { |
| | | fieldKey : "OPEN", |
| | | fieldValue : $filter("translate")("common.progress") // "진행" |
| | | }, { |
| | | fieldKey : "CLOSE", |
| | | fieldValue : $filter("translate")("common.end") // "종료" |
| | | }] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify |
| | | }; |
| | | |
| | | // 이슈 상태 목록 화면 새로 고침 |
| | | $scope.$on("getIssueStatusList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 이슈 상태 목록 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setDType("checkbox") |
| | | .setHWidth("width-20-p") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("issue.issueStatus") |
| | | .setHWidth("bold") |
| | | .setDType("renderer") |
| | | .setDName("name") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("managementStatus.statusProperties") |
| | | .setDType("renderer") |
| | | .setHWidth("width-120-p bold") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("ISSUE_STATUS_TYPE")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.color") |
| | | .setHWidth("width-140-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COLOR")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.workflow") |
| | | .setDType("renderer") |
| | | .setHWidth("width-300-p bold") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("USE_WORKFLOW_LIST")); |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 이슈 상태 목록 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | return { |
| | | name : $scope.vm.search.name, |
| | | issueStatusTypes : (function () { |
| | | var issueStatusTypes = []; |
| | | |
| | | angular.forEach($scope.vm.search.issueStatusTypes, function (issueStatusType) { |
| | | issueStatusTypes.push(issueStatusType.fieldKey); |
| | | }); |
| | | |
| | | return issueStatusTypes; |
| | | })(), |
| | | deep : "01" // 이슈 상태를 사용하는 워크플로우 정보를 찾는다. |
| | | }; |
| | | } |
| | | |
| | | // 이슈 상태 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | // 이슈 상태 목록 검색 조건을 만든다. |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | IssueStatus.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("common.failedToIssueStatusListLookup"), result.data.message.message, "error"); //"이슈 상태 목록 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function changePageRowCount() { |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | // 이슈 상태 생성 팝업 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issueStatus/issueStatusAdd.html', |
| | | size : "md", |
| | | controller : 'issueStatusAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 이슈 상태 수정 팝업 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issueStatus/issueStatusModify.html', |
| | | size : "md", |
| | | controller : 'issueStatusModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 상태 삭제 팝업 |
| | | function removes() { |
| | | var removeIds = []; |
| | | |
| | | angular.forEach($scope.vm.responseData.data, function (data) { |
| | | if (data.checked) { |
| | | removeIds.push(data.id); |
| | | } |
| | | }); |
| | | |
| | | if (removeIds.length < 1) { |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("common.checkPurgingTargets"), // 삭제 대상 확인 |
| | | text : $filter("translate")("common.selectDestinationDeletion"), // 삭제 대상을 선택하세요. |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("managementStatus.deleteIssueStatus"), // "이슈 상태 삭제" |
| | | text : $filter("translate")("managementStatus.wantToDeleteSelectIssueStatus"), // "선택한 이슈 상태를 삭제하겠습니까? 삭제된 이슈 상태는 복구할 수 없습니다." |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // 삭제 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | IssueStatus.remove($resourceProvider.getContent( |
| | | { removeIds : removeIds }, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $timeout(function () { |
| | | SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공 |
| | | }, 100); |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // 삭제 실패 |
| | | }, 100); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueStatusModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'IssueStatus', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, IssueStatus, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail // 상세 정보 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id, |
| | | deep : "01" // 이슈 상태 연관된 모든 정보를 어느정도까지 가져올지 결정, 01 - 일반 정보, 연관된 정보 |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | name : "", |
| | | issueStatusType : "", // 이슈 상태 유형 |
| | | color : "", // 색상 |
| | | useYn : false, // 사용 여부 |
| | | defaultYn : false // 기본 생성으로 제공 여부 |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | $scope.vm.form.name = $rootScope.preventXss($scope.vm.form.name); |
| | | |
| | | IssueStatus.modify($resourceProvider.getContent( |
| | | $scope.vm.form, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getIssueStatusList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("managementStatus.failedToModifyIssueStatus"), result.data.message.message); // "이슈 상태 수정 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | function detail() { |
| | | IssueStatus.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.data)) { |
| | | $scope.vm.form.name = result.data.data.name; |
| | | $scope.vm.form.issueStatusType = result.data.data.issueStatusType; |
| | | $scope.vm.form.color = result.data.data.color; |
| | | $scope.vm.form.useYn = result.data.data.useYn; |
| | | $scope.vm.form.defaultYn = result.data.data.defaultYn; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("managementStatus.failedToIssueStatusDetails"), result.data.message.message, "error"); // "이슈 상태 상세 정보 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('issueTypes', { |
| | | abstract : true, |
| | | url : "/issueType", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('issueTypes.list', { |
| | | url : '/issueTypeList', |
| | | data : { |
| | | authorities : ['ISSUE_TYPE_TOTAL'] |
| | | }, |
| | | templateUrl : 'views/issueType/issueTypeList.html', |
| | | controller : "issueTypeListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["issueTypeListController", 'issueTypeAddController', 'issueTypeModifyController', 'jsTable', 'tableColumnGenerator', 'issueTypeService', 'modalFormAutoScroll', |
| | | 'workflowService', 'colorPalette', 'colorPalettePicker', 'formSubmit', 'jsShortCut', 'inputRegex'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueTypeAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'IssueType', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $controller, $injector, IssueType, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | getWorkflowListCallBack : getWorkflowListCallBack, // 워크플로우 auto complete callback function |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | name : "", // 이슈 타입 명 |
| | | workflows : [], // 워크플로우 |
| | | description : "", // 설명 |
| | | color : "#febd35" // 색상 |
| | | }, |
| | | workflowName : "", |
| | | autoCompletePage : { |
| | | workflow : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | options : { |
| | | callbacks: { |
| | | onImageUpload: function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop: true, |
| | | shortcuts: true, |
| | | toolbar: [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap: { |
| | | pc: { |
| | | 'ENTER': 'insertParagraph', |
| | | 'CTRL+Z': 'undo', |
| | | 'CTRL+Y': 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB': 'untab', |
| | | 'CTRL+B': 'bold', |
| | | 'CTRL+I': 'italic', |
| | | 'CTRL+U': 'underline', |
| | | 'CTRL+SHIFT+S': 'strikethrough', |
| | | 'CTRL+BACKSLASH': 'removeFormat', |
| | | 'CTRL+SHIFT+L': 'justifyLeft', |
| | | 'CTRL+SHIFT+E': 'justifyCenter', |
| | | 'CTRL+SHIFT+R': 'justifyRight', |
| | | 'CTRL+SHIFT+J': 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7': 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8': 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET': 'outdent', |
| | | 'CTRL+RIGHTBRACKET': 'indent', |
| | | 'CTRL+NUM0': 'formatPara', |
| | | 'CTRL+NUM1': 'formatH1', |
| | | 'CTRL+NUM2': 'formatH2', |
| | | 'CTRL+NUM3': 'formatH3', |
| | | 'CTRL+NUM4': 'formatH4', |
| | | 'CTRL+NUM5': 'formatH5', |
| | | 'CTRL+NUM6': 'formatH6', |
| | | 'CTRL+ENTER': 'insertHorizontalRule', |
| | | 'CTRL+K': 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.workflows.length < 1) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | workflowId : (function () { |
| | | var workflowId = ""; |
| | | |
| | | if ($scope.vm.form.workflows.length > 0) { |
| | | workflowId = $scope.vm.form.workflows[0].id; |
| | | } |
| | | |
| | | return workflowId; |
| | | })(), |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | description : $rootScope.preventXss($scope.vm.form.description), |
| | | color : $scope.vm.form.color |
| | | }; |
| | | |
| | | IssueType.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getIssueTypeList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("managementType.failedToCreateIssueType"), result.data.message.message); // "이슈 타입 생성 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 워크플로우 auto complete callback function |
| | | function getWorkflowListCallBack(result) { |
| | | $scope.vm.autoCompletePage.workflow.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueTypeListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'IssueType', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal,IssueType, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | changePageRowCount : changePageRowCount, // 페이지 변경 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | makeSearchConditions : makeSearchConditions, // 이슈 타입 목록 검색 조건을 만든다. |
| | | add : add, // 이슈 유형 생성 |
| | | removes : removes // 이슈 유형 삭제 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | name : "" // 이슈 유형 명 |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify |
| | | }; |
| | | |
| | | // 이슈 유형 목록 화면 새로 고침 |
| | | $scope.$on("getIssueTypeList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 이슈 유형 목록 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setDType("checkbox") |
| | | .setHWidth("width-20-p") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("issue.issueType") |
| | | .setHWidth("bold") |
| | | .setDType("renderer") |
| | | .setDName("name") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COMMON_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.color") |
| | | .setHWidth("width-140-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("COLOR")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.workflow") |
| | | .setDType("renderer") |
| | | .setHWidth("width-220-p bold") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("WORKFLOW_NAME")); |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 이슈 타입 목록 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | return { |
| | | name : $scope.vm.search.name, |
| | | deep : "01" // 이슈 유형에 연결된 워크플로우 정보를 찾는다. |
| | | }; |
| | | } |
| | | |
| | | // 이슈 유형 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | // 이슈 타입 목록 검색 조건을 만든다. |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | IssueType.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("managementType.failedToIssueTypeList"), result.data.message.message); // "이슈 유형 목록 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function changePageRowCount() { |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | // 이슈 유형 생성 팝업 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issueType/issueTypeAdd.html', |
| | | size : "md", |
| | | controller : 'issueTypeAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 이슈 유형 수정 팝업 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/issueType/issueTypeModify.html', |
| | | size : "md", |
| | | controller : 'issueTypeModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 유형 삭제 팝업 |
| | | function removes() { |
| | | var removeIds = []; |
| | | var notRemoveIssueTypeNames = ""; |
| | | var removePermission = true; |
| | | |
| | | angular.forEach($scope.vm.responseData.data, function (data) { |
| | | if (data.checked) { |
| | | removeIds.push(data.id); |
| | | } |
| | | }); |
| | | |
| | | if (!removePermission) { |
| | | SweetAlert.swal({ |
| | | html : true, |
| | | title : $filter("translate")("common.deleteFailed"), // 삭제 실패 |
| | | text : $filter("translate")("managementType.notHaveDeletePermissionExistsIssueType") + notRemoveIssueTypeNames, // "삭제 권한이 없는 이슈 유형이 존재합니다." |
| | | type : "error" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | if (removeIds.length < 1) { |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("common.checkPurgingTargets"), // 삭제 대상 확인 |
| | | text : $filter("translate")("common.selectDestinationDeletion"), // 삭제 대상을 선택하세요. |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("managementType.deleteIssueType"), // "이슈 유형 삭제" |
| | | text : $filter("translate")("managementType.wantToDeleteSelectIssueType"), // "선택한 이슈 유형를 삭제하겠습니까? 삭제된 이슈 유형은 복구할 수 없습니다." |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // 삭제 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | IssueType.remove($resourceProvider.getContent( |
| | | { removeIds : removeIds }, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $timeout(function () { |
| | | SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공 |
| | | }, 100); |
| | | |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // 삭제 실패 |
| | | }, 100); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('issueTypeModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$controller', '$injector', 'IssueType', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $controller, $injector, IssueType, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | getWorkflowListCallBack : getWorkflowListCallBack, // 워크플로우 auto complete callback function |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail // 상세 정보 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id, |
| | | deep : "01" // 이슈 타입 연관된 모든 정보를 어느정도까지 가져올지 결정, 01 - 일반 정보, 연관된 정보 |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | name : "", |
| | | workflows : [], // 워크플로우 |
| | | description : "", // 설명 |
| | | color : "" // 색상 |
| | | }, |
| | | workflowName : "", |
| | | autoCompletePage : { |
| | | workflow : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | options : { |
| | | callbacks: { |
| | | onImageUpload: function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop: true, |
| | | shortcuts: true, |
| | | toolbar: [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap: { |
| | | pc: { |
| | | 'ENTER': 'insertParagraph', |
| | | 'CTRL+Z': 'undo', |
| | | 'CTRL+Y': 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB': 'untab', |
| | | 'CTRL+B': 'bold', |
| | | 'CTRL+I': 'italic', |
| | | 'CTRL+U': 'underline', |
| | | 'CTRL+SHIFT+S': 'strikethrough', |
| | | 'CTRL+BACKSLASH': 'removeFormat', |
| | | 'CTRL+SHIFT+L': 'justifyLeft', |
| | | 'CTRL+SHIFT+E': 'justifyCenter', |
| | | 'CTRL+SHIFT+R': 'justifyRight', |
| | | 'CTRL+SHIFT+J': 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7': 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8': 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET': 'outdent', |
| | | 'CTRL+RIGHTBRACKET': 'indent', |
| | | 'CTRL+NUM0': 'formatPara', |
| | | 'CTRL+NUM1': 'formatH1', |
| | | 'CTRL+NUM2': 'formatH2', |
| | | 'CTRL+NUM3': 'formatH3', |
| | | 'CTRL+NUM4': 'formatH4', |
| | | 'CTRL+NUM5': 'formatH5', |
| | | 'CTRL+NUM6': 'formatH6', |
| | | 'CTRL+ENTER': 'insertHorizontalRule', |
| | | 'CTRL+K': 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.workflows.length < 1) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | workflowId : (function () { |
| | | var workflowId = ""; |
| | | |
| | | if ($scope.vm.form.workflows.length > 0) { |
| | | workflowId = $scope.vm.form.workflows[0].id; |
| | | } |
| | | |
| | | return workflowId; |
| | | })(), |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | description : $rootScope.preventXss($scope.vm.form.description), |
| | | color : $scope.vm.form.color |
| | | }; |
| | | |
| | | IssueType.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getIssueTypeList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("managementType.failedToModifyIssueType"), result.data.message.message); // "이슈 타입 수정 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 워크플로우 auto complete callback function |
| | | function getWorkflowListCallBack(result) { |
| | | $scope.vm.autoCompletePage.workflow.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | function detail() { |
| | | $scope.vm.form.workflows = []; |
| | | |
| | | IssueType.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | $scope.vm.form.name = result.data.data.name; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | $scope.vm.form.workflows.push(result.data.data.workflowVo); |
| | | $scope.vm.workflowName = result.data.data.workflowVo.name; |
| | | $scope.vm.form.color = result.data.data.color; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("managementType.failedToDetailIssueType"), result.data.message.message, "error"); // "이슈 타입 상세 정보 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define(['app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('loginController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'Auth', 'UserHistory', '$uibModal', 'SweetAlert', '$cookies', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, Auth, UserHistory, $uibModal, SweetAlert, $cookies, $filter) { |
| | | $scope.fn = { |
| | | login: login, // 로그인 |
| | | formCheck: formCheck, // 폼 체크 |
| | | addSocial: addSocial, // 소셜 회원 가입 |
| | | saveAccount: saveAccount, // 아이디 기억하기 |
| | | searchPassword: searchPassword, // 비밀번호 찾기 |
| | | showNotice: showNotice |
| | | }; |
| | | |
| | | // showNotice(); |
| | | |
| | | function getCookie(name) { |
| | | var value = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)'); |
| | | return value? value[2] : null; |
| | | } |
| | | |
| | | function showNotice() { |
| | | var result = getCookie("popupYN"); |
| | | if (result == 'N') { |
| | | return; |
| | | } |
| | | else { |
| | | $uibModal.open({ |
| | | animation: true, |
| | | templateUrl: 'views/popup/notice.html', |
| | | windowClass: 'notice-modal', |
| | | controller: 'noticeModalController', |
| | | size: 'lg', |
| | | backdrop: false |
| | | }); |
| | | } |
| | | } |
| | | |
| | | $scope.vm = { |
| | | form: { |
| | | account: $rootScope.isDefined($cookies.get("account")) ? $cookies.get("account") : "", |
| | | password: "", |
| | | rememberMe: false |
| | | }, |
| | | authenticationError: false |
| | | }; |
| | | |
| | | |
| | | // 아이디 기억하기 |
| | | function saveAccount() { |
| | | if ($rootScope.isDefined($scope.vm.form.account)) { |
| | | $cookies.put("account", $scope.vm.form.account); |
| | | } |
| | | } |
| | | |
| | | // 비밀번호 찾기 |
| | | function searchPassword() { |
| | | $uibModal.open({ |
| | | templateUrl: 'views/user/userPassword.html', |
| | | size: "md", |
| | | controller: 'userPasswordController', |
| | | backdrop: 'static' |
| | | }); |
| | | } |
| | | |
| | | // 소셜 회원 가입 |
| | | function addSocial(type) { |
| | | var url = ""; |
| | | |
| | | switch (type) { |
| | | case "google" : |
| | | url = "views/login/google.html"; |
| | | location.href = url; |
| | | break; |
| | | case "naver" : |
| | | url = "views/login/naver.html"; |
| | | location.href = url; |
| | | break; |
| | | case "kakao" : |
| | | url = "views/login/kakao.html"; |
| | | location.href = url; |
| | | |
| | | break; |
| | | case "facebook": |
| | | url = "views/login/facebook.html"; |
| | | location.href = url; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck() { |
| | | if (!$rootScope.isDefined($scope.vm.form.account)) { |
| | | return true; |
| | | } |
| | | |
| | | if (!$rootScope.isDefined($scope.vm.form.password)) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.password.length < 4) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 로그인 |
| | | function login() { |
| | | // 엔터키를 사용할 때 폼 체크 |
| | | if ($scope.fn.formCheck()) { |
| | | return; |
| | | } |
| | | |
| | | Auth.login({ |
| | | account: $rootScope.encryption($scope.vm.form.account), |
| | | password: CryptoJS.SHA512($scope.vm.form.password).toString(), |
| | | rememberMe: $scope.vm.form.rememberMe |
| | | }).then(function () { |
| | | $scope.vm.authenticationError = false; |
| | | AddLoginHistory(); |
| | | }).catch(function () { |
| | | $scope.vm.authenticationError = true; |
| | | }); |
| | | } |
| | | |
| | | function AddLoginHistory() { |
| | | UserHistory.addLoginHistory().then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $rootScope.back(); |
| | | } |
| | | else { |
| | | $log.warn('addLoginHistory:', '(failed)insert login history'); |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('login', { |
| | | url: "/login", |
| | | templateUrl: "views/login/login.html", |
| | | data: { |
| | | authorities: [] |
| | | }, |
| | | controller: "loginController", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["loginController", "userAddController", "userPasswordController", "inputRegex", "noticeModalController", "UserHistory"], function ( ) { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }], |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('terms', { |
| | | url: "/terms", |
| | | templateUrl: "views/login/terms.html", |
| | | data: { |
| | | authorities: [] |
| | | }, |
| | | controller: "", |
| | | resolve : {} |
| | | }) |
| | | .state('join', { |
| | | url: "/join", |
| | | templateUrl: "views/user/userAdd.html", |
| | | data: { |
| | | authorities: [] |
| | | }, |
| | | controller: "userAddController", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["userAddController", "userPasswordController", "inputRegex"], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }], |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('superJoin', { |
| | | url: "/superJoin", |
| | | templateUrl: "views/user/superUserAdd.html", |
| | | data: { |
| | | authorities: [] |
| | | }, |
| | | controller: "userAddController", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["userAddController", "userPasswordController", "inputRegex"], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }], |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-12-10. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('manageUserController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$q', '$state', '$tableProvider', 'ManageUser', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $q, $state, $tableProvider, ManageUser, $filter) { |
| | | |
| | | /* $scope.fn 상속 중 */ |
| | | $scope.fn.getUserWorkspaceList = getUserWorkspaceList; // 업무 공간 전체 사용자 정보 |
| | | $scope.fn.makeTableConfigs = makeTableConfigs; // 업무 공간에 참여하는 전체 사용자 목록 테이블 설정 |
| | | $scope.fn.initSearch = initSearch; // 검색 조건 초기화 |
| | | $scope.fn.changePageRowCount = changePageRowCount; // 업무 공간 참여 사용자 목록 보기 개수 변경 |
| | | |
| | | |
| | | /* $scope.vm 상속 중 */ |
| | | $scope.vm.search = { |
| | | name : "", // 이름 |
| | | account : "", // 이메일 |
| | | statuses : [] // 상태 - Y, N |
| | | }; |
| | | |
| | | $scope.vm.options = { |
| | | statuses : [{ |
| | | fieldKey : "Y", |
| | | fieldValue : $filter("translate")("managementWorkspace.participation") // "참여" |
| | | }, { |
| | | fieldKey : "N", |
| | | //fieldValue : $filter("translate")("managementWorkspace.waitForParticipation") // "참여대기" |
| | | fieldValue : $filter("translate")("managementWorkspace.withdrawal") // "탈퇴" |
| | | }] |
| | | }; |
| | | |
| | | $scope.vm.page = { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }; |
| | | |
| | | $scope.vm.tableConfigs = []; |
| | | $scope.vm.responseData = { |
| | | data : [] |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.vm.tableEvent = { |
| | | modifyUserPermission : modifyUserPermission // 업무 공간 참여하는 사용자의 참여 상태 변경 |
| | | }; |
| | | |
| | | function modifyUserPermission(uerPermission ) { |
| | | ManageUser.modify($resourceProvider.getContent( |
| | | uerPermission, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("managementWorkspace.failedToParticipationStatusChange"), result.data.message.message); // "참여 상태 변경 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $scope.vm.search.name = ""; |
| | | $scope.vm.search.account = ""; |
| | | $scope.vm.search.statuses = ["Y"]; |
| | | $scope.fn.getUserWorkspaceList(0); |
| | | } |
| | | |
| | | // 업무 공간 참여 사용자 목록 보기 개수 변경 |
| | | function changePageRowCount() { |
| | | $scope.fn.getUserWorkspaceList(0); |
| | | } |
| | | |
| | | // 업무공간 전체 사용자 목록 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.name") |
| | | .setHWidth("width-20-p") |
| | | .setDAlign("text-center") |
| | | .setDName("userName")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.email") |
| | | .setHWidth("width-40-p") |
| | | .setDAlign("text-center") |
| | | .setDName("account")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageProjectPerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("PROJECT_SETTING_PERM_YN")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageIssueSystemPerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("ISSUE_SETTING_PERM_YN")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageUserPerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("USER_PERM_YN")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageNoticePerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("NOTICE_PERM_YN")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageFAQPerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("FAQ_PERM_YN")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageQnAPerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("QNA_PERM_YN")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageEventPerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("EVENT_PERM_YN")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("manageUser.manageGuidePerm") |
| | | .setHWidth("width-20-p") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center pdr0 pdt0 pdl0 pdb0") |
| | | .setDRenderer("GUIDE_PERM_YN")); |
| | | } |
| | | |
| | | // 업무 공간 전체 사용자 목록 조회 |
| | | function getUserWorkspaceList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = { |
| | | name : $scope.vm.search.name, |
| | | account : $scope.vm.search.account, |
| | | statuses : (function () { |
| | | var statuses = []; |
| | | statuses.push("Y"); |
| | | /* |
| | | angular.forEach($scope.vm.search.statuses, function (status) { |
| | | statuses.push(status.fieldKey); |
| | | }); |
| | | */ |
| | | return statuses; |
| | | })(), |
| | | }; |
| | | |
| | | ManageUser.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | //alert(result.data[0].userName); |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("managementWorkspace.failedToSelectWorkspaceFullUserList"), result.data.message.message); // "업무 공간 전체 사용자 목록 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | $scope.fn.getUserWorkspaceList(); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-02-13. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('manageuser', { |
| | | abstract : true, |
| | | url : "/manageUser", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('manageuser.manageuser', { |
| | | url : "/manageUser", |
| | | data : { |
| | | authorities : ['WORKSPACE_MANAGER'] |
| | | }, |
| | | templateUrl : 'views/manageUser/manageUser.html', |
| | | controller : "manageUserController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["modalFormAutoScroll", "manageUserController", "manageUserService", 'jsTable', 'tableColumnGenerator'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('notices', { |
| | | abstract : true, |
| | | url : "/notices", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('notices.list', { |
| | | url : '/noticeList', |
| | | data : { |
| | | authorities : ['NOTICE_READ'] |
| | | }, |
| | | templateUrl : 'views/notice/noticeList.html', |
| | | controller : "noticeListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(['noticeListController', 'noticeAddController', 'noticeModifyController', 'noticeViewController', |
| | | 'noticeService', 'jsTable', 'tableColumnGenerator', 'formSubmit'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('noticeAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Notice', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Notice, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | Notice.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getNoticeList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("notice.failedNoticeRegistration"), result.data.message.message); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('noticeListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'Notice', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, Notice, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | makeSearchConditions : makeSearchConditions, |
| | | add : add, // 공지사항 등록 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | title : "" |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify, |
| | | view : view |
| | | }; |
| | | |
| | | // 공지사항 목록 화면 새로 고침 |
| | | $scope.$on("getNoticeList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 사용자 목록 다운로드 받기 |
| | | function makeSearchConditions() { |
| | | return {}; |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.number") |
| | | .setHWidth("width-60-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("id")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.title") |
| | | .setHWidth("bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("NOTICE_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.registrationDate") |
| | | .setHWidth("width-100-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("registerDate")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.register") |
| | | .setHWidth("width-180-p bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("NOTICE_REGISTER")); |
| | | } |
| | | |
| | | // 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = { |
| | | title : $scope.vm.search.title |
| | | }; |
| | | |
| | | Notice.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("notice.failedToLookupNotificationList"), result.data.message.message); //공지 사항 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 공지사항 등록 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/notice/noticeAdd.html', |
| | | size : "md", |
| | | controller : 'noticeAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 공지사항 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/notice/noticeModify.html', |
| | | size : "md", |
| | | controller : 'noticeModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 공지사항 보기 |
| | | function view(title, description) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/notice/noticeView.html', |
| | | size : "lg", |
| | | controller : 'noticeViewController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | title : title, |
| | | description : description |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | // 목록 조회 |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('noticeModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Notice', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Notice, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail // 상세 정보 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | Notice.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getNoticeList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("notice.failedToModifyNotice"), result.data.message.message); //공지 사항 수정 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 조회 |
| | | function detail() { |
| | | Notice.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("notice.failedToLookupNotificationDetails"), result.data.message.message); //공지사항 상세 정보 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 공지사항 상세 조회 |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('noticeViewController', ['$scope', '$log', '$rootScope', '$uibModalInstance', 'parameter', |
| | | function ($scope, $log, $rootScope, $uibModalInstance, parameter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel // 팝업 창 닫기 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | viewer : { |
| | | title : parameter.title, |
| | | description : parameter.description |
| | | } |
| | | }; |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define(['app', |
| | | 'angular', |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('noticeModalController', ['$scope', '$rootScope', '$log', '$uibModal', '$uibModalInstance', |
| | | function ($scope, $rootScope, $log, $uibModal, $uibModalInstance) { |
| | | $scope.notcieModel = { |
| | | isChecked : false |
| | | }; |
| | | |
| | | $scope.fn = { |
| | | closeModal : closeModal // 팝업창 닫기 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | account : "" |
| | | } |
| | | }; |
| | | |
| | | // 닫기 |
| | | function closeModal(is) { |
| | | if ($scope.notcieModel.isChecked) { |
| | | setCookie("popupYN", 'N', 1); |
| | | } |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | } |
| | | |
| | | function setCookie(name, value, expiredays) { |
| | | var date = new Date(); |
| | | date.setDate(date.getDate() + expiredays); |
| | | var str = escape(name) + "=" + escape(value) + "; expires=" + date.toUTCString(); |
| | | console.log(str); |
| | | document.cookie = str; |
| | | } |
| | | } |
| | | ]) |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('projects', { |
| | | abstract : true, |
| | | url : "/projects", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('projects.list', { |
| | | url : '/projectList', |
| | | data : { |
| | | authorities : ['PROJECT_READ'] |
| | | }, |
| | | templateUrl : 'views/project/projectList.html', |
| | | controller : "projectTabController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["projectTabController", "projectListController", "projectTimelineController", 'projectAddController', 'projectModifyController', 'textUpperString', 'workflowService', 'projectCustomFieldConfigController', |
| | | 'chartLoader', 'bootstrapDateRangePicker', 'moment', 'dateRangePicker', 'modalFormAutoScroll', 'jsTable', 'tableColumnGenerator', 'issueTypeService', 'customFieldService', 'tableUserImage', |
| | | 'issueTypeCustomFieldService', 'owlProjectKey', 'formSubmit', 'jsShortCut', 'inputRegex'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-15. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app,angular) { |
| | | app.controller('projectAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'User', '$uibModalInstance', 'Project', 'SweetAlert', '$injector', '$controller', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, User, $uibModalInstance, Project, SweetAlert, $injector, $controller, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | removeUsr : removeUsr, // 일반 사용자 제거 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | name : "", // 프로젝트 명 |
| | | projectKey : "", // 프로젝트 키 |
| | | status : "02", // 상태 |
| | | projectType : "BTS_PROJECT", // 프로젝트 유형 |
| | | projects : [], // 상위 프로젝트 |
| | | startEndDateRange : "", // 시작일, 종료일 정보 |
| | | startDate : "", |
| | | endDate : "", |
| | | description : "", // 설명 |
| | | managers : [{ |
| | | id : $rootScope.user.id |
| | | }], // 관리자 |
| | | users : [], // 일반 사용자 |
| | | }, |
| | | userName : "", // 일반 사용자 이름 검색 |
| | | projectName : "", // 상위 프로젝트 이름 검색 |
| | | autoCompletePage : { |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | init(); |
| | | |
| | | // 상위 프로젝트에서 자기자신은 선택 안되도록 설정 |
| | | function init() { |
| | | $scope.vm.form.projects = []; |
| | | if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { |
| | | $scope.vm.form.projects.push($rootScope.workProject); |
| | | $scope.vm.projectName = $rootScope.workProject.name; |
| | | } |
| | | } |
| | | |
| | | // 팀원 삭제 |
| | | function removeUsr(index) { |
| | | $scope.vm.form.users.splice(index, 1); |
| | | } |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if (!$rootScope.isDefined($scope.vm.form.startEndDateRange)) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | projectKey : $scope.vm.form.projectKey, |
| | | projectType : $scope.vm.form.projectType, |
| | | parentProjectId : $scope.vm.projectName != null && $scope.vm.projectName.length > 0 ? $scope.vm.form.projects[0].id : null, |
| | | status : $scope.vm.form.status, |
| | | startDate : "", |
| | | endDate : "", |
| | | description : $rootScope.preventXss($scope.vm.form.description), |
| | | managerIds : (function () { |
| | | var managerIds = []; |
| | | angular.forEach($scope.vm.form.managers, function (user) { |
| | | managerIds.push(user.id); |
| | | }); |
| | | return managerIds; |
| | | })(), |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | return userIds; |
| | | })() |
| | | }; |
| | | |
| | | if ($rootScope.isDefined($scope.vm.form.startEndDateRange)) { |
| | | var startEndDateRange = $scope.vm.form.startEndDateRange.split("~"); |
| | | content.startDate = startEndDateRange[0].trim(); |
| | | content.endDate = startEndDateRange[1].trim(); |
| | | } |
| | | |
| | | Project.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | $rootScope.user.lastProjectId = result.data.data.id; |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getProjectList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("project.failedProjectCreation"), result.data.message.message); // "프로젝트 생성 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-30. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('projectCustomFieldConfigController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'IssueType', 'CustomField', 'IssueTypeCustomField', 'SweetAlert', 'parameter', '$q', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, IssueType, CustomField, IssueTypeCustomField, SweetAlert, parameter, $q, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, |
| | | formSubmit : formSubmit, |
| | | formCheck : formCheck, |
| | | getIssueTypes : getIssueTypes, |
| | | getCustomFields : getCustomFields, |
| | | startExecute : startExecute, |
| | | issueTypeChange : issueTypeChange, |
| | | activeSortable : activeSortable(), |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | issueTypeId : "" |
| | | }, |
| | | issueTypes : [], |
| | | originCustomFields : [], |
| | | customFields : [], |
| | | relationCustomFields : [] |
| | | }; |
| | | |
| | | // 이슈 유형 목록을 가져온다. |
| | | function getIssueTypes() { |
| | | var deferred = $q.defer(); |
| | | |
| | | IssueType.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueTypes = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToIssueTypeListLookup"), result.data.message.message, "error"); // "이슈 유형 목록 조회 실패" |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 사용자 정의 필드 목록을 가져온다. |
| | | function getCustomFields() { |
| | | var deferred = $q.defer(); |
| | | |
| | | CustomField.find($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 1000))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.customFields = result.data.data; |
| | | |
| | | $scope.vm.originCustomFields = angular.copy(result.data.data); // 사용자 정의 필드 복구에 사용 |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message, "error"); // "사용자 정의 필드 목록 조회 실패" |
| | | } |
| | | |
| | | deferred.resolve(result.data.data); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 이슈 유형을 변경하면 프로젝트에서 사용하는 해당 이슈 유형과 연결된 필드 정보를 조회한다. |
| | | function issueTypeChange() { |
| | | $scope.vm.customFields = []; // 사용자 정의 필드 목록 초기화 |
| | | $scope.vm.relationCustomFields = []; |
| | | |
| | | if (!$rootScope.isDefined($scope.vm.form.issueTypeId)) { |
| | | return; |
| | | } |
| | | |
| | | var content = { |
| | | projectId : parameter.id, |
| | | issueTypeId : $scope.vm.form.issueTypeId |
| | | }; |
| | | |
| | | IssueTypeCustomField.find($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | // 화면에서 이름을 표시하기 위해 사용자 정의 필드 명을 name 에 셋팅한다. |
| | | angular.forEach(result.data.data, function (issueTypeCustomField) { |
| | | var relationCustomField = angular.copy(issueTypeCustomField.customFieldVo); |
| | | relationCustomField.checked = issueTypeCustomField.fieldOption == '01'; // 필수 값 여부 |
| | | $scope.vm.relationCustomFields.push(relationCustomField); |
| | | }); |
| | | |
| | | angular.forEach($scope.vm.originCustomFields, function (originCustomField) { |
| | | var search = false; |
| | | |
| | | for (var count in $scope.vm.relationCustomFields) { |
| | | var relationCustomField = $scope.vm.relationCustomFields[count]; |
| | | |
| | | if (originCustomField.id === relationCustomField.id) { |
| | | search = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!search) { |
| | | $scope.vm.customFields.push(originCustomField); |
| | | } |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("issue.failedToUserDefinedFieldListLookup"), result.data.message.message, "error"); // "사용자 정의 필드 목록 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 드래그&드랍을 활성화 시킨다. - 해당 메서드를 같이 사용하면 엘리먼트들의 이동에 제약이 없다. |
| | | function activeSortable() { |
| | | return { |
| | | connectWith : ".connectList", |
| | | stop : function (e, ui) { |
| | | |
| | | } |
| | | } |
| | | } |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | projectId : parameter.id, |
| | | issueTypeId : $scope.vm.form.issueTypeId, |
| | | relationCustomFields : $scope.vm.relationCustomFields |
| | | }; |
| | | |
| | | IssueTypeCustomField.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | SweetAlert.success($filter("translate")("project.saveCompleteFieldManagement"), $filter("translate")("project.saveUserDefinedFieldAndIssueTypeConnection")); // "필드 관리 저장 완료", "사용자 정의 필드와 이슈 타입 연결 정보가 저장되었습니다." |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("project.failedToSaveFieldManagement"), result.data.message.message); // "필드 관리 저장 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | } |
| | | |
| | | function startExecute() { |
| | | var promises = { |
| | | getIssueTypes : $scope.fn.getIssueTypes(), |
| | | getCustomFields : $scope.fn.getCustomFields() |
| | | }; |
| | | |
| | | $q.all(promises).then(function (results){ |
| | | $log.debug("promises 결과 " , results); |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular', |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('projectListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', 'User', '$state', '$uibModal', '$q', 'Project', '$controller', '$injector', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, User, $state, $uibModal, $q, Project, $controller, $injector, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | changePageRowCount : changePageRowCount, // 페이지 변경 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | getUserListCallBack : getUserListCallBack, // single autocomplete 콜백 함수 |
| | | makeSearchConditions : makeSearchConditions, // 프로젝트 목록 검색 조건을 만든다. |
| | | add : add, // 프로젝트 생성 |
| | | removes : removes, // 삭제, |
| | | setViewSub : setViewSub |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | name : "", // 프로젝트 명 |
| | | userIds : [], // 관리자 |
| | | statuses : [], // 상태 |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | }, |
| | | userName : "", |
| | | users : [], |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | options : { |
| | | statuses : [{ |
| | | fieldKey : "01", |
| | | fieldValue : $filter("translate")("common.wait") // "대기" |
| | | }, { |
| | | fieldKey : "02", |
| | | fieldValue : $filter("translate")("common.progress") // "진행" |
| | | }, { |
| | | fieldKey : "03", |
| | | fieldValue : $filter("translate")("common.end") // "종료" |
| | | }] |
| | | }, |
| | | projects : [], // 프로젝트 |
| | | projectName : "", // 프로젝트 검색 |
| | | viewSub : true, // 하위 프로젝트 보기 여부 |
| | | childCount : 0 // 하위 프로젝트 개수 |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify, |
| | | projectCustomFieldConfig : projectCustomFieldConfig, |
| | | changeLastProject : changeLastProject |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 프로젝트 목록 화면 새로 고침 |
| | | $scope.$on("getProjectList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 프로젝트 목록 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setDType("checkbox") |
| | | .setHWidth("width-40-p") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.status") |
| | | .setDType("renderer") |
| | | .setHWidth("width-50-p bold") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("PROJECT_STATUS")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.project") |
| | | .setHWidth("width-200-p bold ") |
| | | .setDType("renderer") |
| | | .setDName("name") |
| | | .setDAlign("text-left") |
| | | .setDRenderer("PROJECT_NAME")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("dashboard.admin") |
| | | .setHWidth("width-60-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("PROJECT_MANAGER")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("dashboard.teamMember") |
| | | .setHWidth("width-140-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("PROJECT_USER")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.period") |
| | | .setHWidth("width-120-p bold") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("PROJECT_DUE_DATE")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("project.projectKey") |
| | | .setHWidth("width-100-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("projectKey")); |
| | | |
| | | if ($rootScope.checkMngPermission('USER_PERMISSION_MNG_PROJECT')) { |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.customField") |
| | | .setDType("renderer") |
| | | .setHWidth("width-80-p bold") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("CUSTOM_FIELD_CONFIG")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("project.modifyProject") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60-p bold") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("BUTTON_MODIFY")); |
| | | } |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 프로젝트 목록 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | return { |
| | | name : $scope.vm.search.name, |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.users, function (leader) { |
| | | userIds.push(leader.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | statuses : (function () { |
| | | var statuses = []; |
| | | |
| | | angular.forEach($scope.vm.search.statuses, function (status) { |
| | | statuses.push(status.fieldKey); |
| | | }); |
| | | |
| | | return statuses; |
| | | })(), |
| | | roleTypes : ["01", "02"], |
| | | workspaceManager : true // 프로젝트 목록에서 조회할 때 업무공간 담당자는 모든 항목이 보일수 있도록 한다. |
| | | }; |
| | | } |
| | | |
| | | // 프로젝트 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | Project.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.childCount = 0; |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | if ($scope.vm.viewSub) { |
| | | var arr = result.data; |
| | | var datas = []; |
| | | |
| | | for (var row of arr.data) { |
| | | row.depth = 0; |
| | | datas.push(row); |
| | | datas = setChildren(row, datas, row.depth); |
| | | } |
| | | arr.data = datas; |
| | | $scope.vm.responseData = arr; |
| | | } else { |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("project.failedToProjectListLookup"), result.data.message.message, "error"); // "프로젝트 목록 조회 실패" |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | function setChildren(row, datas, depth) { |
| | | depth++; |
| | | var childProjects = row.childProjects; |
| | | if (childProjects.length > 0) { |
| | | for (var child of childProjects) { |
| | | child.depth = depth; |
| | | datas.push(child); |
| | | $scope.vm.childCount += 1; |
| | | |
| | | setChildren(child, datas, depth); |
| | | } |
| | | } |
| | | return datas; |
| | | } |
| | | |
| | | |
| | | function changePageRowCount() { |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 프로젝트 생성 팝업 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/project/projectAdd.html', |
| | | size : "md", |
| | | controller : 'projectAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 프로젝트 수정 팝업 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/project/projectModify.html', |
| | | size : "md", |
| | | controller : 'projectModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 필드 관리 |
| | | function projectCustomFieldConfig(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/project/projectCustomFieldConfig.html', |
| | | size : "md", |
| | | controller : 'projectCustomFieldConfigController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 프로젝트 삭제 팝업 |
| | | function removes() { |
| | | var removeIds = []; |
| | | var removePermission = true; |
| | | |
| | | angular.forEach($scope.vm.responseData.data, function (data) { |
| | | if (data.checked && data.modifyPermissionCheck) { |
| | | removeIds.push(data.id); |
| | | } |
| | | |
| | | if (data.checked && !data.modifyPermissionCheck) { |
| | | removePermission = false; |
| | | } |
| | | }); |
| | | |
| | | if (!removePermission) { |
| | | SweetAlert.swal({ |
| | | html : true, |
| | | title : $filter("translate")("common.deleteFailed"), // 삭제 실패 |
| | | text : $filter("translate")("project.notHaveDeletePermissionExistsProject"), // "삭제 권한이 없는 프로젝트가 존재합니다." |
| | | type : "error" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | if (removeIds.length < 1) { |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("common.checkPurgingTargets"), // 삭제 대상 확인 |
| | | text : $filter("translate")("common.selectDestinationDeletion"), // 삭제 대상을 선택하세요. |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("project.deleteProject"), // "프로젝트 삭제" |
| | | text : $filter("translate")("project.wantToDeleteSelectProject"), // "선택한 프로젝트를 삭제하겠습니까? 삭제된 프로젝트는 복구할 수 없습니다." |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("common.delete"), // 삭제 |
| | | cancelButtonText : $filter("translate")("common.cancel"), // 취소 |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | Project.remove($resourceProvider.getContent( |
| | | { removeIds : removeIds }, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $timeout(function () { |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getProjectList", {}); |
| | | SweetAlert.success($filter("translate")("common.deleteSucceeded"), result.data.message.message); // 삭제 성공 |
| | | }, 100); |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error($filter("translate")("common.deleteFailed"), result.data.message.message); // 삭제 실패 |
| | | }, 100); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | |
| | | function setViewSub() { |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | |
| | | function changeLastProject(projectId) { |
| | | $rootScope.changeLastProject(projectId); |
| | | } |
| | | |
| | | $scope.fn.makeTableConfigs(); |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-03. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('projectModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'User', '$uibModalInstance', 'Project', '$injector', '$controller', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, User, $uibModalInstance, Project, $injector, $controller, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail, // 상세 정보 조회 |
| | | removeUsr : removeUsr, // 일반 사용자 제거 |
| | | removeManager : removeManager, // 관리자 제거 |
| | | getManagerListCallBack : getManagerListCallBack, // 관리자 auto complete callback function |
| | | getProjectListCallBack : getProjectListCallBack // 프로젝트 auto complete callback function |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id, |
| | | deep : "01" // 프로젝트 연관된 모든 정보를 어느정도까지 가져올지 결정, 01 - 사용자, 관리자 정보 |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | name : "", |
| | | projects : [], // 유저 리스트 검색용 |
| | | parentProjects : [], // 상위프로젝트 용 |
| | | status : "", |
| | | startDate : "", |
| | | endDate : "", |
| | | description : "", |
| | | managers : [], // 관리자 |
| | | users : [], // 일반 사용자 |
| | | startEndDateRange : "" |
| | | }, |
| | | managerName : "", // 관리자 이름 검색 |
| | | userName : "", // 일반 사용자 이름 검색 |
| | | projectName : "", // 상위 프로젝트 이름 검색 |
| | | autoCompletePage : { |
| | | manager : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | } |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | init(); |
| | | |
| | | // 상위 프로젝트에서 자기자신은 선택 안되도록 설정 |
| | | function init() { |
| | | $scope.vm.form.parentProjects = []; |
| | | if ($rootScope.workProject != null) { |
| | | $scope.vm.form.parentProjects.push($rootScope.workProject); |
| | | } |
| | | } |
| | | |
| | | // 팀원 삭제 |
| | | function removeUsr(index) { |
| | | $scope.vm.form.users.splice(index, 1); |
| | | } |
| | | |
| | | // 관리자 삭제 |
| | | function removeManager(index) { |
| | | $scope.vm.form.managers.splice(index, 1); |
| | | $scope.vm.managerName = ""; |
| | | } |
| | | |
| | | // 관리자 목록 조회 |
| | | function getManagerListCallBack(result) { |
| | | $scope.vm.autoCompletePage.manager.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | function getProjectListCallBack(result) { |
| | | $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.startEndDateRange == "") { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.managers.length < 1) { |
| | | return true; |
| | | } |
| | | |
| | | |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : $scope.vm.form.id, |
| | | parentProjectId : $scope.vm.projectName.length > 0 && $scope.vm.projectName == $scope.vm.form.parentProjects[0].name ? $scope.vm.form.parentProjects[0].id : null, |
| | | name : $rootScope.preventXss($scope.vm.form.name), |
| | | status : $scope.vm.form.status, |
| | | startDate : "", |
| | | endDate : "", |
| | | description : $rootScope.preventXss($scope.vm.form.description), |
| | | managerIds : (function () { |
| | | var managerIds = []; |
| | | angular.forEach($scope.vm.form.managers, function (user) { |
| | | managerIds.push(user.id); |
| | | }); |
| | | return managerIds; |
| | | })(), |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | return userIds; |
| | | })() |
| | | }; |
| | | |
| | | var startEndDateRange = $scope.vm.form.startEndDateRange.split("~"); |
| | | content.startDate = startEndDateRange[0].trim(); |
| | | content.endDate = startEndDateRange[1].trim(); |
| | | |
| | | Project.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getProjectList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("project.failedToModifyProject"), result.data.message.message); //"프로젝트 수정 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | function detail() { |
| | | Project.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if (angular.isDefined(result.data.data)) { |
| | | $scope.vm.form.name = result.data.data.name; |
| | | $scope.vm.form.status = result.data.data.status; |
| | | $scope.vm.form.startEndDateRange = result.data.data.startDate + " ~ " + result.data.data.endDate; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | $scope.vm.form.managers = result.data.data.projectManagerVos; |
| | | $scope.vm.form.users = result.data.data.projectUserVos; |
| | | |
| | | if (result.data.data.parentProjectVo != null) { |
| | | $scope.vm.form.parentProjects = []; |
| | | $scope.vm.form.parentProjects.push(result.data.data.parentProjectVo); |
| | | $scope.vm.projectName = result.data.data.parentProjectVo.name; |
| | | } |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("project.failedToProjectDetails"), result.data.message.message); //"프로젝트 상세 정보 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function getStartProjectListCallback(result){ |
| | | // 프로젝트 autocomplete page 업데이트 |
| | | $scope.vm.autoCompletePage.project.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by maprex on 2021-06-17 |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('projectTabController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $filter) { |
| | | |
| | | $scope.fn = { |
| | | changeTab : changeTab, // 탭 변경 |
| | | add : add |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | tab : "PROJECT_LIST" // 업무 공간 정보가 기본 탭 |
| | | }; |
| | | |
| | | |
| | | // 프로젝트 생성 팝업 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/project/projectAdd.html', |
| | | size : "md", |
| | | controller : 'projectAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | |
| | | // 탭 변경 |
| | | function changeTab(tab) { |
| | | $scope.vm.tab = tab; |
| | | |
| | | if (tab === "PROJECT_TIMELINE") { |
| | | $rootScope.$broadcast("changeProjectChartTab"); |
| | | } else if (tab === "PROJECT_LIST") { |
| | | $rootScope.$broadcast("changeProjectListTab"); |
| | | } |
| | | } |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by maprex on 2021-06-17 |
| | | */ |
| | | |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('projectTimelineController', ['$scope', '$rootScope', '$log', '$q', '$resourceProvider', '$controller', '$injector', 'Gantt', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $q, $resourceProvider, $controller, $injector, Gantt, SweetAlert, $filter) { |
| | | $scope.fn = { |
| | | getPageList : getPageList, // 목록을 조회한다. |
| | | makeSearchConditions : makeSearchConditions, // 검색조건을 가져옴 |
| | | startExecute : startExecute, |
| | | initSearch : initSearch |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | name : "", // 프로젝트 명 |
| | | userIds : [], // 관리자 |
| | | statuses : [], // 상태 |
| | | }, |
| | | arrProjects : [], // 프로젝트 배열 |
| | | projectIssues : new Object(), // 프로젝트 전체 이슈 |
| | | projectCompleteIssues : new Object(), // 프로젝트 완료 이슈 |
| | | searchView : false, // 상세 검색 조건 표시 여부 |
| | | detailView : false, // 상세 모드 변경 값 |
| | | tableConfigs : [], // 테이블 셋팅 정보 |
| | | responseData : { |
| | | data : [] |
| | | }, |
| | | projectName : "", // 프로젝트 검색 |
| | | projects : [], // 프로젝트 |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(99999) |
| | | }, |
| | | options : { |
| | | statuses : [{ |
| | | fieldKey : "01", |
| | | fieldValue : $filter("translate")("common.wait") // "대기" |
| | | }, { |
| | | fieldKey : "02", |
| | | fieldValue : $filter("translate")("common.progress") // "진행" |
| | | }, { |
| | | fieldKey : "03", |
| | | fieldValue : $filter("translate")("common.end") // "종료" |
| | | }] |
| | | }, |
| | | useGantt : false, |
| | | chart : null // 간트차트 |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | $scope.init = function () { |
| | | var workProjects = $rootScope.projects; |
| | | workProjects.forEach(project => { |
| | | if (project.id > 0) { |
| | | $scope.vm.projects.push(project); |
| | | } |
| | | }); |
| | | |
| | | $scope.fn.startExecute(); |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 이슈 검색 조건을 만든다. |
| | | function makeSearchConditions() { |
| | | var conditions = { |
| | | name: $scope.vm.search.name, |
| | | statuses : (function () { |
| | | var statuses = []; |
| | | |
| | | angular.forEach($scope.vm.search.statuses, function (status) { |
| | | statuses.push(status.fieldKey); |
| | | }); |
| | | |
| | | return statuses; |
| | | })(), |
| | | } |
| | | |
| | | return conditions; |
| | | } |
| | | |
| | | function drawGanttChart(useProject = false) { |
| | | google.charts.load('current', {'packages':['gantt'], 'language': 'ko'}); |
| | | google.charts.setOnLoadCallback(drawChart); |
| | | } |
| | | |
| | | function toMilliseconds(minutes) { |
| | | return minutes * 60 * 1000; |
| | | } |
| | | |
| | | // 검색조건에서 해당 프로젝트 찾기 |
| | | function findProjectSearch(projectId) { |
| | | var projects = $scope.vm.projects; |
| | | var find = false; |
| | | |
| | | for (let i = 0; i < projects.length; i++) { |
| | | if (projects[i].id == projectId) { |
| | | find = true; |
| | | break; |
| | | } |
| | | } |
| | | return find; |
| | | } |
| | | |
| | | function getPageList(selectedPage) { |
| | | |
| | | if (chart != null) |
| | | chart.clearChart(); |
| | | |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // $rootScope.spinner = true; |
| | | |
| | | // 현재 선택된 프로젝트를 검색 기본으로 추가 |
| | | if ($rootScope.workProject != null && $rootScope.workProject.id > -1) { |
| | | var find = findProjectSearch($rootScope.workProject.id); |
| | | if (!find) { |
| | | $scope.vm.projects.push($rootScope.workProject); |
| | | } |
| | | } |
| | | |
| | | var conditions = $scope.fn.makeSearchConditions(); |
| | | |
| | | Gantt.findProject($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | drawGanttChart(); |
| | | } |
| | | else { |
| | | //SweetAlert.error($filter("translate")("issue.failedIssueLookup"), result.data.message.message); // 이슈 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 프로젝트리스트에 해당 아이디가 존재하는지 여부 확인 |
| | | function containsIssue(projectId) { |
| | | return projectId in $scope.vm.projectIssues; |
| | | } |
| | | |
| | | var chart; |
| | | var otherData; |
| | | var options; |
| | | |
| | | function drawChart() { |
| | | var responseData = $scope.vm.responseData; |
| | | var page = responseData.page; |
| | | |
| | | otherData = new google.visualization.DataTable(); |
| | | otherData.addColumn('string', 'Task ID'); |
| | | otherData.addColumn('string', 'Task Name'); |
| | | otherData.addColumn('string', 'Resource'); |
| | | otherData.addColumn('date', '시작'); |
| | | otherData.addColumn('date', '종료'); |
| | | otherData.addColumn('number', '기간'); |
| | | otherData.addColumn('number', '진행율'); |
| | | otherData.addColumn('string', '상위프로젝트'); |
| | | var data = responseData.data; |
| | | |
| | | var trackHeight = 35; |
| | | var bottomHeight = 50; |
| | | |
| | | $scope.vm.arrProjects = []; |
| | | $scope.vm.projectIssues = new Object(); |
| | | if (page.totalCount > 0) { |
| | | data.forEach(el => { |
| | | addIssue(el.projectId, el); |
| | | }); |
| | | |
| | | for (const [key, value] of Object.entries($scope.vm.projectIssues)) { |
| | | var projectObj = $rootScope.findProject(key); |
| | | if (projectObj != null) { |
| | | var issues = $scope.vm.projectIssues[key]; |
| | | var completeIssues = $scope.vm.projectCompleteIssues[key]; |
| | | var start = null; |
| | | if (projectObj.startDate != null) { |
| | | start = new Date(projectObj.startDate); |
| | | start.setHours(0, 0, 0); |
| | | } |
| | | |
| | | var end = null; |
| | | if (projectObj.endDate != null) { |
| | | end = new Date(projectObj.endDate); |
| | | end.setHours(23, 59, 59); |
| | | } |
| | | |
| | | var duration = 0; |
| | | if (start != null && end != null) { |
| | | duration = end.getTime() - start.getTime(); |
| | | } |
| | | |
| | | var percent = 0; |
| | | var endCount = completeIssues == null ? 0 : completeIssues.length.toFixed(2); |
| | | var totalCount = issues == null ? 0 : issues.length; |
| | | if (totalCount > 0) { |
| | | percent = parseInt(endCount / totalCount * 100.0); |
| | | } |
| | | |
| | | var depend = null; |
| | | if (projectObj.parentProjectId != null && containsIssue(projectObj.parentProjectId)) { |
| | | depend = String(projectObj.parentProjectId); |
| | | } |
| | | |
| | | $scope.vm.arrProjects.push(projectObj.id); |
| | | otherData.addRow([String(projectObj.id), projectObj.name, String(projectObj.id), start, end, duration, percent, depend]); |
| | | } |
| | | } |
| | | |
| | | $scope.vm.useGantt = true; |
| | | } else { |
| | | otherData.addRow(["none", "일감이 없습니다", "none", new Date(), null, toMilliseconds(0), 100, null]); |
| | | $scope.vm.useGantt = false; |
| | | } |
| | | |
| | | var dataCount = $scope.vm.arrProjects.length; |
| | | var chartHeight = dataCount * trackHeight + bottomHeight; |
| | | |
| | | options = { |
| | | gantt: { |
| | | defaultStartDate : new Date(), |
| | | barHeight : 18, |
| | | barCornerRadius : 1, |
| | | criticalPathEnabled: true, // Critical path arrows will be the same as other arrows. |
| | | arrow: { |
| | | angle: 50, |
| | | width: 1, |
| | | color: '#0066cc', |
| | | radius: 2 |
| | | }, |
| | | labelStyle: { |
| | | fontName: 'NanumSquare', |
| | | fontSize: 12, |
| | | color: '#d5c209' |
| | | }, |
| | | trackHeight : trackHeight |
| | | }, |
| | | height: chartHeight, |
| | | animation: {"startup": true} |
| | | }; |
| | | |
| | | var container = document.getElementById('chart_div'); |
| | | if (container == null) { |
| | | return; |
| | | } |
| | | chart = new google.visualization.Gantt(container); |
| | | |
| | | hideChartTooltip(container, chart); |
| | | |
| | | google.visualization.events.addListener(chart, 'onmouseover', function (e) { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'click', function() { |
| | | }); |
| | | |
| | | google.visualization.events.addListener(chart, 'select', function() { |
| | | var selection = chart.getSelection(); |
| | | $rootScope.changeLastProject($scope.vm.arrProjects[selection[0].row]); |
| | | }); |
| | | |
| | | window.addEventListener('resize', function() { chart.draw(otherData, options); }, false); //화면 크기에 따라 그래프 크기 변경 |
| | | chart.draw(otherData, options); |
| | | |
| | | } |
| | | |
| | | |
| | | // 이슈를 배열에 추가 |
| | | function addIssue(projectId, issue) { |
| | | if ($scope.vm.projectCompleteIssues[projectId] == null) |
| | | $scope.vm.projectCompleteIssues[projectId] = []; |
| | | |
| | | if ($scope.vm.projectIssues[projectId] == null) |
| | | $scope.vm.projectIssues[projectId] = []; |
| | | |
| | | if (issue.issueStatusType == "CLOSE") { |
| | | $scope.vm.projectCompleteIssues[projectId].push(issue); |
| | | } |
| | | $scope.vm.projectIssues[projectId].push(issue); |
| | | } |
| | | |
| | | // google chart 기본 tooltip 가리기 |
| | | function hideChartTooltip(container, chart) { |
| | | google.visualization.events.addOneTimeListener(chart, 'ready', function () { |
| | | var observer = new MutationObserver(function (nodes) { |
| | | Array.prototype.forEach.call(nodes, function(node) { |
| | | if (node.addedNodes.length > 0) { |
| | | Array.prototype.forEach.call(node.addedNodes, function(addedNode) { |
| | | if ((addedNode.tagName === 'rect') && (addedNode.getAttribute('fill') === 'white')) { |
| | | addedNode.setAttribute('fill', 'transparent'); |
| | | addedNode.setAttribute('stroke', 'transparent'); |
| | | Array.prototype.forEach.call(addedNode.parentNode.getElementsByTagName('text'), function(label) { |
| | | label.setAttribute('fill', 'transparent'); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | }); |
| | | observer.observe(container, { |
| | | childList: true, |
| | | subtree: true |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | function startExecute() { |
| | | $scope.fn.getPageList(); |
| | | } |
| | | |
| | | $rootScope.$on('changeProjectChartTab', function(evt) { |
| | | if (chart != null) { |
| | | $scope.fn.startExecute(); |
| | | } |
| | | }); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('qna', { |
| | | abstract : true, |
| | | url : "/qnas", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('qna.list', { |
| | | url : '/qnaList', |
| | | data : { |
| | | authorities : ['NOTICE_READ'] |
| | | }, |
| | | templateUrl : 'views/qna/qnaList.html', |
| | | controller : "qnaListController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(['qnaListController', 'qnaAddController', 'qnaModifyController', 'qnaViewController', |
| | | 'qnaService', 'jsTable', 'tableColumnGenerator', 'formSubmit'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('qnaAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Qna', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Qna, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | Qna.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 10))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getQnaList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("qna.registerQNA"), result.data.message.message); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('qnaListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'Qna', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, Qna, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | makeSearchConditions : makeSearchConditions, |
| | | add : add, // qna 등록 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | title : "" |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify, |
| | | view : view, |
| | | }; |
| | | |
| | | // qna 목록 화면 새로 고침 |
| | | $scope.$on("getQnaList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 사용자 목록 다운로드 받기 |
| | | function makeSearchConditions() { |
| | | return {}; |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.number") |
| | | .setHWidth("width-60-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("id")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.title") |
| | | .setHWidth("bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("QNA_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.registrationDate") |
| | | .setHWidth("width-100-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("registerDate")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.register") |
| | | .setHWidth("width-120-p bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("QNA_REGISTER")); |
| | | } |
| | | |
| | | // 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = { |
| | | title : $scope.vm.search.title |
| | | }; |
| | | |
| | | Qna.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("QNA.failedToLookupQNADetails"), result.data.message.message); //QNA 사항 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // qna 등록 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/qna/qnaAdd.html', |
| | | size : "md", |
| | | controller : 'qnaAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // qna 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/qna/qnaModify.html', |
| | | size : "md", |
| | | controller : 'qnaModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // qna 보기 |
| | | function view(title, description) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/qna/qnaView.html', |
| | | size : "lg", |
| | | controller : 'qnaViewController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | title : title, |
| | | description : description |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | // 목록 조회 |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('qnaModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', 'Qna', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, Qna, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, // 팝업 창 닫기 |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | detail : detail // 상세 정보 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | search : { |
| | | id : parameter.id |
| | | }, |
| | | form : { |
| | | id : parameter.id, |
| | | title : "", // 제목 |
| | | description : "" // 내용 |
| | | }, |
| | | options : { |
| | | callbacks : { |
| | | onImageUpload : function (data) { |
| | | data.pop(); |
| | | } |
| | | }, |
| | | disableDragAndDrop : true, |
| | | shortcuts : true, |
| | | toolbar : [ |
| | | ['headline', ['style']], |
| | | ['style', ['bold', 'italic', 'underline', 'clear', 'strikethrough', 'superscript', 'subscript']], |
| | | ['fontface', ['fontname', 'fontsize']], |
| | | ['insert', ['link', 'video']], |
| | | ['fontclr', ['color']], |
| | | ['alignment', ['ul', 'ol', 'paragraph', 'lineheight', 'height']], |
| | | ['table', ['table']], |
| | | ['view', ['redo', 'undo']] |
| | | ], |
| | | keyMap : { |
| | | pc : { |
| | | 'ENTER' : 'insertParagraph', |
| | | 'CTRL+Z' : 'undo', |
| | | 'CTRL+Y' : 'redo', |
| | | /*'TAB': 'tab',*/ |
| | | 'SHIFT+TAB' : 'untab', |
| | | 'CTRL+B' : 'bold', |
| | | 'CTRL+I' : 'italic', |
| | | 'CTRL+U' : 'underline', |
| | | 'CTRL+SHIFT+S' : 'strikethrough', |
| | | 'CTRL+BACKSLASH' : 'removeFormat', |
| | | 'CTRL+SHIFT+L' : 'justifyLeft', |
| | | 'CTRL+SHIFT+E' : 'justifyCenter', |
| | | 'CTRL+SHIFT+R' : 'justifyRight', |
| | | 'CTRL+SHIFT+J' : 'justifyFull', |
| | | 'CTRL+SHIFT+NUM7' : 'insertUnorderedList', |
| | | 'CTRL+SHIFT+NUM8' : 'insertOrderedList', |
| | | 'CTRL+LEFTBRACKET' : 'outdent', |
| | | 'CTRL+RIGHTBRACKET' : 'indent', |
| | | 'CTRL+NUM0' : 'formatPara', |
| | | 'CTRL+NUM1' : 'formatH1', |
| | | 'CTRL+NUM2' : 'formatH2', |
| | | 'CTRL+NUM3' : 'formatH3', |
| | | 'CTRL+NUM4' : 'formatH4', |
| | | 'CTRL+NUM5' : 'formatH5', |
| | | 'CTRL+NUM6' : 'formatH6', |
| | | 'CTRL+ENTER' : 'insertHorizontalRule', |
| | | 'CTRL+K' : 'linkDialog.show' |
| | | } |
| | | } |
| | | } |
| | | }; |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : parameter.id, |
| | | title : $rootScope.preventXss($scope.vm.form.title), |
| | | description : $rootScope.preventXss($scope.vm.form.description) |
| | | }; |
| | | |
| | | Qna.modify($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("getQnaList", {}); |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("QNA.failedToModifyQNA"), result.data.message.message); //qna 사항 수정 실패 |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | // 상세 조회 |
| | | function detail() { |
| | | Qna.detail($resourceProvider.getContent( |
| | | $scope.vm.search, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | if ($rootScope.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | } |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("QNA.failedToLookupQNADetails"), result.data.message.message); //QNA 상세 정보 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // QNA 상세 조회 |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-05-08. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('qnaViewController', ['$scope', '$log', '$rootScope', '$uibModalInstance', 'parameter', |
| | | function ($scope, $log, $rootScope, $uibModalInstance, parameter) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel // 팝업 창 닫기 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | viewer : { |
| | | title : parameter.title, |
| | | description : parameter.description |
| | | } |
| | | }; |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-02-13. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('supportController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', '$uibModal', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, $uibModal, $filter) { |
| | | |
| | | $scope.fn = { |
| | | changeTab : changeTab, // 탭 변경 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | tab : "FAQ_TAB" // 업무 공간 정보가 기본 탭 |
| | | }; |
| | | |
| | | // 탭 변경 |
| | | function changeTab(tab) { |
| | | $scope.vm.tab = tab; |
| | | console.log(tab); |
| | | |
| | | if (tab === "QNA_TAB") { |
| | | $scope.$broadcast("getSupportQnaList"); |
| | | console.log(tab); |
| | | } |
| | | } |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-02-13. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('support', { |
| | | abstract : true, |
| | | url : "/support", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('support.support', { |
| | | url : "/support", |
| | | data : { |
| | | authorities : ['NOTICE_READ'] |
| | | }, |
| | | templateUrl : 'views/support/support.html', |
| | | controller : "supportController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["modalFormAutoScroll", "supportController", 'jsTable', 'tableColumnGenerator'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-21. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('supportQnaListController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', '$state', '$uibModal', 'Qna', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, $state, $uibModal, Qna, SweetAlert, $timeout, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | initSearch : initSearch, // 검색 초기화 |
| | | getPageList : getPageList, // 목록 조회 |
| | | makeTableConfigs : makeTableConfigs, // 테이블 설정 |
| | | makeSearchConditions : makeSearchConditions, |
| | | add : add, // qna 등록 |
| | | }; |
| | | |
| | | // 변수 |
| | | $scope.vm = { |
| | | search : { |
| | | title : "" |
| | | }, |
| | | page : { |
| | | selectedPage : 0, |
| | | selectedPageRowCount : String(10) |
| | | }, |
| | | tableConfigs : [], |
| | | responseData : { |
| | | data : [] |
| | | } |
| | | }; |
| | | |
| | | // 테이블 이벤트 |
| | | $scope.tableEvent = { |
| | | modify : modify, |
| | | view : view, |
| | | }; |
| | | |
| | | // qna 목록 화면 새로 고침 |
| | | $scope.$on("getSupportQnaList", function () { |
| | | $scope.fn.getPageList(0); |
| | | }); |
| | | |
| | | // 사용자 목록 다운로드 받기 |
| | | function makeSearchConditions() { |
| | | return {}; |
| | | } |
| | | |
| | | // 검색 조건 초기화 |
| | | function initSearch() { |
| | | $state.go($state.current, {}, {reload : true}); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | function makeTableConfigs() { |
| | | $scope.vm.tableConfigs = []; |
| | | |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.number") |
| | | .setHWidth("width-60-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("id")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.title") |
| | | .setHWidth("bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("QNA_MODIFY")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.registrationDate") |
| | | .setHWidth("width-100-p bold") |
| | | .setDAlign("text-center") |
| | | .setDName("registerDate")); |
| | | $scope.vm.tableConfigs.push($tableProvider.config() |
| | | .setHName("common.register") |
| | | .setHWidth("width-120-p bold") |
| | | .setDAlign("text-center") |
| | | .setDType("renderer") |
| | | .setDRenderer("QNA_REGISTER")); |
| | | } |
| | | |
| | | // 목록 조회 |
| | | function getPageList(selectedPage) { |
| | | if (selectedPage < 0) { |
| | | selectedPage = 0; |
| | | } |
| | | // 현재 페이지 정보 |
| | | var currentPage = 0; |
| | | |
| | | // 쿠키에 선택한 페이지 정보가 없으면 기본 페이지 정보 0 을 저장 |
| | | if (angular.isUndefined(selectedPage) || selectedPage === "") { |
| | | currentPage = $scope.vm.page.selectedPage; |
| | | } |
| | | else { |
| | | currentPage = selectedPage; |
| | | } |
| | | |
| | | var conditions = { |
| | | title : $scope.vm.search.title |
| | | }; |
| | | |
| | | Qna.find($resourceProvider.getContent(conditions, |
| | | $resourceProvider.getPageContent(currentPage, $scope.vm.page.selectedPageRowCount))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.page.selectedPage = currentPage + 1; |
| | | $scope.vm.responseData = result.data; |
| | | } |
| | | else { |
| | | SweetAlert.error($filter("translate")("QNA.failedToLookupQNADetails"), result.data.message.message); //QNA 사항 목록 조회 실패 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // qna 등록 |
| | | function add() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/qna/qnaAdd.html', |
| | | size : "md", |
| | | controller : 'qnaAddController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // qna 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/qna/qnaModify.html', |
| | | size : "md", |
| | | controller : 'qnaModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // qna 보기 |
| | | function view(title, description) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/qna/qnaView.html', |
| | | size : "lg", |
| | | controller : 'qnaViewController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | title : title, |
| | | description : description |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 테이블 설정 |
| | | $scope.fn.makeTableConfigs(); |
| | | // 목록 조회 |
| | | $scope.fn.getPageList(0); |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-03. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('tasks', { |
| | | abstract : true, |
| | | url : "/tasks", |
| | | templateUrl : "views/common/app.html", |
| | | resolve : { |
| | | authorize : function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader : function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state('tasks.agileBoard', { |
| | | url : "/agileBoard", |
| | | data : { |
| | | authorities : ['ISSUE_TOTAL'] |
| | | }, |
| | | templateUrl : 'views/task/taskAgileBoard.html', |
| | | controller : "taskAgileBoardController", |
| | | resolve : { |
| | | loadController : ["$q", function ($q) { |
| | | |
| | | var deferred = $q.defer(); |
| | | require(["taskAgileBoardController", "taskAddController", "taskModifyController", 'bootstrapDateRangePicker','taskExcelImportController', 'owlProfileOver', 'owlAttachedFileType', |
| | | 'moment', 'dateRangePicker', 'owlAutoTextHeight', 'cardContent', 'cardTextarea', 'agileCardSortable', 'owlTaskAutoButton', 'workflowStatusAddController', |
| | | 'colorPalette', 'colorPalettePicker', 'workflowStatusModifyController'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | return deferred.promise; |
| | | }], |
| | | projectLoader : ["$q", "Project", "$resourceProvider", "$rootScope", "$log", function ($q, Project, $resourceProvider, $rootScope, $log) { |
| | | |
| | | var deferred = $q.defer(); |
| | | |
| | | Project.findLastUseProject($resourceProvider.getContent({}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | $rootScope.lastProject = result.data.data; |
| | | deferred.resolve(result.data.data); |
| | | } |
| | | else { |
| | | deferred.reject(result.data.data) |
| | | } |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-15. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('taskAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', |
| | | '$controller', '$tableProvider', 'Task', 'User', 'AttachedFile', 'SweetAlert', '$timeout', 'parameter', '$stateParams', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, Task, User, AttachedFile, SweetAlert, $timeout, parameter, $stateParams) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, |
| | | formSubmit : formSubmit, |
| | | formCheck : formCheck, |
| | | getUserListCallBack : getUserListCallBack, |
| | | makeUserTableConfigs : makeUserTableConfigs, |
| | | getOptionColor : getOptionColor, |
| | | makeFileTableConfigs : makeFileTableConfigs, |
| | | onFileSelect : onFileSelect, |
| | | broadCastTasks : broadCastTasks, |
| | | infiniteAddForm : infiniteAddForm, |
| | | imageUpload : imageUpload |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | title : "", |
| | | description : "", |
| | | priorityId : "1", |
| | | projects : [], |
| | | users : [], |
| | | files : [], |
| | | attachedFileIds : [], // 섬머노트로 파일 업로드를 할 경우 서버에서 pk를 따고 task id와 연동 작업이 필요하다. |
| | | startCompleteDateRange : "" |
| | | }, |
| | | infiniteAdd : false, |
| | | projectName : "", |
| | | userName : "", |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | }, |
| | | project : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | summerNote : { |
| | | editable : null, |
| | | editor : null |
| | | }, |
| | | userTableConfigs : [], |
| | | fileTableConfigs : [] |
| | | }; |
| | | |
| | | $scope.userTableEvent = { |
| | | remove : remove |
| | | }; |
| | | |
| | | $scope.fileTableEvent = { |
| | | fileRemove : fileRemove |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | $scope.$watch("vm.form.projects", function (newValue, oldValue) { |
| | | if (angular.isDefined(newValue)) { |
| | | if (newValue.length == 0) { |
| | | $scope.vm.form.users = []; |
| | | } |
| | | } |
| | | }); |
| | | |
| | | function imageUpload(files) { |
| | | var listFiles = []; |
| | | angular.forEach(files, function (file) { |
| | | if (!angular.isDefined(file.name)) { |
| | | var fileType = file.type.split("/"); |
| | | var imageType = ""; |
| | | |
| | | if (fileType[0] == "image") { |
| | | imageType = "." + fileType[1]; |
| | | } |
| | | |
| | | file.name = new Date().getTime() + imageType; |
| | | } |
| | | else { |
| | | if (file.name.indexOf(';') != -1) { |
| | | SweetAlert.swal("파일 업로드 오류", "파일명에 특수문자(;)가 들어가면 업로드 할 수 없습니다.", "error"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | listFiles.push(file); |
| | | }); |
| | | |
| | | AttachedFile.add({ |
| | | method : "POST", |
| | | file : listFiles, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : { |
| | | workspaceId : 1 // TODO - 워크스페이스 아이디는 추후에 변경이 필요하다. |
| | | } |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.message.status == "success") { |
| | | angular.forEach(result.attachedFiles, function (fileInfo) { |
| | | $scope.vm.summerNote.editor.summernote("editor.insertImage", fileInfo.path); |
| | | $scope.vm.form.attachedFileIds.push(fileInfo.id); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal("파일 업로드 오류", result.data.message.message, "error"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function infiniteAddForm() { |
| | | $scope.vm.form.description = ""; |
| | | $scope.vm.form.files = []; |
| | | |
| | | $(".modal-body").animate({ |
| | | scrollTop: 0 |
| | | }, 500); |
| | | |
| | | $timeout(function () { |
| | | $(".note-editable").trigger("focus") |
| | | }, 700); |
| | | } |
| | | |
| | | function onFileSelect($files) { |
| | | angular.forEach($files, function ($file, index) { |
| | | $file.index = index; |
| | | $scope.vm.form.files.push($file); |
| | | }); |
| | | } |
| | | |
| | | function getOptionColor(key) { |
| | | var color = "#353535"; // 기본색은 검은색. |
| | | |
| | | for (var count in $rootScope.priorities) { |
| | | if ($rootScope.priorities[count].fieldKey == key) { |
| | | color = $rootScope.priorities[count].color; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return color; |
| | | } |
| | | |
| | | function remove(id) { |
| | | var users = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | if (user.id != id) { |
| | | users.push(user); |
| | | } |
| | | }); |
| | | |
| | | $scope.vm.form.users = angular.copy(users); |
| | | } |
| | | |
| | | function fileRemove(index) { |
| | | $scope.vm.form.files.splice(index, 1); |
| | | |
| | | angular.forEach($scope.vm.form.files, function (file, index) { |
| | | file.index = index; |
| | | }); |
| | | } |
| | | |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | function makeUserTableConfigs() { |
| | | $scope.vm.userTableConfigs = []; |
| | | |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("이름") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("PROJECT_USER_NAME")); |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("이메일") |
| | | .setHWidth("width-180-p") |
| | | .setDVisible("hidden-xs") |
| | | .setDAlign("text-center") |
| | | .setDName("email")); |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("연락처") |
| | | .setDVisible("hidden-xs") |
| | | .setHWidth("width-180-p") |
| | | .setDName("phone") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("설정") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60-p") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("TARGET_REMOVE")); |
| | | } |
| | | |
| | | function makeFileTableConfigs() { |
| | | $scope.vm.fileTableConfigs = []; |
| | | |
| | | $scope.vm.fileTableConfigs.push($tableProvider.config() |
| | | .setHName("파일") |
| | | .setDAlign("text-center") |
| | | .setDName("name")); |
| | | $scope.vm.fileTableConfigs.push($tableProvider.config() |
| | | .setHName("크기") |
| | | .setDType("renderer") |
| | | .setDVisible("hidden-xs") |
| | | .setHWidth("width-100-p") |
| | | .setDRenderer("FILE_SIZE") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.fileTableConfigs.push($tableProvider.config() |
| | | .setHName("설정") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60-p") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("FILE_REMOVE")); |
| | | } |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.title == "" || $scope.vm.form.title == null || $scope.vm.form.title == undefined) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | var content = { |
| | | title : $scope.vm.form.title, |
| | | description : $scope.vm.form.description, |
| | | priorityId : $scope.vm.form.priorityId, |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), |
| | | startCompleteDateRange : $scope.vm.form.startCompleteDateRange, |
| | | workflowStatusId : parameter.workflowStatusId, |
| | | attachedFileIds : $scope.vm.form.attachedFileIds |
| | | }; |
| | | |
| | | |
| | | Task.add({ |
| | | method : "POST", |
| | | file : $scope.vm.form.files, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : content |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | if ($scope.vm.infiniteAdd) { |
| | | $scope.fn.infiniteAddForm(); |
| | | } |
| | | else { |
| | | $scope.fn.cancel(); |
| | | } |
| | | |
| | | // 업무 카드 업데이트 |
| | | $scope.fn.broadCastTasks(result.data.data); |
| | | |
| | | $rootScope.$broadcast("taskAdd", { |
| | | content : { |
| | | projectId : $stateParams.projectId, |
| | | workflowStatusId : parameter.workflowStatusId, |
| | | taskVo : result.data.data |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $uibModalInstance.dismiss('cancel'); |
| | | } |
| | | |
| | | function broadCastTasks(taskVo) { |
| | | var content = { |
| | | projectId : $stateParams.projectId, |
| | | workflowStatusId : parameter.workflowStatusId, |
| | | taskVo : taskVo, |
| | | actionType : "/notification/task-add" |
| | | }; |
| | | |
| | | User.taskUpdate($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | |
| | | } |
| | | else { |
| | | // TODO - 웹 소켓으로 경고창 표시 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.makeUserTableConfigs(); |
| | | $scope.fn.makeFileTableConfigs(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-09. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('taskAgileBoardController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'SweetAlert', 'WorkflowStatus', '$uibModal', 'Task', 'User', '$state', '$timeout', |
| | | function ($scope, $rootScope, $log, $resourceProvider, SweetAlert, WorkflowStatus, $uibModal, Task, User, $state, $timeout) { |
| | | |
| | | $scope.fn = { |
| | | getWorkflowStatus : getWorkflowStatus, // 상태 목록을 조회한다. |
| | | excelImport : excelImport, |
| | | taskAdd : taskAdd, // 할일을 생성한다. |
| | | taskModify : taskModify, // 할일 수정 팝업을 호출한다. |
| | | taskRemove : taskRemove, // 할일을 삭제한다. |
| | | broadCastTasks : broadCastTasks, // 다른 사용자들에게 내가 추가한 할일을 화면에 업데이트되도록 한다. |
| | | executeAddTaskUpdate : executeAddTaskUpdate, // 다른 사람과 내 화면에서 추가한 업무 정보를 업데이트 한다. |
| | | executeModifyTaskUpdate : executeModifyTaskUpdate, // 다른 사용자가 변경한 할일 내용을 화면에 반영한다. |
| | | executeRemoveTaskUpdate : executeRemoveTaskUpdate, // 다른 사용자가 삭제한 할일을 화면에 반영한다. |
| | | broadCastRemoveTasks : broadCastRemoveTasks, // 할일이 삭제된 것을 접속 중인 모든 사용자에게 알리고 업데이트 받게 한다. |
| | | executeSelfMoveTaskUpdate : executeSelfMoveTaskUpdate, // 이동한 사람의 화면에서 업무 이동 정보를 업데이트한다. |
| | | executeMoveTaskUpdate : executeMoveTaskUpdate, // 다른 사람의 화면에서 변경된 업무 이동 정보를 내 화면에 업데이트 한다. |
| | | findPrevMoveTaskPosition : findPrevMoveTaskPosition, |
| | | findNextMoveTaskPosition : findNextMoveTaskPosition, |
| | | addStatus : addStatus, // 상태 추가 팝업을 호출한다. |
| | | modifyStatus : modifyStatus // 상태 수정 팝업을 호출한다. |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | workflowStatus : [] |
| | | }; |
| | | |
| | | // 할일 수정에서 상태 변경시 칸반 보드에서 해당 할일의 상태를 이동시킨다. |
| | | $scope.$on("taskMoveSelf", function (event, args) { |
| | | $scope.fn.executeSelfMoveTaskUpdate(args.content); |
| | | }); |
| | | |
| | | $scope.$on("taskMove", function (event, args) { |
| | | // 다른 프로젝트일 경우 반영하지 않는다. |
| | | if (args.content.projectId != $rootScope.lastProject.id) { |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | $scope.fn.executeMoveTaskUpdate(args.content); |
| | | } |
| | | catch (e) { |
| | | $log.error("taskMove Error 가 발생하여 서버에 전체 데이터 재요청") |
| | | $scope.fn.getWorkflowStatus(); |
| | | } |
| | | }); |
| | | |
| | | $scope.$on("taskAdd", function (event, args) { |
| | | // 다른 프로젝트일 경우 반영하지 않는다. |
| | | if (args.content.projectId != $rootScope.lastProject.id) { |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | $scope.fn.executeAddTaskUpdate(args.content); |
| | | } |
| | | catch (e) { |
| | | $log.error("taskAdd Error 가 발생하여 서버에 전체 데이터 재요청") |
| | | $scope.fn.getWorkflowStatus(); |
| | | } |
| | | }); |
| | | |
| | | $scope.$on("taskModify", function (event, args) { |
| | | // 다른 프로젝트일 경우 반영하지 않는다. |
| | | if (args.content.projectId != $rootScope.lastProject.id) { |
| | | return; |
| | | } |
| | | |
| | | try { |
| | | $scope.fn.executeModifyTaskUpdate(args.content); |
| | | } |
| | | catch (e) { |
| | | $log.error("taskModify Error 가 발생하여 서버에 전체 데이터 재요청") |
| | | $scope.fn.getWorkflowStatus(); |
| | | } |
| | | }); |
| | | |
| | | $scope.$on("taskRemove", function (event, args) { |
| | | // 다른 프로젝트일 경우 반영하지 않는다. |
| | | if (args.content.projectId != $rootScope.lastProject.id) { |
| | | return; |
| | | } |
| | | |
| | | // 마지막으로 본 taskId와 삭제된 taskId가 일치할 경우 팝업창을 닫는다. |
| | | if ($rootScope.lastTaskId == args.content.taskVo.id) { |
| | | $rootScope.$broadcast("taskModifyScreenClose", {}); |
| | | } |
| | | |
| | | try { |
| | | $scope.fn.executeRemoveTaskUpdate(args.content); |
| | | } |
| | | catch (e) { |
| | | $log.error("taskRemove Error 가 발생하여 서버에 전체 데이터 재요청") |
| | | $scope.fn.getWorkflowStatus(); |
| | | } |
| | | }); |
| | | |
| | | // 다른 사용자가 변경한 할일 내용을 화면에 반영한다. |
| | | function executeModifyTaskUpdate(content) { |
| | | var targetCheck = false; |
| | | |
| | | for (var count in $scope.vm.workflowStatus) { |
| | | var workflowStatus = $scope.vm.workflowStatus[count]; |
| | | |
| | | for (var taskCount in workflowStatus.taskVos) { |
| | | if (workflowStatus.taskVos[taskCount].id == content.taskVo.id) { |
| | | workflowStatus.taskVos[taskCount] = {}; |
| | | workflowStatus.taskVos[taskCount] = angular.copy(content.taskVo); |
| | | targetCheck = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (targetCheck) { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 다른 사용자가 삭제한 할일을 화면에 반영한다. |
| | | function executeRemoveTaskUpdate(content) { |
| | | var targetCheck = false; |
| | | |
| | | for (var count in $scope.vm.workflowStatus) { |
| | | var workflowStatus = $scope.vm.workflowStatus[count]; |
| | | |
| | | for (var taskCount in workflowStatus.taskVos) { |
| | | if (workflowStatus.taskVos[taskCount].id == content.taskVo.id) { |
| | | workflowStatus.taskVos.splice(taskCount, 1); |
| | | targetCheck = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (targetCheck) { |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 다른 사람과 내 화면에서 추가한 업무 정보를 업데이트 한다. |
| | | function executeAddTaskUpdate(content) { |
| | | for (var count in $scope.vm.workflowStatus) { |
| | | var workflowStatus = $scope.vm.workflowStatus[count]; |
| | | |
| | | if (workflowStatus.id == content.workflowStatusId) { |
| | | workflowStatus.taskVos.unshift(content.taskVo); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 이동한 사람의 화면에서 업무 이동 정보를 업데이트한다. |
| | | function executeSelfMoveTaskUpdate(content) { |
| | | var targetTask = null; |
| | | |
| | | for (var count in $scope.vm.workflowStatus) { |
| | | var workflowStatus = $scope.vm.workflowStatus[count]; |
| | | // 이동할 대상을 찾는다. |
| | | for (var taskCount in workflowStatus.taskVos) { |
| | | if (workflowStatus.taskVos[taskCount].id == content.taskId) { |
| | | targetTask = workflowStatus.taskVos.splice(taskCount, 1); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | var prevCheck = $scope.fn.findPrevMoveTaskPosition(content.moveWorkflowStatusId, content.prevTaskId, targetTask[0]); |
| | | // prev 로 못찾을 경우 next 로 찾는다. |
| | | if (!prevCheck) { |
| | | $scope.fn.findNextMoveTaskPosition(content.moveWorkflowStatusId, content.nextTaskId, targetTask[0]); |
| | | } |
| | | } |
| | | |
| | | // 다른 사람의 화면에서 변경된 업무 이동 정보를 내 화면에 업데이트 한다. |
| | | function executeMoveTaskUpdate(content) { |
| | | var targetTask = null; |
| | | |
| | | for (var count in $scope.vm.workflowStatus) { |
| | | var workflowStatus = $scope.vm.workflowStatus[count]; |
| | | // 이동할 대상을 찾는다. |
| | | for (var taskCount in workflowStatus.taskVos) { |
| | | if (workflowStatus.taskVos[taskCount].id == content.taskId) { |
| | | targetTask = workflowStatus.taskVos.splice(taskCount, 1); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | var prevCheck = $scope.fn.findPrevMoveTaskPosition(content.moveWorkflowStatusId, content.prevTaskId, targetTask[0]); |
| | | // prev 로 못찾을 경우 next 로 찾는다. |
| | | if (!prevCheck) { |
| | | $scope.fn.findNextMoveTaskPosition(content.moveWorkflowStatusId, content.nextTaskId, targetTask[0]); |
| | | } |
| | | } |
| | | |
| | | function findPrevMoveTaskPosition(findWorkflowStatusId, findTaskId, targetTask) { |
| | | var prevCheck = false; |
| | | |
| | | for (var count in $scope.vm.workflowStatus) { |
| | | var workflowStatus = $scope.vm.workflowStatus[count]; |
| | | // 이동할 곳을 찾아 이동 대상을 넣는다. |
| | | if (workflowStatus.id == findWorkflowStatusId) { |
| | | if (findTaskId == null) { |
| | | workflowStatus.taskVos.unshift(targetTask); |
| | | prevCheck = true; |
| | | } |
| | | else { |
| | | var taskCount = 0; |
| | | |
| | | for (taskCount = 0; taskCount < workflowStatus.taskVos.length; taskCount++) { |
| | | if (workflowStatus.taskVos[taskCount].id == findTaskId) { |
| | | prevCheck = true; |
| | | taskCount++; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (prevCheck) { |
| | | workflowStatus.taskVos.splice(taskCount, 0, targetTask); |
| | | } |
| | | } |
| | | |
| | | break; |
| | | } |
| | | } |
| | | |
| | | return prevCheck; |
| | | } |
| | | |
| | | function findNextMoveTaskPosition(findWorkflowStatusId, findTaskId, targetTask) { |
| | | for (var count in $scope.vm.workflowStatus) { |
| | | var workflowStatus = $scope.vm.workflowStatus[count]; |
| | | // 이동할 곳을 찾아 이동 대상을 넣는다. |
| | | if (workflowStatus.id == findWorkflowStatusId) { |
| | | if (findTaskId == null) { |
| | | workflowStatus.taskVos.push(targetTask); |
| | | } |
| | | else { |
| | | for (var taskCount = 0; taskCount < workflowStatus.taskVos.length; taskCount++) { |
| | | if (workflowStatus.taskVos[taskCount].id == findTaskId) { |
| | | workflowStatus.taskVos.splice(taskCount, 0, targetTask); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 상태 목록을 조회한다. |
| | | function getWorkflowStatus() { |
| | | |
| | | WorkflowStatus.find($resourceProvider.getContent({projectId : $rootScope.lastProject.id}, |
| | | $resourceProvider.getPageContent(0, 255))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $scope.vm.workflowStatus = result.data.data; |
| | | |
| | | angular.forEach($scope.vm.workflowStatus, function (workflowStatus) { |
| | | switch(workflowStatus.color) { |
| | | case "btn-primary" : |
| | | workflowStatus.borderColor = "#047bf8"; |
| | | break; |
| | | case "btn-danger" : |
| | | workflowStatus.borderColor = "#e65252"; |
| | | break; |
| | | case "btn-info" : |
| | | workflowStatus.borderColor = "#5bc0de"; |
| | | break; |
| | | case "btn-success" : |
| | | workflowStatus.borderColor = "#5eb314"; |
| | | break; |
| | | case "btn-warning" : |
| | | workflowStatus.borderColor = "#b17247"; |
| | | break; |
| | | case "btn-violet" : |
| | | workflowStatus.borderColor = "#6156c5"; |
| | | break; |
| | | default : |
| | | workflowStatus.borderColor = workflowStatus.color; |
| | | } |
| | | |
| | | workflowStatus.taskVos = workflowStatus.taskVos.sort(function (a, b) { // 오름차순 |
| | | return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; |
| | | }); |
| | | }); |
| | | } |
| | | else { |
| | | // 실패하면 본인의 기본 워크스페이스&프로젝트로 셋팅되어 화면 새로고침이 되어야 한다. |
| | | User.initLastWorkspaceIdAndLastProjectId($resourceProvider.getContent({},$resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | User.refreshSession($resourceProvider.getContent({},$resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | SweetAlert.swal("프로젝트 제외", "프로젝트에서 제외되었습니다.", "warning"); |
| | | $rootScope.user = result.data.data; |
| | | $state.go("workspaces.workspace"); |
| | | } |
| | | }); |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 다른 사용자들에게 내가 추가한 할일을 화면에 업데이트되도록 한다. |
| | | function broadCastTasks(taskVo, workflowStatusId) { |
| | | var content = { |
| | | projectId : $rootScope.lastProject.id, |
| | | workflowStatusId : workflowStatusId, |
| | | taskVo : taskVo, |
| | | actionType : "/notification/task-add" |
| | | }; |
| | | |
| | | User.taskUpdate($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | |
| | | } |
| | | else { |
| | | // TODO - 웹 소켓으로 경고창 표시 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function taskAdd(workflowStatus) { |
| | | |
| | | if (workflowStatus.taskTitle == "" || workflowStatus.taskTitle == null) { |
| | | SweetAlert.swal({ |
| | | title : "할일 입력", |
| | | text : "할일을 입력하세요.", |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | var content = { |
| | | title : workflowStatus.taskTitle, |
| | | description : "", |
| | | priorityId : 2, // 중요도 기본값은 보통 |
| | | userIds : [], |
| | | startCompleteDateRange : "", |
| | | workflowStatusId : workflowStatus.id, |
| | | attachedFileIds : [] |
| | | }; |
| | | |
| | | Task.add({ |
| | | method : "POST", |
| | | file : [], |
| | | fields : { |
| | | content : content |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | workflowStatus.taskTitle = ""; |
| | | |
| | | // 업무 카드 업데이트 |
| | | $scope.fn.broadCastTasks(result.data.data, workflowStatus.id); |
| | | |
| | | $rootScope.$broadcast("taskAdd", { |
| | | content : { |
| | | projectId : $rootScope.lastProject.id, |
| | | workflowStatusId : workflowStatus.id, |
| | | taskVo : result.data.data |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 할일 수정 팝업을 호출한다. |
| | | function taskModify(task) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/task/taskModify.html', |
| | | size : "lg", |
| | | controller : 'taskModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : task.id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 할일을 삭제한다. |
| | | function taskRemove(task) { |
| | | if (task == null) { |
| | | SweetAlert.swal({ |
| | | title : "삭제 대상 확인", |
| | | text : "삭제 대상을 선택하세요.", |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : "할일 삭제", |
| | | text : "선택한 할일을 삭제하겠습니까? 삭제된 할일은 복구할 수 없습니다.", |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : "삭제", |
| | | cancelButtonText : "취소", |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | Task.remove($resourceProvider.getContent( |
| | | [{id : task.id}], |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $timeout(function () { |
| | | SweetAlert.success("삭제 성공", "삭제가 정상적으로 실행되었습니다."); |
| | | }, 100); |
| | | |
| | | $scope.fn.broadCastRemoveTasks(task); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error("삭제 실패", result.data.message.message); |
| | | }, 100); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 할일이 삭제된 것을 접속 중인 모든 사용자에게 알리고 업데이트 받게 한다. |
| | | function broadCastRemoveTasks(task) { |
| | | var content = { |
| | | projectId : $rootScope.lastProject.id, |
| | | taskVo : task, |
| | | actionType : "/notification/task-remove" |
| | | }; |
| | | |
| | | $scope.fn.executeRemoveTaskUpdate(content); |
| | | |
| | | User.taskUpdate($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | |
| | | } |
| | | else { |
| | | SweetAlert.swal("할일 업데이트 실패", "다른 사용자의 변경 내역을 업데이트하는데 실패하였습니다.", "warning"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function excelImport() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/task/taskExcelImport.html', |
| | | size : "md", |
| | | controller : 'taskExcelImportController', |
| | | backdrop : 'static' |
| | | }); |
| | | } |
| | | |
| | | // 상태 생성 팝업 |
| | | function addStatus() { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/workflowStatus/workflowStatusAdd.html', |
| | | size : "md", |
| | | controller : 'workflowStatusAddController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | projectId : $rootScope.lastProject.id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 상태 수정 팝업 |
| | | function modifyStatus(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/workflowStatus/workflowStatusModify.html', |
| | | size : "md", |
| | | controller : 'workflowStatusModifyController', |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | $scope.fn.getWorkflowStatus(); |
| | | } |
| | | |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-17. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('taskExcelImportController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', '$controller', '$tableProvider', 'Task', 'User', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, Task, User) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, |
| | | formSubmit : formSubmit, |
| | | formCheck : formCheck, |
| | | excelTemplateDownload : excelTemplateDownload, |
| | | getUserListCallBack : getUserListCallBack, |
| | | makeUserTableConfigs : makeUserTableConfigs, |
| | | onFileSelect : onFileSelect, |
| | | broadCastTasks : broadCastTasks |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | users : [], |
| | | file : "" |
| | | }, |
| | | userName : "", |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | |
| | | }, |
| | | videoView : false, |
| | | userTableConfigs : [] |
| | | }; |
| | | |
| | | $scope.userTableEvent = { |
| | | remove : remove |
| | | }; |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | function excelTemplateDownload() { |
| | | $("form[name='excelTemplateDownload']").submit(); |
| | | } |
| | | |
| | | function onFileSelect($files) { |
| | | $scope.vm.form.file = $files; |
| | | } |
| | | |
| | | function remove(id) { |
| | | var users = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | if (user.id != id) { |
| | | users.push(user); |
| | | } |
| | | }); |
| | | |
| | | $scope.vm.form.users = angular.copy(users); |
| | | } |
| | | |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | function makeUserTableConfigs() { |
| | | $scope.vm.userTableConfigs = []; |
| | | |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("이름") |
| | | .setDType("renderer") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("PROJECT_USER_NAME")); |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("이메일") |
| | | .setHWidth("width-180-p") |
| | | .setDVisible("hidden-xs") |
| | | .setDAlign("text-center") |
| | | .setDName("email")); |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("연락처") |
| | | .setDVisible("hidden-xs") |
| | | .setHWidth("width-180-p") |
| | | .setDName("phone") |
| | | .setDAlign("text-center")); |
| | | $scope.vm.userTableConfigs.push($tableProvider.config() |
| | | .setHName("설정") |
| | | .setDType("renderer") |
| | | .setHWidth("width-60-p") |
| | | .setDAlign("text-center") |
| | | .setDRenderer("TARGET_REMOVE")); |
| | | } |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | Task.excelImport({ |
| | | method : "POST", |
| | | file : $scope.vm.form.file, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : {} |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | // TODO - 웹 소켓으로 결과 표시 |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $scope.fn.cancel(); |
| | | // 목록 화면 갱신 |
| | | $scope.fn.broadCastTasks(); |
| | | $rootScope.$broadcast("getTaskList"); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $uibModalInstance.dismiss('cancel'); |
| | | } |
| | | |
| | | function broadCastTasks() { |
| | | User.requestTaskReloadUser($resourceProvider.getContent({projectId : ""}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | |
| | | } |
| | | else { |
| | | // TODO - 웹 소켓으로 경고창 표시 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.makeUserTableConfigs(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-01-05. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('taskModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$uibModalInstance', '$injector', '$controller', '$tableProvider', |
| | | 'Task', 'parameter', 'User', 'AttachedFile', 'SweetAlert', 'WorkflowStatus', '$q', 'TaskComment', '$timeout', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $uibModalInstance, $injector, $controller, $tableProvider, Task, parameter, User, AttachedFile, SweetAlert, WorkflowStatus, $q, TaskComment, $timeout) { |
| | | |
| | | $scope.fn = { |
| | | cancel : cancel, |
| | | changePriority : changePriority, |
| | | changeStatus : changeStatus, |
| | | formSubmit : formSubmit, |
| | | getWorkflowStatus : getWorkflowStatus, |
| | | startExecute : startExecute, |
| | | onFileSelect : onFileSelect, |
| | | getTaskData : getTaskData, |
| | | broadCastTasks : broadCastTasks, |
| | | fileRemove : fileRemove, |
| | | taskUserRemove : taskUserRemove, |
| | | addComment : addComment, |
| | | removeComment : removeComment, |
| | | getCommentList : getCommentList, |
| | | updateMyScreenAndOtherUsers : updateMyScreenAndOtherUsers, |
| | | updateTaskStatusMove : updateTaskStatusMove, |
| | | taskRemove : taskRemove, |
| | | broadCastRemoveTasks : broadCastRemoveTasks, |
| | | getUserListCallBack : getUserListCallBack |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | id : parameter.id, |
| | | title : "", // 제목 |
| | | description : "", // 설명 |
| | | priorityId : "", // 우선순위 id |
| | | priorityName : "", // 우선순위 명 |
| | | priorityColor : "", // 우선순위 색상 |
| | | workflowStatusId : "", // 상태 id |
| | | workflowStatusName : "", // 상태 명 |
| | | workflowStatusColor : "", // 상태 색상 |
| | | users : [], // 담당자 |
| | | attachedFiles : [], // 서버에 이미 올라간 첨부파일 |
| | | startCompleteDateRange : "", // 기간 |
| | | registerDate : "", // 생성일 |
| | | registerName : "", |
| | | comment : "", // 댓글 내용 |
| | | taskComments : [], // 댓글 전체 |
| | | }, |
| | | autoCompletePage : { |
| | | user : { |
| | | page : 0, |
| | | totalPage : 0 |
| | | } |
| | | }, |
| | | userName : "", |
| | | workflowStatus : [] |
| | | }; |
| | | |
| | | |
| | | angular.extend(this, $controller('autoCompleteController', {$scope : $scope, $injector : $injector})); |
| | | |
| | | // 다른 사용자가 같은 할일을 수정하고 있으면 데이터를 최신으로 업데이트한다. |
| | | $scope.$on("taskModifyModalUpdate", function (event, args) { |
| | | if (args.content.taskVo.id == parameter.id) { |
| | | $scope.fn.getTaskData(); |
| | | } |
| | | }); |
| | | |
| | | $scope.$on("taskModifyScreenClose", function (event, args) { |
| | | SweetAlert.swal("할일 삭제 알림", "다른 사용자에 의해 할일이 삭제되었습니다.", "warning"); |
| | | $scope.fn.cancel(); |
| | | }); |
| | | |
| | | // 할일 삭제 |
| | | function taskRemove() { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : "할일 삭제", |
| | | text : "선택한 할일을 삭제하겠습니까? 삭제된 할일은 복구할 수 없습니다.", |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : "삭제", |
| | | cancelButtonText : "취소", |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | Task.remove($resourceProvider.getContent( |
| | | [{id : parameter.id}], |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | $scope.fn.cancel(); |
| | | SweetAlert.swal("삭제 성공", "삭제가 정상적으로 실행되었습니다.", "success"); |
| | | $scope.fn.broadCastRemoveTasks($scope.vm.form); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.swal("삭제 실패", result.data.message.message, "error"); |
| | | }, 100); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 삭제 정보를 다른 사용자들에게 전파한다. |
| | | function broadCastRemoveTasks(task) { |
| | | var content = { |
| | | projectId : $rootScope.lastProject.id, |
| | | taskVo : task, |
| | | actionType : "/notification/task-remove" |
| | | }; |
| | | |
| | | User.taskUpdate($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $rootScope.$broadcast("taskRemove", { |
| | | content : { |
| | | workflowStatusId : $scope.vm.form.workflowStatusId, |
| | | projectId : $rootScope.lastProject.id, |
| | | taskVo : task |
| | | } |
| | | }); |
| | | } |
| | | else { |
| | | // TODO - 웹 소켓으로 경고창 표시 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 수정 후 업데이트된 정보를 자신의 화면/다른 사용자에게 전달한다. |
| | | function updateMyScreenAndOtherUsers() { |
| | | Task.modifyData($resourceProvider.getContent( |
| | | {id : $scope.vm.form.id}, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | // 업무 카드 업데이트 |
| | | $scope.fn.broadCastTasks(result.data.data); |
| | | |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("taskModify", { |
| | | content : { |
| | | workflowStatusId : parameter.workflowStatusId, |
| | | projectId : $rootScope.lastProject.id, |
| | | taskVo : result.data.data |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 우선순위를 변경한다. |
| | | function changePriority(priority) { |
| | | // 폼에 선택한 우선순위 값 업데이트 |
| | | $scope.vm.form.priorityId = priority.fieldKey; |
| | | $scope.vm.form.priorityName = priority.fieldValue; |
| | | $scope.vm.form.priorityColor = priority.color; |
| | | |
| | | $scope.fn.formSubmit(); |
| | | } |
| | | |
| | | // 할일 상태를 변경한다. |
| | | function changeStatus(workflowStatus) { |
| | | $scope.vm.form.workflowStatusId = workflowStatus.id; |
| | | $scope.vm.form.workflowStatusName = workflowStatus.name; |
| | | $scope.vm.form.workflowStatusColor = workflowStatus.color; |
| | | |
| | | $scope.fn.formSubmit(); |
| | | // 할일 상태 이동 화면 업데이트 |
| | | $scope.fn.updateTaskStatusMove(); |
| | | } |
| | | |
| | | // 담당자를 변경한다. |
| | | $scope.$on("taskUserUpdate", function (args) { |
| | | $scope.fn.formSubmit(); |
| | | }); |
| | | |
| | | // 시작일 ~ 종료일 변경 |
| | | $scope.$on("dateUpdate", function (newValue, oldValue) { |
| | | $scope.fn.formSubmit(); |
| | | }); |
| | | |
| | | // 파일 첨부 |
| | | function onFileSelect($files) { |
| | | var permit = true; |
| | | for (var count in $files) { |
| | | if ($files[count].size > 1048576000) { |
| | | permit = false; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!permit) { |
| | | SweetAlert.swal("파일 사이즈 제한", "업로드 최대 가능 용량은 1GB 입니다.", "error"); |
| | | return; |
| | | } |
| | | |
| | | AttachedFile.add({ |
| | | method : "POST", |
| | | file : $files, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : { |
| | | taskId : parameter.id |
| | | } |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | $scope.vm.form.attachedFiles = result.data.data; |
| | | // 변경 사항 화면 업데이트 |
| | | $scope.fn.updateMyScreenAndOtherUsers(); |
| | | } |
| | | else { |
| | | SweetAlert.swal("파일 업로드 오류", result.data.message.message, "error"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 파일 삭제 |
| | | function fileRemove(attachedFile) { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : "파일 삭제", |
| | | text : "선택한 파일 삭제하겠습니까? 삭제된 파일은 복구할 수 없습니다.", |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : "삭제", |
| | | cancelButtonText : "취소", |
| | | closeOnConfirm : true, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | AttachedFile.remove($resourceProvider.getContent({id : attachedFile.id, taskId : parameter.id}, |
| | | $resourceProvider.getPageContent(0, 255))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $scope.vm.form.attachedFiles = result.data.data; |
| | | // 변경 사항 화면 업데이트 |
| | | $scope.fn.updateMyScreenAndOtherUsers(); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.swal("삭제 실패", result.data.message.message, "error"); |
| | | }, 100); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 사용자 선택 auto complete 에서 사용 |
| | | function getUserListCallBack(result) { |
| | | $scope.vm.autoCompletePage.user.totalPage = result.data.page.totalPage; |
| | | } |
| | | |
| | | // 사용자 제거 |
| | | function taskUserRemove(id) { |
| | | var users = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | if (user.id != id) { |
| | | users.push(user); |
| | | } |
| | | }); |
| | | |
| | | $scope.vm.form.users = angular.copy(users); |
| | | |
| | | $scope.fn.formSubmit(); |
| | | } |
| | | |
| | | // 댓글 등록 |
| | | function addComment() { |
| | | var comment = $scope.vm.form.comment.replace(/(\s*)/g, ""); |
| | | if (comment.length < 1) { |
| | | SweetAlert.swal({ |
| | | title : "댓글 입력 확인", |
| | | text : "댓글을 입력하세요.", |
| | | type : "warning" |
| | | }); |
| | | |
| | | return; |
| | | } |
| | | |
| | | var content = { |
| | | taskId : $scope.vm.form.id, |
| | | comment : $scope.vm.form.comment |
| | | }; |
| | | |
| | | TaskComment.add($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $scope.vm.form.comment = ""; |
| | | // 변경 사항 화면 업데이트 |
| | | $scope.fn.updateMyScreenAndOtherUsers(); |
| | | // 댓글 전체 목록 로딩 |
| | | $scope.fn.getCommentList(); |
| | | } |
| | | else { |
| | | SweetAlert.swal("댓글 등록 실패", result.data.message.message, "error"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 댓글 삭제 |
| | | function removeComment(comment) { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : "댓글 삭제", |
| | | text : "선택한 댓글을 삭제하겠습니까? 삭제된 댓글은 복구할 수 없습니다.", |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : "삭제", |
| | | cancelButtonText : "취소", |
| | | closeOnConfirm : true, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | |
| | | if (isConfirm) { |
| | | TaskComment.remove($resourceProvider.getContent( |
| | | {id : comment.id}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | // 변경 사항 화면 업데이트 |
| | | $scope.fn.updateMyScreenAndOtherUsers(); |
| | | // 댓글 목록 로딩 |
| | | $scope.fn.getCommentList(); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.swal("삭제 실패", result.data.message.message, "error"); |
| | | }, 100); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 해당 할일의 전체 댓글을 가져온다. |
| | | function getCommentList() { |
| | | TaskComment.find($resourceProvider.getContent( |
| | | {taskId : $scope.vm.form.id}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $scope.vm.form.taskComments = result.data.data; |
| | | } |
| | | else { |
| | | SweetAlert.swal({ |
| | | title : "댓글 목록 데이터 가져오기 실패", |
| | | text : result.message.message, |
| | | type : "error" |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | function formSubmit() { |
| | | if (!$rootScope.isDefined($scope.vm.form.title)) { |
| | | SweetAlert.swal({ |
| | | title : "할일 제목 입력", |
| | | text : "할일 제목을 입력하세요.", |
| | | type : "warning" |
| | | }); |
| | | return; |
| | | } |
| | | |
| | | var content = { |
| | | id : $scope.vm.form.id, |
| | | title : $scope.vm.form.title, // 제목 |
| | | description : $scope.vm.form.description, // 설명 |
| | | workflowStatusId : $scope.vm.form.workflowStatusId, // 상태 |
| | | priorityId : $scope.vm.form.priorityId, // 우선순위 |
| | | userIds : (function () { |
| | | var userIds = []; |
| | | |
| | | angular.forEach($scope.vm.form.users, function (user) { |
| | | userIds.push(user.id); |
| | | }); |
| | | |
| | | return userIds; |
| | | })(), // 담당자 |
| | | startCompleteDateRange : $scope.vm.form.startCompleteDateRange // 시작일, 종료일 |
| | | }; |
| | | |
| | | Task.modify({ |
| | | method : "POST", |
| | | file : $scope.vm.form.files, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : content |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.data.message.status == "success") { |
| | | // 변경 사항 화면 업데이트 |
| | | $scope.fn.updateMyScreenAndOtherUsers(); |
| | | } |
| | | else { |
| | | SweetAlert.swal("할일 수정 실패", result.data.message.message, "error"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function cancel() { |
| | | $uibModalInstance.dismiss('cancel'); |
| | | } |
| | | |
| | | // 할일 수정 데이터 |
| | | function getTaskData() { |
| | | var deferred = $q.defer(); |
| | | |
| | | $rootScope.lastTaskId = $scope.vm.form.id; |
| | | |
| | | Task.modifyData($resourceProvider.getContent( |
| | | {id : $scope.vm.form.id}, |
| | | $resourceProvider.getPageContent(0, 1))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | if (angular.isDefined(result.data.data)) { |
| | | $scope.vm.form.title = result.data.data.title; |
| | | $scope.vm.form.description = result.data.data.description; |
| | | $scope.vm.form.priorityId = result.data.data.priorityVo.id; |
| | | $scope.vm.form.priorityName = result.data.data.priorityVo.name; |
| | | $scope.vm.form.priorityColor = result.data.data.priorityVo.color; |
| | | $scope.vm.form.workflowStatusId = result.data.data.workflowStatusVo.id; |
| | | $scope.vm.form.workflowStatusName = result.data.data.workflowStatusVo.name; |
| | | $scope.vm.form.workflowStatusColor = result.data.data.workflowStatusVo.color; |
| | | |
| | | $scope.vm.form.registerDate = result.data.data.registerDate; |
| | | $scope.vm.form.registerName = result.data.data.registerName; |
| | | |
| | | if ($rootScope.isDefined(result.data.data.startDate)) { |
| | | $scope.vm.form.startCompleteDateRange = result.data.data.startDate + " ~ " + result.data.data.completeDate; |
| | | } |
| | | else { |
| | | $scope.vm.form.startCompleteDateRange = ""; |
| | | } |
| | | |
| | | $scope.vm.form.users = result.data.data.userVos; |
| | | $scope.vm.form.attachedFiles = result.data.data.attachedFileVos; |
| | | $scope.vm.form.taskComments = result.data.data.taskCommentVos; |
| | | // owlAutoTextHeight 실행 |
| | | $rootScope.$broadcast("dynamicTextareaHeight", {}); |
| | | } |
| | | |
| | | deferred.resolve(result); |
| | | } |
| | | else { |
| | | deferred.reject(result); |
| | | } |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 워크플로우 상태 목록 |
| | | function getWorkflowStatus() { |
| | | var deferred = $q.defer(); |
| | | |
| | | WorkflowStatus.find($resourceProvider.getContent({projectId : $rootScope.lastProject.id}, |
| | | $resourceProvider.getPageContent(0, 255))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | $scope.vm.workflowStatus = result.data.data; |
| | | |
| | | angular.forEach($scope.vm.workflowStatus, function (workflowStatus) { |
| | | workflowStatus.taskVos = workflowStatus.taskVos.sort(function (a, b) { // 오름차순 |
| | | return a.position < b.position ? -1 : a.position > b.position ? 1 : 0; |
| | | }); |
| | | }); |
| | | |
| | | deferred.resolve(result); |
| | | } |
| | | else { |
| | | deferred.reject(result); |
| | | } |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | } |
| | | |
| | | // 할일 수정 내용 다른 사용자에게 전파 |
| | | function broadCastTasks(taskVo) { |
| | | var content = { |
| | | projectId : $rootScope.lastProject.id, |
| | | workflowStatusId : parameter.workflowStatusId, |
| | | taskVo : taskVo, |
| | | actionType : "/notification/task-modify" |
| | | }; |
| | | |
| | | User.taskUpdate($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | |
| | | } |
| | | else { |
| | | // TODO - 웹 소켓으로 경고창 표시 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 할일의 상태를 변경하면 이동한 상태의 가장 처음으로 배치시킨다. |
| | | function updateTaskStatusMove() { |
| | | var content = { |
| | | moveWorkflowStatusId : $scope.vm.form.workflowStatusId, // 이동한 status id |
| | | prevTaskId : null, // 이동한 상태의 이전 task id |
| | | nextTaskId : null, // 이동한 상태의 다음 task id |
| | | taskId : parameter.id, // 이동한 task id |
| | | projectId : $rootScope.lastProject.id, |
| | | actionType : "/notification/task-move" |
| | | }; |
| | | |
| | | // 목록 화면 갱신 |
| | | $rootScope.$broadcast("taskMoveSelf", { |
| | | content : content |
| | | }); |
| | | |
| | | Task.updateTaskKanBan($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status == "success") { |
| | | |
| | | } |
| | | else { |
| | | // TODO - 웹 소켓으로 경고창 표시 |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | function startExecute() { |
| | | var promises = { |
| | | getTaskData : $scope.fn.getTaskData(), |
| | | getWorkflowStatus : $scope.fn.getWorkflowStatus() |
| | | }; |
| | | |
| | | $q.all(promises).then(function (results) { |
| | | $log.debug("promises 결과 ", results); |
| | | }); |
| | | } |
| | | |
| | | $scope.fn.startExecute(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | 'use strict'; |
| | | |
| | | define(['app'], |
| | | function (app) { |
| | | app.config(function ($stateProvider) { |
| | | $stateProvider |
| | | .state('users', { |
| | | abstract: true, |
| | | url: "/users", |
| | | templateUrl: "views/common/app.html", |
| | | resolve: { |
| | | authorize: function (Auth) { |
| | | return Auth.authorize(); |
| | | }, |
| | | translatePartialLoader: function ($translate, $translatePartialLoader) { |
| | | $translatePartialLoader.addPart('global'); |
| | | |
| | | return $translate.refresh(); |
| | | } |
| | | } |
| | | }) |
| | | .state("users.detail", { |
| | | url: '/user/userDetail/:id', |
| | | data: { |
| | | authorities: ["USER_TOTAL"] |
| | | }, |
| | | templateUrl: 'views/user/userDetail.html', |
| | | controller: "userDetailController", |
| | | resolve: { |
| | | loadController: ["$q", function ($q) { |
| | | var deferred = $q.defer(); |
| | | require(["userDetailController", "userModifyController", "userModifyPasswordController", "issueHistoryService", 'bootstrapDateRangePicker', 'moment', 'dateRangePicker', 'modalFormAutoScroll', |
| | | 'dateTimePicker', 'dateTimePickerFull', 'inputRegex', 'domAppend'], function () { |
| | | deferred.resolve(); |
| | | }); |
| | | |
| | | return deferred.promise; |
| | | }] |
| | | } |
| | | }); |
| | | }) |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-15. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('userAddController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'User', 'SweetAlert', '$filter', 'Auth', '$state', |
| | | function ($scope, $rootScope, $log, $resourceProvider, User, SweetAlert, $filter, Auth, $state) { |
| | | |
| | | $scope.fn = { |
| | | formSubmit : formSubmit, // 폼 전송 |
| | | formCheck : formCheck, // 폼 체크 |
| | | onFileSelect : onFileSelect // 프로필 업로드 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form : { |
| | | name : "", |
| | | account : "", |
| | | password : "", |
| | | passwordConfirm : "", |
| | | phone : "", |
| | | profileImage : null, |
| | | status : "01", |
| | | workspaceName : "myWorkSpace", |
| | | profileImageName : null, |
| | | agreeTerm : false, |
| | | licensekey : "" |
| | | } |
| | | }; |
| | | |
| | | function onFileSelect($files) { |
| | | $scope.vm.form.profileImage = $files; |
| | | |
| | | if ($rootScope.isDefined($files)) { |
| | | $scope.vm.form.profileImageName = $files[0].name; |
| | | } |
| | | else { |
| | | $scope.vm.form.profileImageName = ""; |
| | | } |
| | | } |
| | | |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.password.length < 4) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.passwordConfirm.length < 4) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.password !== $scope.vm.form.passwordConfirm) { |
| | | return true; |
| | | } |
| | | |
| | | // if (!$scope.vm.form.agreeTerm) { |
| | | // return true; |
| | | // } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; // 프로그래스 바 |
| | | |
| | | var content = angular.copy($scope.vm.form); |
| | | content.name = $rootScope.preventXss(content.name); |
| | | content.workspaceName = $rootScope.preventXss(content.workspaceName); |
| | | content.password = CryptoJS.SHA512(content.password).toString(); |
| | | content.language = $rootScope.language; // 기본 언어 |
| | | |
| | | User.add({ |
| | | method : "POST", |
| | | file : $scope.vm.form.profileImage, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : content |
| | | }, |
| | | fileFormDataName : "file" |
| | | }).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | Auth.login({ |
| | | account : $rootScope.encryption($scope.vm.form.account), |
| | | password : CryptoJS.SHA512($scope.vm.form.password).toString() |
| | | }).then(function () { |
| | | $rootScope.spinner = false; |
| | | $rootScope.back(); |
| | | }).catch(function () { |
| | | $rootScope.spinner = false; |
| | | $state.go("login"); |
| | | }); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("users.failedToCreateUser"), result.data.message.message, "error"); // "사용자 생성 실패" |
| | | $rootScope.spinner = false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by jeong on 2018-01-28. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app' |
| | | ], |
| | | function (app) { |
| | | app.controller('userDetailController', ['$scope', '$rootScope', '$log', '$resourceProvider', '$tableProvider', 'IssueHistory', '$uibModal', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, $tableProvider, IssueHistory, $uibModal, SweetAlert, $filter) { |
| | | |
| | | // 함수 |
| | | $scope.fn = { |
| | | getIssueHistoryList : getIssueHistoryList, // 이슈 기록 정보 조회 |
| | | modify : modify, // 사용자 수정 |
| | | changeSearchPeriod : changeSearchPeriod, // 이력 조회 검색 조건 변경 |
| | | modifyPassword : modifyPassword // 비밀번호 변경 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | viewer : {}, |
| | | search : { |
| | | searchPeriod : "LAST_SEVEN_DAYS", |
| | | startEndDateRange : "" // 이슈 기록 조회 날짜 |
| | | }, |
| | | issueHistoryVos : [], // 이슈 기록 정보 |
| | | issueHistoryDates : [] // 이슈 기록 정보 날짜 |
| | | }; |
| | | |
| | | // 직접 입력에서 날짜 선택시 이슈 기록 정보 조회 |
| | | $scope.$watch("vm.search.startEndDateRange", function (newValue) { |
| | | if ($rootScope.isDefined(newValue)) { |
| | | $scope.fn.getIssueHistoryList(); |
| | | } |
| | | }); |
| | | |
| | | // 사용자 수정 |
| | | function modify(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/user/userModify.html', |
| | | size : "md", |
| | | controller : "userModifyController", |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 사용자 비밀번호 변경 |
| | | function modifyPassword(id) { |
| | | $uibModal.open({ |
| | | templateUrl : 'views/user/userModifyPassword.html', |
| | | size : "md", |
| | | controller : "userModifyPasswordController", |
| | | backdrop : 'static', |
| | | resolve : { |
| | | parameter : function () { |
| | | return { |
| | | id : id |
| | | }; |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이슈 기록 정보 조회 |
| | | function getIssueHistoryList() { |
| | | var content = { |
| | | searchPeriod : $scope.vm.search.searchPeriod, |
| | | searchStartDate : "", |
| | | searchEndDate : "" |
| | | }; |
| | | |
| | | if ($rootScope.isDefined($scope.vm.search.startEndDateRange)) { |
| | | var startEndDateRange = $scope.vm.search.startEndDateRange.split("~"); |
| | | content.searchStartDate = startEndDateRange[0].trim(); |
| | | content.searchEndDate = startEndDateRange[1].trim(); |
| | | } |
| | | |
| | | IssueHistory.find($resourceProvider.getContent(content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.issueHistoryDates = Object.keys(result.data.data.issueHistoryGroups); // 기록 날짜 수집 |
| | | |
| | | $scope.vm.issueHistoryDates.sort(function (a, b) { |
| | | var c = new Date(a); |
| | | var d = new Date(b); |
| | | return d - c; |
| | | }); |
| | | |
| | | $scope.vm.issueHistoryVos = result.data.data.issueHistoryGroups; // 이슈 기록 정보 |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("users.failedToRetrieveIssueHistory"), result.data.message.message, "error"); // "이슈 기록 정보 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 이력 조회 검색 조건 변경 |
| | | function changeSearchPeriod() { |
| | | switch ($scope.vm.search.searchPeriod) { |
| | | case "CUSTOM_INPUT" : |
| | | $scope.vm.search.startEndDateRange = ""; |
| | | break; |
| | | default : |
| | | $scope.vm.search.startEndDateRange = ""; |
| | | $scope.fn.getIssueHistoryList(); |
| | | } |
| | | } |
| | | |
| | | |
| | | // 이슈 기록 정보 조회 |
| | | $scope.fn.getIssueHistoryList(); |
| | | |
| | | } |
| | | ]); |
| | | } |
| | | ); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2017-12-15. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('userModifyController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'User', '$uibModalInstance', 'parameter', 'SweetAlert', '$timeout', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, User, $uibModalInstance, parameter, SweetAlert, $timeout, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel: cancel, // 팝업 창 닫기 |
| | | formSubmit: formSubmit, // 폼 전송 |
| | | formCheck: formCheck, // 폼 체크 |
| | | detail: detail, // 상세 정보 조회 |
| | | withDraw : withDraw, // 회원 탈퇴 |
| | | onFileSelect : onFileSelect // 프로필 업로드 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form: { |
| | | id: parameter.id, |
| | | account: "", |
| | | name: "", |
| | | phone: "", |
| | | reservationNotifyTime : "", // 이메일 알림 시간 |
| | | profileImage : null, // 업로드하는 프로필 |
| | | profileImageName : null // 프로필 명 |
| | | } |
| | | }; |
| | | |
| | | // 회원 탈퇴 |
| | | function withDraw() { |
| | | // 삭제 알림 |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("users.membershipWithdrawal"), // 회원 탈퇴 |
| | | text : $filter("translate")("users.proceedWithMembershipWithdrawal"), // 회원 탈퇴를 진행하겠습니까? 회원 탈퇴를 하면 업무 공간의 모든 데이터가 사라지고 복구할 수 없습니다. |
| | | type : "warning", |
| | | showCancelButton : true, |
| | | confirmButtonColor : "#DD6B55", |
| | | confirmButtonText : $filter("translate")("users.withdrawal"), // "탈퇴" |
| | | cancelButtonText : $filter("translate")("common.cancel"), // "취소" |
| | | closeOnConfirm : false, |
| | | closeOnCancel : true |
| | | }, |
| | | function (isConfirm) { |
| | | SweetAlert.close(); |
| | | if (isConfirm) { |
| | | $rootScope.spinner = true; |
| | | |
| | | User.withDraw($resourceProvider.getContent( |
| | | {}, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | SweetAlert.success($filter("translate")("users.successWithdrawalFromMembership"), $filter("translate")("users.completedWithdrawalFromOwlITS")); // "회원 탈퇴 성공", "OWL ITS 에서 탈퇴가 완료되었습니다." |
| | | // 로그아웃 실행 - common.controller.js $broadcast |
| | | $rootScope.$broadcast("logout"); |
| | | } |
| | | else { |
| | | $timeout(function () { |
| | | SweetAlert.error($filter("translate")("users.failedMemberWithdrawal"), result.data.message.message); // "회원 탈퇴 실패" |
| | | }, 100); |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 상세 정보 조회 |
| | | function detail() { |
| | | User.detail($resourceProvider.getContent( |
| | | { |
| | | id : $rootScope.user.id, |
| | | deep : "01" |
| | | }, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | $scope.vm.form.name = result.data.data.name; |
| | | $scope.vm.form.account = result.data.data.account; |
| | | $scope.vm.form.phone = result.data.data.phone; |
| | | $scope.vm.form.reservationNotifyTime = result.data.data.reservationNotifyTime; |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("users.failedToSelectUserDetail"), result.data.message.message, "error"); // "사용자 상세 정보 조회 실패" |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 프로필 업로드 |
| | | function onFileSelect($files) { |
| | | $scope.vm.form.profileImage = $files; |
| | | |
| | | if ($rootScope.isDefined($files)) { |
| | | $scope.vm.form.profileImageName = $files[0].name; |
| | | } |
| | | else { |
| | | $scope.vm.form.profileImageName = ""; |
| | | } |
| | | } |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = angular.copy($scope.vm.form); |
| | | content.name = $rootScope.preventXss(content.name); |
| | | content.phone = $rootScope.preventXss(content.phone); |
| | | content.profile = $scope.vm.form.profileImageName; |
| | | |
| | | User.modify({ |
| | | method : "POST", |
| | | file : $scope.vm.form.profileImage, |
| | | // data 속성으로 별도의 데이터 전송 |
| | | fields : { |
| | | content : content |
| | | }, |
| | | fileFormDataName : "file" |
| | | }) |
| | | .then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | User.getUserSession({}).then(function (result) { |
| | | if (result.message.status === "success") { |
| | | if (result.data != null) { |
| | | $rootScope.user = result.data; // 전역으로 사용하는 로그인 사용자 정보. |
| | | } |
| | | else { |
| | | throw {message: $filter("translate")("users.notExistUserSession")}; // "사용자 세션이 존재하지 않습니다." |
| | | } |
| | | } |
| | | else { |
| | | throw {message: $filter("translate")("users.notExistUserSession")}; // "사용자 세션이 존재하지 않습니다." |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | |
| | | $scope.fn.cancel(); |
| | | } |
| | | else { |
| | | SweetAlert.swal({ |
| | | title : $filter("translate")("users.failedToModifyUser"), // "사용자 수정 실패" |
| | | text : result.data.message.message, |
| | | type : "error" |
| | | }); |
| | | |
| | | $rootScope.spinner = false; |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | |
| | | $scope.fn.detail(); |
| | | }]); |
| | | }); |
New file |
| | |
| | | /** |
| | | * Created by wisestone on 2018-10-16. |
| | | */ |
| | | 'use strict'; |
| | | |
| | | define([ |
| | | 'app', |
| | | 'angular' |
| | | ], |
| | | function (app, angular) { |
| | | app.controller('userModifyPasswordController', ['$scope', '$rootScope', '$log', '$resourceProvider', 'User', '$uibModalInstance', 'parameter', 'SweetAlert', '$filter', |
| | | function ($scope, $rootScope, $log, $resourceProvider, User, $uibModalInstance, parameter, SweetAlert, $filter) { |
| | | |
| | | $scope.fn = { |
| | | cancel: cancel, // 팝업 창 닫기 |
| | | formSubmit: formSubmit, // 폼 전송 |
| | | formCheck: formCheck // 폼 체크 |
| | | }; |
| | | |
| | | $scope.vm = { |
| | | form: { |
| | | id : parameter.id, |
| | | currentPassword : "", // 현재 비밀번호 |
| | | password : "", // 비밀번호 |
| | | passwordConfirm : "" // 신규 비밀번호 확인 |
| | | } |
| | | }; |
| | | |
| | | // 폼 체크 |
| | | function formCheck(formInvalid) { |
| | | if (formInvalid) { |
| | | return true; |
| | | } |
| | | |
| | | if (!$rootScope.isDefined($scope.vm.form.currentPassword) || !$rootScope.isDefined($scope.vm.form.password) || !$rootScope.isDefined($scope.vm.form.passwordConfirm)) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.password.length < 4) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.passwordConfirm.length < 4) { |
| | | return true; |
| | | } |
| | | |
| | | if ($scope.vm.form.password !== $scope.vm.form.passwordConfirm) { |
| | | return true; |
| | | } |
| | | |
| | | return false; |
| | | } |
| | | |
| | | // 폼 전송 |
| | | function formSubmit() { |
| | | $rootScope.spinner = true; |
| | | |
| | | var content = { |
| | | id : $scope.vm.form.id, |
| | | currentPassword : CryptoJS.SHA512($scope.vm.form.currentPassword).toString(), |
| | | password : CryptoJS.SHA512($scope.vm.form.password).toString(), |
| | | passwordConfirm : CryptoJS.SHA512($scope.vm.form.passwordConfirm).toString() |
| | | }; |
| | | |
| | | User.modifyPassword($resourceProvider.getContent( |
| | | content, |
| | | $resourceProvider.getPageContent(0, 0))).then(function (result) { |
| | | if (result.data.message.status === "success") { |
| | | SweetAlert.swal($filter("translate")("users.completedPasswordChange"), result.data.message.message, "success"); // "비밀번호 변경 완료" |
| | | $scope.fn.cancel(); |
| | | } |
| | | else { |
| | | SweetAlert.swal($filter("translate")("users.failedPasswordChange"), result.data.message.message, "error"); // "비밀번호 변경 실패" |
| | | } |
| | | |
| | | $rootScope.spinner = false; |
| | | }); |
| | | } |
| | | |
| | | // 팝업 창 닫기 |
| | | function cancel() { |
| | | $rootScope.$broadcast("closeLayer"); // 팝업이 열리고 나서 js-multi, js-single 등에서 body 이벤트가 날아가는 현상 수정 |
| | | $uibModalInstance.dismiss('cancel'); |
| | | $(document).unbind("keydown"); // 단축키 이벤트 제거 |
| | | } |
| | | }]); |
| | | }); |
src/main/webapp/scripts/app/user/userPassword.controller.js
src/main/webapp/scripts/app/userInvite/userInvite.controller.js
src/main/webapp/scripts/app/widget/widget.js
src/main/webapp/scripts/app/widget/widgetDashBoard.controller.js
src/main/webapp/scripts/app/workflow/workflow.js
src/main/webapp/scripts/app/workflow/workflowAdd.controller.js
src/main/webapp/scripts/app/workflow/workflowList.controller.js
src/main/webapp/scripts/app/workflow/workflowModify.controller.js
src/main/webapp/scripts/app/workflowStatus/workflowStatusAdd.controller.js
src/main/webapp/scripts/app/workflowStatus/workflowStatusModify.controller.js
src/main/webapp/scripts/app/workspace/workspace.controller.js
src/main/webapp/scripts/app/workspace/workspace.js
src/main/webapp/scripts/app/workspace/workspaceDepartmentConfig.controller.js
src/main/webapp/scripts/app/workspace/workspacePaymentAdd.controller.js
src/main/webapp/scripts/app/workspace/workspacePaymentAgreeTerm.controller.js
src/main/webapp/scripts/app/workspace/workspacePaymentExecute.controller.js
src/main/webapp/scripts/app/workspace/workspacePaymentModify.controller.js
src/main/webapp/scripts/app/workspace/workspaceUserConfig.controller.js
src/main/webapp/scripts/app/workspace/workspaceUserLevelConfig.controller.js
src/main/webapp/scripts/components/attachedFile/attachedFile.service.js
src/main/webapp/scripts/components/auth/auth.interceptor.js
src/main/webapp/scripts/components/auth/auth.service.js
src/main/webapp/scripts/components/auth/auth.session.service.js
src/main/webapp/scripts/components/auth/principal.service.js
src/main/webapp/scripts/components/customField/customField.service.js
src/main/webapp/scripts/components/event/event.service.js
src/main/webapp/scripts/components/faq/faq.service.js
src/main/webapp/scripts/components/gantt/gantt.service.js
src/main/webapp/scripts/components/gantt/googleChartLoader.js
src/main/webapp/scripts/components/guide/guide.service.js
src/main/webapp/scripts/components/issue/issue.service.js
src/main/webapp/scripts/components/issueComment/issueComment.service.js
src/main/webapp/scripts/components/issueHistory/issueHistory.service.js
src/main/webapp/scripts/components/issueRelation/issueRelation.service.js
src/main/webapp/scripts/components/issueReservation/issueReservation.service.js
src/main/webapp/scripts/components/issueSearch/issueSearch.service.js
src/main/webapp/scripts/components/issueStatus/issueStatus.service.js
src/main/webapp/scripts/components/issueTableConfig/issueTableConfig.service.js
src/main/webapp/scripts/components/issueType/issueType.service.js
src/main/webapp/scripts/components/issueTypeCustomField/issueTypeCustomField.service.js
src/main/webapp/scripts/components/issueUser/issueUser.service.js
src/main/webapp/scripts/components/issueVersion/issueVersion.service.js
src/main/webapp/scripts/components/language/language.service.js
src/main/webapp/scripts/components/manageUser/manageUser.service.js
src/main/webapp/scripts/components/notice/notice.service.js
src/main/webapp/scripts/components/payment/payment.service.js
src/main/webapp/scripts/components/permission/permission.service.js
src/main/webapp/scripts/components/priority/priority.service.js
src/main/webapp/scripts/components/project/project.service.js
src/main/webapp/scripts/components/qna/qna.service.js
src/main/webapp/scripts/components/reservationDisableUser/reservationDisableUser.service.js
src/main/webapp/scripts/components/severity/severity.service.js
src/main/webapp/scripts/components/systemEmail/systemEmail.service.js
src/main/webapp/scripts/components/task/task.service.js
src/main/webapp/scripts/components/taskComment/taskComment.service.js
src/main/webapp/scripts/components/user/user.service.js
src/main/webapp/scripts/components/userHistory/userHistory.service.js
src/main/webapp/scripts/components/userInvite/userInvite.service.js
src/main/webapp/scripts/components/userWorkspace/userWorkspace.service.js
src/main/webapp/scripts/components/utils/agileCardSortable.directive.js
src/main/webapp/scripts/components/utils/autoComplete.controller.js
src/main/webapp/scripts/components/utils/cardContent.directive.js
src/main/webapp/scripts/components/utils/cardTextarea.directive.js
src/main/webapp/scripts/components/utils/colorPalettePicker.directive.js
src/main/webapp/scripts/components/utils/dateRangePicker.directive.js
src/main/webapp/scripts/components/utils/dateTimePicker.directive.js
src/main/webapp/scripts/components/utils/detectIssueEditor.directive.js
src/main/webapp/scripts/components/utils/domAppend.directive.js
src/main/webapp/scripts/components/utils/formSubmit.directive.js
src/main/webapp/scripts/components/utils/fullScroll.directive.js
src/main/webapp/scripts/components/utils/functionToolTip.directive.js
src/main/webapp/scripts/components/utils/includeReplace.directive.js
src/main/webapp/scripts/components/utils/inputRegex.directive.js
src/main/webapp/scripts/components/utils/issueDetailImagePreview.directive.js
src/main/webapp/scripts/components/utils/issueSearchArrayViewElement.directive.js
src/main/webapp/scripts/components/utils/issueSearchCustomFieldViewElement.directive.js
src/main/webapp/scripts/components/utils/issueSearchFieldKeyViewElement.directive.js
src/main/webapp/scripts/components/utils/issueStatusAutoFocus.directive.js
src/main/webapp/scripts/components/utils/krInput.directive.js
src/main/webapp/scripts/components/utils/modalFormAutoScroll.directive.js
src/main/webapp/scripts/components/utils/ngEnter.directive.js
src/main/webapp/scripts/components/utils/noticeModal.directive.js
src/main/webapp/scripts/components/utils/numberOnly.directive.js
src/main/webapp/scripts/components/utils/owlAttachedFileType.directive.js
src/main/webapp/scripts/components/utils/owlAutoFocus.directive.js
src/main/webapp/scripts/components/utils/owlAutoTextHeight.directive.js
src/main/webapp/scripts/components/utils/owlMobileTopMenu.directive.js
src/main/webapp/scripts/components/utils/owlProfileOver.directive.js
src/main/webapp/scripts/components/utils/owlProjectKey.directive.js
src/main/webapp/scripts/components/utils/owlTaskAutoButton.directive.js
src/main/webapp/scripts/components/utils/removeHtmlTag.filter.js
src/main/webapp/scripts/components/utils/resource.provider.js
src/main/webapp/scripts/components/utils/summerNoteAutoFocus.directive.js
src/main/webapp/scripts/components/utils/tableUserImage.directive.js
src/main/webapp/scripts/components/utils/textUpperString.directive.js
src/main/webapp/scripts/components/widget/widget.service.js
src/main/webapp/scripts/components/workflow/workflow.service.js
src/main/webapp/scripts/components/workflowStatus/workflowStatus.service.js
src/main/webapp/scripts/components/workspace/workspace.service.js
src/main/webapp/scripts/config.js
src/main/webapp/scripts/constants.js
src/main/webapp/scripts/main.js
src/main/webapp/views/common/app.html
src/main/webapp/views/common/footer.html
src/main/webapp/views/common/header.html
src/main/webapp/views/common/sidebar.html
src/main/webapp/views/customField/customFieldAdd.html
src/main/webapp/views/customField/customFieldList.html
src/main/webapp/views/customField/customFieldModify.html
src/main/webapp/views/event/eventAdd.html
src/main/webapp/views/event/eventList.html
src/main/webapp/views/event/eventModify.html
src/main/webapp/views/event/eventView.html
src/main/webapp/views/faq/faqAdd.html
src/main/webapp/views/faq/faqList.html
src/main/webapp/views/faq/faqModify.html
src/main/webapp/views/faq/faqView.html
src/main/webapp/views/gantt/gantt.html
src/main/webapp/views/guide/guideAdd.html
src/main/webapp/views/guide/guideList.html
src/main/webapp/views/guide/guideModify.html
src/main/webapp/views/guide/guideView.html
src/main/webapp/views/issue/issueAdd.html
src/main/webapp/views/issue/issueAddTableConfig.html
src/main/webapp/views/issue/issueDetail.html
src/main/webapp/views/issue/issueExcelImport.html
src/main/webapp/views/issue/issueList.html
src/main/webapp/views/issue/issueListNormal.html
src/main/webapp/views/issue/issueListTimeline.html
src/main/webapp/views/issue/issueModify.html
src/main/webapp/views/issue/issueModifyStatus.html
src/main/webapp/views/issue/issueModifyUser.html
src/main/webapp/views/issue/issueReservation.html
src/main/webapp/views/issue/issueSendMail.html
src/main/webapp/views/issue/issueVersionView.html
src/main/webapp/views/issueStatus/issueStatusAdd.html
src/main/webapp/views/issueStatus/issueStatusList.html
src/main/webapp/views/issueStatus/issueStatusModify.html
src/main/webapp/views/issueType/issueTypeAdd.html
src/main/webapp/views/issueType/issueTypeList.html
src/main/webapp/views/issueType/issueTypeModify.html
src/main/webapp/views/login/facebook.html
src/main/webapp/views/login/google.html
src/main/webapp/views/login/kakao.html
src/main/webapp/views/login/login.html
src/main/webapp/views/login/naver.html
src/main/webapp/views/login/socialConnect.html
src/main/webapp/views/login/socialFail.html
src/main/webapp/views/login/socialFailNotEmail.html
src/main/webapp/views/login/socialOk.html
src/main/webapp/views/login/terms.html
src/main/webapp/views/login/terms_origin.html
src/main/webapp/views/login/withDrawSocialAccount.html
src/main/webapp/views/manageUser/manageUser.html
src/main/webapp/views/notice/noticeAdd.html
src/main/webapp/views/notice/noticeList.html
src/main/webapp/views/notice/noticeModify.html
src/main/webapp/views/notice/noticeView.html
src/main/webapp/views/popup/notice.html
src/main/webapp/views/project/projectAdd.html
src/main/webapp/views/project/projectCustomFieldConfig.html
src/main/webapp/views/project/projectList.html
src/main/webapp/views/project/projectListNormal.html
src/main/webapp/views/project/projectListTimeline.html
src/main/webapp/views/project/projectModify.html
src/main/webapp/views/qna/qnaAdd.html
src/main/webapp/views/qna/qnaList.html
src/main/webapp/views/qna/qnaModify.html
src/main/webapp/views/qna/qnaView.html
src/main/webapp/views/support/support.html
src/main/webapp/views/task/taskAgileBoard.html
src/main/webapp/views/task/taskExcelImport.html
src/main/webapp/views/task/taskModify.html
src/main/webapp/views/user/superUserAdd.html
src/main/webapp/views/user/userAdd.html
src/main/webapp/views/user/userDetail.html
src/main/webapp/views/user/userModify.html
src/main/webapp/views/user/userModifyPassword.html
src/main/webapp/views/user/userPassword.html
src/main/webapp/views/userInvite/userInvite.html
src/main/webapp/views/widget/widgetDashBoard.html
src/main/webapp/views/workflow/workflowAdd.html
src/main/webapp/views/workflow/workflowList.html
src/main/webapp/views/workflow/workflowModify.html
src/main/webapp/views/workspace/workspace.html
src/main/webapp/views/workspace/workspaceDepartmentConfig.html
src/main/webapp/views/workspace/workspacePaymentAdd.html
src/main/webapp/views/workspace/workspacePaymentAgreeTerm.html
src/main/webapp/views/workspace/workspacePaymentExecute.html
src/main/webapp/views/workspace/workspacePaymentModify.html
src/main/webapp/views/workspace/workspaceUserConfig.html
src/main/webapp/views/workspace/workspaceUserLevelConfig.html |