commitb9e9f86d39Author: caoyanyi <caoyanyi@easycorp.ltd> Date: Fri Apr 26 13:35:56 2024 +0800 * Adjust mr actions style. commit1ddb2067b2Author: hufangzhou <hufangzhou@easycorp.ltd> Date: Fri Apr 26 13:24:05 2024 +0800 * Fix bug #48463. commit94528ed5b0Author: xieqiyu <xieqiyu@easycorp.ltd> Date: Fri Apr 26 13:17:29 2024 +0800 * Fix bug#48410. commitd1b38c54f9Author: caoyanyi <caoyanyi@easycorp.ltd> Date: Fri Apr 26 13:13:38 2024 +0800 - Remove mr repos switch block. commitc94da3e17aAuthor: sunhao <sunhao@easycorp.ltd> Date: Fri Apr 26 11:30:43 2024 +0800 * my: optimize UI of manage contacts page. commit2e74f33d22Author: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Fri Apr 26 11:13:16 2024 +0800 * Fix bug #48317. commit45b6beccaeAuthor: liwenrui <liwenrui@easycorp.ltd> Date: Fri Apr 26 11:13:06 2024 +0800 * handle direct client download without selecting os. commit82be78538fAuthor: wangyuting <wangyuting@easycorp.ltd> Date: Fri Apr 26 10:43:42 2024 +0800 * Fix ipd project only one execution bug. commitfaa6c605fcAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Fri Apr 26 10:42:25 2024 +0800 * Fix bug #48499, modify the icon. commit5134736779Author: xieqiyu <xieqiyu@easycorp.ltd> Date: Fri Apr 26 10:41:35 2024 +0800 * Fix bug#48167. commit5ca23cd76fAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Fri Apr 26 10:30:02 2024 +0800 * Fix bug #48453. commit23cde4b38eAuthor: sunhao <sunhao@easycorp.ltd> Date: Fri Apr 26 10:19:28 2024 +0800 * tutorial: fix tutorial start modal style. commit1d710e10bdAuthor: sunhao <sunhao@easycorp.ltd> Date: Fri Apr 26 10:18:40 2024 +0800 * zin: fix batch-form style in old iframe modal. commitc9092603f0Author: liumengyi <liumengyi@easycorp.ltd> Date: Fri Apr 26 10:15:27 2024 +0800 * Fix bug #48495. commitc0aeb9f69dAuthor: sunguangming <sunguangming@easycorp.ltd> Date: Fri Apr 26 10:12:39 2024 +0800 * Fix bug #48431. commit4348fd543aAuthor: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Fri Apr 26 10:11:45 2024 +0800 * Fix bug #48445. commitc9df08b1a1Author: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Fri Apr 26 10:07:01 2024 +0800 * Fix bug for screen browse. commitebc469c0a4Author: wangyuting <wangyuting@easycorp.ltd> Date: Fri Apr 26 09:55:44 2024 +0800 * Adjust recentproject block css. commit9337fa109aAuthor: wangyuting <wangyuting@easycorp.ltd> Date: Fri Apr 26 09:50:34 2024 +0800 * Adjust recentproject block css. commit07903733bfAuthor: 王怡栋 <wangyidong@cnezsoft.com> Date: Fri Apr 26 09:33:39 2024 +0800 * Fix bug #48473. commita347de8354Author: wangyuting <wangyuting@easycorp.ltd> Date: Fri Apr 26 09:34:29 2024 +0800 * Add progress to recentproject block. task #116976. commite6e6c6047eAuthor: xieqiyu <xieqiyu@easycorp.ltd> Date: Fri Apr 26 09:29:12 2024 +0800 * Modify the problem of code review. commita53a577b69Author: sunguangming <sunguangming@easycorp.ltd> Date: Fri Apr 26 09:13:43 2024 +0800 * Finish task #45906. commit774cb4efbcAuthor: wangyuting <wangyuting@easycorp.ltd> Date: Fri Apr 26 09:03:42 2024 +0800 * Adjust review by me data to DAO search. commit976ef156b6Author: tianshujie <tianshujie@easycorp.ltd> Date: Fri Apr 26 09:00:51 2024 +0800 * Add class for copy project button. commit36f2c24a97Author: tianshujie <tianshujie@easycorp.ltd> Date: Fri Apr 26 09:00:39 2024 +0800 * Fix bug #48480. commitae9ef45621Author: xieqiyu <xieqiyu@easycorp.ltd> Date: Thu Apr 25 21:12:27 2024 +0800 * Optimated code. commit20eefb90dcAuthor: sunhao <sunhao@easycorp.ltd> Date: Thu Apr 25 19:42:50 2024 +0800 * zin: optimize UI for loading old pages. commit56006bca4fAuthor: sunhao <sunhao@easycorp.ltd> Date: Thu Apr 25 18:18:24 2024 +0800 * theme: update themes for old pages. commit0dd32057e4Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 17:15:25 2024 +0800 * Modify style of productplan desc. commit272cdc4a61Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 17:03:07 2024 +0800 * Fix bug #48413, replace executionLang with productplanLang. commit1f0b96aab2Author: tanghucheng <tanghucheng@easycorp.ltd> Date: Thu Apr 25 16:59:05 2024 +0800 * Program in the product lines can be empty. commitfb6bb48ee6Author: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Thu Apr 25 17:02:29 2024 +0800 * Remove update bi guide img file. commit66bcb21455Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 16:48:22 2024 +0800 * Fix bug #48464, set icon by project model. commitc5738c4129Author: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Thu Apr 25 16:47:41 2024 +0800 * Fix bug for preview pivot. commitcc0a8aabceAuthor: hufangzhou <hufangzhou@easycorp.ltd> Date: Thu Apr 25 16:39:20 2024 +0800 + Add the or vision image. commit73d70324fdAuthor: hufangzhou <hufangzhou@easycorp.ltd> Date: Thu Apr 25 16:34:31 2024 +0800 * Change lang item. commita54780438aAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 16:33:11 2024 +0800 * Modify the style of bugSteps. commitff5be095b4Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 16:32:24 2024 +0800 * Fix bug #48453. commit0432554143Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 16:21:52 2024 +0800 + Add comment. commit9155a82131Author: caoyanyi <caoyanyi@easycorp.ltd> Date: Thu Apr 25 16:07:55 2024 +0800 * Adjust jenkins job form style. commitdc272445cfAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 15:59:31 2024 +0800 * Fix bug if the execution doesn't have the products. commit1fce0df29bAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Thu Apr 25 15:48:41 2024 +0800 * Adjust app create tips. commita48e48394eAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 15:47:09 2024 +0800 * Fix bug #48452. commitc500f9ce58Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 15:27:17 2024 +0800 * Fix bug #48449. commit076b33652cAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 15:11:57 2024 +0800 * Fix bug #48429, don't append relatedBugs to excludeBugs when linking bugs. commitbf59668dffAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Fri Apr 19 11:22:22 2024 +0800 + Add page data for repo code view. commit91e83ce12bAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Thu Apr 25 15:10:34 2024 +0800 * Adjust repo branch switch style. commit16147ac595Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 15:09:44 2024 +0800 * Fix bug #48444. commitda77572ec8Author: wangyuting <wangyuting@easycorp.ltd> Date: Thu Apr 25 15:06:20 2024 +0800 * Adjust executionstatistic block burn. task #116977. commit73235c93c8Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 15:03:45 2024 +0800 * Fix bug #48436, add ztfRun to the actions in execution::testcase. commit248b65ba6aAuthor: xieqiyu <xieqiyu@easycorp.ltd> Date: Thu Apr 25 15:02:39 2024 +0800 * Fix bug#48420. commit388f54b5ecAuthor: xieqiyu <xieqiyu@easycorp.ltd> Date: Thu Apr 25 15:01:03 2024 +0800 * Fix bug#48427. commit2c4122b084Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 14:58:02 2024 +0800 * Fix bug #48441, keep in current tab when changing the stepsType. commitc9b094b3abAuthor: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 14:58:13 2024 +0800 * Fix bug #48438. commitae10a1c686Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 14:54:28 2024 +0800 * Fix bug #48435, replace `$this->session` with `$app->session`. commitc81031dab9Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 14:49:42 2024 +0800 * Fix bug #48430, replace `{runID}`. commit0635779f1fAuthor: 王怡栋 <wangyidong@cnezsoft.com> Date: Thu Apr 25 14:48:58 2024 +0800 * Fix bug #48419. commit2b1358fb75Author: zhouxin <zhouxin@easycorp.ltd> Date: Thu Apr 25 14:46:08 2024 +0800 * Fix bug #47408. commitaef64e2c85Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 14:45:30 2024 +0800 * Fix bug #48423, replace `<br />` with `<p></p>`. commit392a031495Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 14:41:55 2024 +0800 * Show the product line when the program is not selected. commit1449ea4d06Author: tanghucheng <tanghucheng@easycorp.ltd> Date: Thu Apr 25 14:41:09 2024 +0800 * Fix bug #116431. commit9ce8dfe3eeAuthor: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 14:31:03 2024 +0800 * Fix bug #48433. commit62a8779806Author: sunguangming <sunguangming@easycorp.ltd> Date: Thu Apr 25 14:28:56 2024 +0800 * Add loadProductModules function. commit8ec4efde62Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 14:27:36 2024 +0800 * Add return type. commit035f15b16eAuthor: sunhao <sunhao@easycorp.ltd> Date: Thu Apr 25 14:21:50 2024 +0800 * disable loading effect on loading modal with same url. commit1b7aac3f6fAuthor: zhouxin <zhouxin@easycorp.ltd> Date: Thu Apr 25 14:19:34 2024 +0800 * Fix bug #47654. commit730ab12d86Author: sunhao <sunhao@easycorp.ltd> Date: Thu Apr 25 13:59:51 2024 +0800 * zin: add favicon to base page. commite7051b2d2fAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 13:58:51 2024 +0800 * Fix bug #48421, removes duplicate projects. commit3089e95041Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 13:43:47 2024 +0800 * Fix bug #48176. commit1409059467Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 13:41:20 2024 +0800 * Fix bug #48418. commit6934f36b9eAuthor: zhouxin <zhouxin@easycorp.ltd> Date: Thu Apr 25 13:35:10 2024 +0800 * Remove useless method. commit908f7dd087Author: wangyuting <wangyuting@easycorp.ltd> Date: Thu Apr 25 13:30:56 2024 +0800 * Adjust teamachievement block css. task #116978. commitabb2d04bd0Author: zhouxin <zhouxin@easycorp.ltd> Date: Thu Apr 25 13:25:53 2024 +0800 * Optimize code. commit042726dd6aAuthor: tanghucheng <tanghucheng@easycorp.ltd> Date: Thu Apr 25 11:16:45 2024 +0800 * Fix bug #48143, Add $config->story->dtable->fieldList['roadmap']['width']. commitb3b3a4884bAuthor: tanghucheng <tanghucheng@easycorp.ltd> Date: Thu Apr 25 11:00:11 2024 +0800 * Fix bug #48415. commitb2878c8644Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 10:59:32 2024 +0800 - Remove `var_dump`. commitb8e22a5446Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 10:59:02 2024 +0800 * Optimize code for uploading files. commit328cf2c605Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 10:57:27 2024 +0800 - Remove unused style. commit98f501ad66Author: sunhao <sunhao@easycorp.ltd> Date: Thu Apr 25 10:57:18 2024 +0800 * zui: update zui3 lib. commit138ae9b7bbAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Thu Apr 25 10:55:12 2024 +0800 * Adjust repo page language. commit2a4abbde8dAuthor: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Thu Apr 25 10:24:32 2024 +0800 * Fix bug #48350. commitc2c122b678Author: wangyuting <wangyuting@easycorp.ltd> Date: Thu Apr 25 10:22:08 2024 +0800 * Adjust welcome block css. task #116979. commit1cba83c80fAuthor: sunhao <sunhao@easycorp.ltd> Date: Thu Apr 25 10:21:24 2024 +0800 * kanban: optimize label style. commita92ca103b9Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 10:18:16 2024 +0800 * Fix bug #48402. commitdecae20945Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 10:11:24 2024 +0800 * Adjust select execution title style. commit8fc680ecc9Author: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Thu Apr 25 10:03:04 2024 +0800 * Add delete file. commit0c08073647Author: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 09:39:41 2024 +0800 * The date field was not validated when fixing the bug import task. commitb6aa30da6fAuthor: liyang <liyang@easycorp.ltd> Date: Thu Apr 25 09:41:02 2024 +0800 Add delete btn in import repo page. commit188bdfff90Author: liyang <liyang@easycorp.ltd> Date: Thu Apr 25 09:30:58 2024 +0800 Hide the hidden function of the imported code library page commit22e899b21fAuthor: sunguangming <sunguangming@easycorp.ltd> Date: Thu Apr 25 09:26:39 2024 +0800 * Fix bug #48372. commitdea8d5785aAuthor: tianshujie <tianshujie@easycorp.ltd> Date: Thu Apr 25 09:25:57 2024 +0800 * Remove the box when it is out of focus. commit94117eac4aAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 09:21:31 2024 +0800 * Modify testtask's order in qastatistic block. commit16558b955dAuthor: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Thu Apr 25 09:18:46 2024 +0800 * Use ajaxGetOldDropMenu commiteb7f606fe5Author: hufangzhou <hufangzhou@easycorp.ltd> Date: Thu Apr 25 09:07:24 2024 +0800 * Add todo-calendar privilege to or interface. commit119fef4faeAuthor: wangyuting <wangyuting@easycorp.ltd> Date: Thu Apr 25 09:06:33 2024 +0800 * Adjust closedSetting to closeSetting. commit1179f36595Author: tanghucheng <tanghucheng@easycorp.ltd> Date: Thu Apr 25 08:58:31 2024 +0800 * Fix bug #47758, unset percent when disabled. commitb143356a55Author: sunguangming <sunguangming@easycorp.ltd> Date: Thu Apr 25 08:56:35 2024 +0800 * Fix bug #48379. commite1ec138058Author: liumengyi <liumengyi@easycorp.ltd> Date: Thu Apr 25 08:52:51 2024 +0800 * Optimize code for bug #48271. commit8ca008736aAuthor: liwenrui <liwenrui@easycorp.ltd> Date: Thu Apr 25 08:49:31 2024 +0800 * tweak again, actually only wanted to add padding to the top. commit388006b340Author: liwenrui <liwenrui@easycorp.ltd> Date: Thu Apr 25 08:49:05 2024 +0800 * tweak zeneditor to add some padding back. commit0e0121b201Author: liwenrui <liwenrui@easycorp.ltd> Date: Thu Apr 25 08:27:23 2024 +0800 * update zeneditor and remove paragraph margin within. commit5e3b42a9f3Author: sunhao <sunhao@easycorp.ltd> Date: Wed Apr 24 17:32:20 2024 +0800 * zui: update zui3 lib. commit3e543c1403Author: wangyuting <wangyuting@easycorp.ltd> Date: Wed Apr 24 17:30:35 2024 +0800 * Optimize code. commitce8e34849dAuthor: wangyuting <wangyuting@easycorp.ltd> Date: Wed Apr 24 17:29:17 2024 +0800 * Fix project menu bug. bug #48121. commitbff8da8abaAuthor: sunhao <sunhao@easycorp.ltd> Date: Wed Apr 24 17:20:38 2024 +0800 * zin: sort fields after reload form. commit01e15f6635Author: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 16:53:10 2024 +0800 * Fix bug #46381. commitb89caabfceAuthor: hufangzhou <hufangzhou@easycorp.ltd> Date: Wed Apr 24 16:53:21 2024 +0800 * Adjust the default filename for export execution. commit17d5d65a17Author: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 16:47:28 2024 +0800 * Fix bug #48367, get linked bugs. commit3ee2f3ea5cAuthor: 宋辰轩 <songchenxuan@easycorp.ltd> Date: Wed Apr 24 16:45:43 2024 +0800 * Fix bug for preview pivot menu. commit2c00f9a657Author: xieqiyu <xieqiyu@easycorp.ltd> Date: Wed Apr 24 16:29:25 2024 +0800 * Fix bug#48334. commit484e24fd9dAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 16:24:24 2024 +0800 * Fix bug #48343. commit1aa110645cAuthor: liwenrui <liwenrui@easycorp.ltd> Date: Wed Apr 24 16:01:19 2024 +0800 * fix ai prompt menu injected multiple times, bug #48358. commita2333979b5Author: zhouxin <zhouxin@easycorp.ltd> Date: Wed Apr 24 15:59:09 2024 +0800 * Fix height of project deviation pivot. commit7a3b20222fAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 15:54:16 2024 +0800 * Replace runID in testcase::browse. commitab05d56301Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 15:45:01 2024 +0800 * No iterative project hides execution column. commitdffcd9e5c7Author: sunguangming <sunguangming@easycorp.ltd> Date: Wed Apr 24 15:46:18 2024 +0800 * Fix sql error. commit22d89bb361Author: xieqiyu <xieqiyu@easycorp.ltd> Date: Wed Apr 24 15:43:11 2024 +0800 * Fix bug#48349. commit603195b1e1Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 15:41:27 2024 +0800 * Adjust execution column style of the build list. commit989f2b8ca5Author: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 15:27:01 2024 +0800 * Fix bug #48344, set runID. commit2db2a7f9dcAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Wed Apr 24 15:25:54 2024 +0800 - Remove gitfox for 20.0. commit3a1f824210Author: xieqiyu <xieqiyu@easycorp.ltd> Date: Wed Apr 24 15:24:46 2024 +0800 * Fix bug#48351. commitaf0b038283Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 15:14:43 2024 +0800 * Fix bug #48348. commitd4dc98d604Author: tanghucheng <tanghucheng@easycorp.ltd> Date: Wed Apr 24 15:13:00 2024 +0800 * Fix bug #48140, Enabled child stage for ipd project. commit08e0f83941Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 15:07:36 2024 +0800 * Adjust height of the batchcreate stakeholder page. commit8e1dfa7634Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 14:58:29 2024 +0800 * Fix bug #48345. commit0562ebb542Author: sunguangming <sunguangming@easycorp.ltd> Date: Wed Apr 24 14:55:42 2024 +0800 * Add story pairs to search form. commit2c062163a5Author: tanghucheng <tanghucheng@easycorp.ltd> Date: Wed Apr 24 14:40:10 2024 +0800 * Fix bug #48314. commitb812069307Author: qixinzhi <qixinzhi@easycorp.ltd> Date: Wed Apr 24 06:38:51 2024 +0000 * Auto column width with cell max value length. commitf9c1a3e850Author: qixinzhi <qixinzhi@easycorp.ltd> Date: Wed Apr 24 06:38:04 2024 +0000 * Delete screen 3 scheme. commit3ffa92734fAuthor: hufangzhou <hufangzhou@easycorp.ltd> Date: Wed Apr 24 14:35:14 2024 +0800 * Fix bug #48239. commit99e1864ca8Author: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 14:30:08 2024 +0800 * Fix bug #46381. commit81c3ebaa0aAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Wed Apr 24 14:28:26 2024 +0800 + Add time fliter for commit search. commit14d5bf7cf0Author: caoyanyi <caoyanyi@easycorp.ltd> Date: Wed Apr 24 09:34:53 2024 +0800 * Adjust repo create page linkage. commit6880ef70afAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 14:22:28 2024 +0800 * Replace `->size` with `set::width` and `set::height` in echarts. commitb4ea64832aAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Wed Apr 24 14:15:13 2024 +0800 * Adjust job view repo name. commit8168c98ba8Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 14:13:53 2024 +0800 * Fix bug #48262. commitd480ef87bdAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 13:51:05 2024 +0800 * Fix bug #48025, modify id. commit003a73d5cbAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 13:49:12 2024 +0800 * Fix bug #48025, modify id. commit3ad257eb53Author: daitingting <daitingting@xirangit.com> Date: Wed Apr 24 05:43:53 2024 +0000 * Fix bug #48261. commit77e6744f1dAuthor: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 13:42:13 2024 +0800 * Fix bug #48294. commitf10b3f5710Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 13:36:01 2024 +0800 * Reset code. commit068f97bc38Author: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 13:18:34 2024 +0800 * Fix bug #48308, set control of stage. commit078d566703Author: wangyuting <wangyuting@easycorp.ltd> Date: Wed Apr 24 13:18:41 2024 +0800 * Adjust edit feedback data toggle. commit34738e42d9Author: zhouxin <zhouxin@easycorp.ltd> Date: Wed Apr 24 13:13:29 2024 +0800 * Adjust lang. commiteddba468d0Author: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 13:07:40 2024 +0800 * Fix bug #48310. commitfc673b76ceAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 11:26:49 2024 +0800 * Fix bug #48310. commit7840c1ab35Author: sunguangming <sunguangming@easycorp.ltd> Date: Wed Apr 24 11:24:40 2024 +0800 * Remove dm driver from convert date. commitd47e91c07eAuthor: hufangzhou <hufangzhou@easycorp.ltd> Date: Wed Apr 24 11:20:10 2024 +0800 * Fix bug #48293. commitd475b63a74Author: daitingting <daitingting@xirangit.com> Date: Wed Apr 24 03:16:57 2024 +0000 * Fix bug #48261. commit655cc652beAuthor: 王怡栋 <wangyidong@cnezsoft.com> Date: Wed Apr 24 11:14:54 2024 +0800 * Fix bug for select usage when install. commit425fade713Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 11:14:19 2024 +0800 * Fix bug #48303. commit723797107bAuthor: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 11:09:27 2024 +0800 * Fix bug #48303. commit6740a4c699Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 11:06:32 2024 +0800 * Fix bug #48306. commitc42f7ad83eAuthor: zhouxin <zhouxin@easycorp.ltd> Date: Wed Apr 24 11:02:21 2024 +0800 * Fix bug #48073. commite38f2f6531Author: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 10:42:42 2024 +0800 * Set search form open. commit2cb511cf52Author: 王怡栋 <wangyidong@cnezsoft.com> Date: Wed Apr 24 10:07:43 2024 +0800 * Fix error for sso module. commitf8b093e0ebAuthor: xieqiyu <xieqiyu@easycorp.ltd> Date: Wed Apr 24 10:21:37 2024 +0800 * Fix the bug of duration and BSA default value. commitc3e9c7d7cdAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 10:20:25 2024 +0800 * Fix bug #48243. commitc7cf68be63Author: hufangzhou <hufangzhou@easycorp.ltd> Date: Wed Apr 24 10:17:03 2024 +0800 * Fix bug #48280, #48289. commitb9cdcf5bcdAuthor: sunhao <sunhao@easycorp.ltd> Date: Wed Apr 24 10:17:34 2024 +0800 * my: fix cannot update badges in main navbar. commit3aa9609ce2Author: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 10:16:21 2024 +0800 * Fix bug #48294. commitfb26e627deAuthor: sunhao <sunhao@easycorp.ltd> Date: Wed Apr 24 10:10:56 2024 +0800 Revert "* zin: fix cannot find page method on update." This reverts commit367a4ae49d. commit63a70421edAuthor: tianshujie <tianshujie@easycorp.ltd> Date: Wed Apr 24 09:45:07 2024 +0800 * Fix bug #48271. commitc1a66b708bAuthor: sunguangming <sunguangming@easycorp.ltd> Date: Wed Apr 24 09:40:09 2024 +0800 * Modify upgrade method. commitc68b2170f9Author: 王怡栋 <wangyidong@cnezsoft.com> Date: Wed Apr 24 09:18:09 2024 +0800 * Fix for sso login from zdoo. commit580b4f170fAuthor: liumengyi <liumengyi@easycorp.ltd> Date: Wed Apr 24 09:30:37 2024 +0800 * Fix bug #48272, update program's consumed, left and progress. commit1d9791a55eAuthor: 王怡栋 <wangyidong@cnezsoft.com> Date: Tue Apr 23 17:27:07 2024 +0800 * Remove useless code. commit40f0e10c1fAuthor: caoyanyi <caoyanyi@easycorp.ltd> Date: Tue Apr 23 17:18:03 2024 +0800 * Update standard sql. # Conflicts: # db/update20.0.beta2.sql # module/block/config/feedback.php # module/block/zen.php # module/custom/lang/vi.php # module/mr/ui/browsebyexecution.html.php # module/repo/lang/de.php # module/repo/lang/en.php # module/repo/lang/fr.php # module/repo/lang/zh-cn.php # module/space/lang/de.php # module/space/lang/en.php # module/space/lang/fr.php # module/space/lang/zh-cn.php # module/space/ui/createapplication.html.php # www/js/zui3/zen-editor/index.esm.js # www/js/zui3/zen-editor/p-0aaccc7e.js # www/js/zui3/zen-editor/p-276dd30f.js # www/js/zui3/zen-editor/p-2b13cc9a.js # www/js/zui3/zen-editor/p-38d18c5d.js # www/js/zui3/zen-editor/p-3f6cad83.js # www/js/zui3/zen-editor/p-51e3a048.js # www/js/zui3/zen-editor/p-617d463f.js # www/js/zui3/zen-editor/p-62c0132e.js # www/js/zui3/zen-editor/p-6d22490c.js # www/js/zui3/zen-editor/p-a563f50b.js # www/js/zui3/zen-editor/p-bf31230c.js # www/js/zui3/zen-editor/p-c6c95773.js # www/js/zui3/zen-editor/p-d83dd3f0.js # www/js/zui3/zen-editor/p-d8bedd14.js # www/js/zui3/zen-editor/p-eaaa4129.js # www/js/zui3/zen-editor/zen-editor.esm.js
492 lines
19 KiB
PHP
492 lines
19 KiB
PHP
<?php
|
|
class pivotZen extends pivot
|
|
{
|
|
/**
|
|
* 获取分组里一个透视表的默认方法和参数。
|
|
* Get default method name and parameters of a pivot in a group.
|
|
*
|
|
* @param int $dimension
|
|
* @param int $group
|
|
* @access protected
|
|
* @return array
|
|
*/
|
|
protected function getDefaultMethodAndParams(int $dimensionID, int $groupID): array
|
|
{
|
|
$currentGroup = $this->loadModel('tree')->getByID($groupID);
|
|
if(empty($currentGroup) || $currentGroup->grade != 1) return array('', '');
|
|
|
|
$groups = $this->pivot->getGroupsByDimensionAndPath($dimensionID, $currentGroup->path);
|
|
if(!$groups) return array('', '');
|
|
|
|
foreach($groups as $group)
|
|
{
|
|
if($this->config->edition == 'open' && $group->grade == 1) continue;
|
|
|
|
$pivotID = $this->pivot->getPivotID($group->id);
|
|
if($pivotID) return array('show', "groupID={$group->id}&pivotID={$pivotID}");
|
|
}
|
|
|
|
$firstDimension = $this->loadModel('dimension')->getFirst();
|
|
if($dimensionID != $firstDimension->id) return array('', '');
|
|
|
|
if(empty($this->lang->pivotList->{$currentGroup->collector}->lists)) return array('', '');
|
|
|
|
foreach($this->lang->pivotList->{$currentGroup->collector}->lists as $item)
|
|
{
|
|
$items = explode('|', $item);
|
|
if(count($items) != 3) continue;
|
|
|
|
$method = $items[2];
|
|
|
|
if(common::hasPriv('pivot', $method)) return array($method, '');
|
|
}
|
|
|
|
return array('', '');
|
|
}
|
|
|
|
/**
|
|
* 获取侧边栏菜单。
|
|
* Get sidebar menus of pivot.
|
|
*
|
|
* @param int $dimensionID
|
|
* @param object $groupID
|
|
* @access protected
|
|
* @return array
|
|
*/
|
|
protected function getSidebarMenus(int $dimensionID, int $groupID): array
|
|
{
|
|
$currentGroup = $this->loadModel('tree')->getByID($groupID);
|
|
if(empty($currentGroup) || $currentGroup->grade != 1) return array();
|
|
|
|
$groups = $this->pivot->getGroupsByDimensionAndPath($dimensionID, $currentGroup->path);
|
|
if(!$groups) return array();
|
|
|
|
$menus = array();
|
|
foreach($groups as $group)
|
|
{
|
|
if($this->config->edition == 'open' && $group->grade == 1) continue;
|
|
|
|
$pivots = $this->pivot->getAllPivotByGroupID($group->id);
|
|
if(empty($group->collector) && empty($pivots)) continue;
|
|
|
|
if($group->grade > 1) $menus[] = (object)array('id' => $group->id, 'parent' => 0, 'name' => $group->name);
|
|
|
|
if($pivots) $pivots = $this->pivot->processPivot($pivots, false);
|
|
|
|
foreach($pivots as $pivot)
|
|
{
|
|
$params = helper::safe64Encode("groupID={$group->id}&pivotID={$pivot->id}");
|
|
$url = inlink('preview', "dimension={$dimensionID}&group={$currentGroup->id}&method=show¶ms={$params}");
|
|
$menus[] = (object)array('id' => $group->id . '_' . $pivot->id, 'parent' => $group->grade > 1 ? $group->id : 0, 'name' => $pivot->name, 'url' => $url);
|
|
}
|
|
}
|
|
|
|
$firstDimension = $this->loadModel('dimension')->getFirst();
|
|
if($dimensionID != $firstDimension->id) return $menus;
|
|
|
|
$builtinMenus = $this->getBuiltinMenus($dimensionID, $currentGroup);
|
|
return array_merge($menus, $builtinMenus);
|
|
}
|
|
|
|
/**
|
|
* 在第一个维度上显示内置透视表。
|
|
* Display the built-in pivots in the first dimension.
|
|
*
|
|
* @param int $dimensionID
|
|
* @param object $currengGroup
|
|
* @access protected
|
|
* @return array
|
|
*/
|
|
protected function getBuiltinMenus(int $dimensionID, object $currentGroup): array
|
|
{
|
|
$collector = $currentGroup->collector;
|
|
if(empty($this->lang->pivotList->$collector->lists)) return array();
|
|
|
|
$menus = array();
|
|
|
|
ksort($this->lang->pivotList->$collector->lists);
|
|
foreach($this->lang->pivotList->$collector->lists as $item)
|
|
{
|
|
$items = explode('|', $item);
|
|
if(count($items) != 3) continue;
|
|
|
|
$label = $items[0];
|
|
$method = $items[2];
|
|
|
|
if(!common::hasPriv('pivot', $method)) continue;
|
|
|
|
$url = inlink('preview', "dimension={$dimensionID}&group={$currentGroup->id}&method={$method}");
|
|
|
|
$menus[] = (object)array('id' => $method, 'parent' => 0, 'name' => $label, 'url' => $url);
|
|
}
|
|
|
|
return $menus;
|
|
}
|
|
|
|
/**
|
|
* Preview pivots of a group.
|
|
*
|
|
* @param int $groupID
|
|
* @param int $pivotID
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function show(int $groupID, int $pivotID): void
|
|
{
|
|
$pivot = $this->pivot->getByID($pivotID);
|
|
if(isset($_POST['filterValues']) and $_POST['filterValues'])
|
|
{
|
|
foreach($this->post->filterValues as $key => $value) $pivot->filters[$key]['default'] = $value;
|
|
}
|
|
if(isset($_POST['summary']) and $_POST['summary']) $pivot->settings['summary'] = $this->post->summary;
|
|
|
|
list($sql, $filterFormat) = $this->pivot->getFilterFormat($pivot->sql, $pivot->filters);
|
|
|
|
$tables = $this->loadModel('chart')->getTables($sql);
|
|
$sql = $tables['sql'];
|
|
$fields = json_decode(json_encode($pivot->fieldSettings), true);
|
|
$langs = json_decode($pivot->langs, true) ?? array();
|
|
|
|
if(isset($pivot->settings['summary']) and $pivot->settings['summary'] == 'notuse')
|
|
{
|
|
list($data, $configs) = $this->pivot->genOriginSheet($fields, $pivot->settings, $sql, $filterFormat, $langs);
|
|
}
|
|
else
|
|
{
|
|
list($data, $configs) = $this->pivot->genSheet($fields, $pivot->settings, $sql, $filterFormat, $langs);
|
|
}
|
|
|
|
$this->view->pivotName = $pivot->name;
|
|
$this->view->title = $pivot->name;
|
|
$this->view->currentMenu = $groupID . '_' . $pivot->id;
|
|
$this->view->currentGroup = $groupID;
|
|
$this->view->pivot = $pivot;
|
|
$this->view->data = $data;
|
|
$this->view->configs = $configs;
|
|
}
|
|
|
|
/**
|
|
* 把自定义透视表的数据转换为数据表格可以使用的格式。
|
|
* Convert the data of custom pivot to the format that can be used by data table.
|
|
*
|
|
* @param object $data
|
|
* @param array $configs
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
public function convertDataForDtable(object $data, array $configs): array
|
|
{
|
|
$columns = array();
|
|
$rows = array();
|
|
$cellSpan = array();
|
|
$columnMaxLen = array();
|
|
|
|
$headerRow1 = !empty($data->cols[0]) ? $data->cols[0] : array();
|
|
$headerRow2 = !empty($data->cols[1]) ? $data->cols[1] : array();
|
|
|
|
/* 定义数据表格的列配置。*/
|
|
/* Define the column configuration of the data table. */
|
|
$index = 0;
|
|
foreach($headerRow1 as $column)
|
|
{
|
|
/* 如果 colspan 属性不为空则表示该列包含切片字段。*/
|
|
/* If the colspan attribute is not empty, it means that the column contains slice fields. */
|
|
if(!empty($column->colspan) && $column->colspan > 1)
|
|
{
|
|
/* 找到实际切片的字段。*/
|
|
/* Find the actual sliced field. */
|
|
$colspan = 0;
|
|
while($colspan < $column->colspan)
|
|
{
|
|
$subColumn = array_shift($headerRow2);
|
|
|
|
$field = 'field' . $index;
|
|
$columns[$field]['name'] = $field;
|
|
$columns[$field]['title'] = $subColumn->label;
|
|
$columns[$field]['width'] = 16 * mb_strlen($subColumn->label);
|
|
$columns[$field]['minWidth'] = 128;
|
|
$columns[$field]['align'] = 'center';
|
|
|
|
$columnMaxLen[$field] = mb_strlen($column->label);
|
|
|
|
/* 把被切片的字段名设置为数据表格的列配置的 headerGroup 属性。*/
|
|
/* Set the sliced field name as the headerGroup attribute of the column configuration of the data table. */
|
|
$columns[$field]['headerGroup'] = $column->label;
|
|
|
|
/* 数据表格不支持表头第二行合并单元格,如果有这种情况把被合并的所有列视为一列,记录 colspan 属性并跳过其它列。*/
|
|
/* The data table does not support merging cells in the second row of the header. If this is the case, all the merged columns are regarded as one column, the colspan attribute is recorded and other columns are skipped. */
|
|
if(!empty($subColumn->colspan) && $subColumn->colspan > 1) $columns[$field]['colspan'] = $subColumn->colspan;
|
|
|
|
$colspan += $subColumn->colspan ?: 1;
|
|
$index++;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
$field = 'field' . $index;
|
|
$columns[$field]['name'] = $field;
|
|
$columns[$field]['title'] = $column->label;
|
|
$columns[$field]['width'] = 16 * mb_strlen($column->label);
|
|
$columns[$field]['minWidth'] = 128;
|
|
$columns[$field]['align'] = 'center';
|
|
|
|
$columnMaxLen[$field] = mb_strlen($column->label);
|
|
|
|
// if(isset($data->groups[$index])) $columns[$field]['fixed'] = 'left';
|
|
|
|
$index++;
|
|
}
|
|
|
|
$lastRow = count($data->array) - 1;
|
|
foreach($data->array as $rowKey => $rowData)
|
|
{
|
|
$index = 0;
|
|
$rowData = array_values($rowData);
|
|
|
|
for($i = 0; $i < count($rowData); $i++)
|
|
{
|
|
$field = 'field' . $index;
|
|
$value = $rowData[$i];
|
|
|
|
if(!empty($columns[$field]['colspan']))
|
|
{
|
|
$colspan = $columns[$field]['colspan'];
|
|
$value = array_slice($rowData, $i, $colspan);
|
|
|
|
$i += $colspan - 1;
|
|
}
|
|
|
|
/* 定义数据表格的行数据。*/
|
|
/* Defind row data of the data table. */
|
|
$rows[$rowKey][$field] = $value;
|
|
|
|
$columnMaxLen[$field] = max($columnMaxLen[$field], mb_strlen($value));
|
|
|
|
/* 定义数据表格合并单元格的配置。*/
|
|
/* Define configuration to merge cell of the data table. */
|
|
if(isset($configs[$rowKey][$index]) && $configs[$rowKey][$index] > 1)
|
|
{
|
|
$rows[$rowKey][$field . '_rowspan'] = $configs[$rowKey][$index];
|
|
$cellSpan[$field]['rowspan'] = $field . '_rowspan';
|
|
}
|
|
|
|
if($i == 0 && !empty($data->groups) && !empty($data->columnTotal) && $rowKey == $lastRow)
|
|
{
|
|
$rows[$rowKey][$field . '_colspan'] = count($data->groups);
|
|
$cellSpan[$field]['colspan'] = $field . '_colspan';
|
|
}
|
|
|
|
$index++;
|
|
}
|
|
}
|
|
|
|
foreach($columns as $field => $column)
|
|
{
|
|
$columns[$field]['width'] = 16 * $columnMaxLen[$field];
|
|
}
|
|
|
|
return array($columns, $rows, $cellSpan);
|
|
}
|
|
|
|
/**
|
|
* Bug create pivot.
|
|
*
|
|
* @param string $begin
|
|
* @param string $end
|
|
* @param int $product
|
|
* @param int $execution
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function bugCreate(string $begin = '', string $end = '', int $product = 0, int $execution = 0): void
|
|
{
|
|
$this->app->loadLang('bug');
|
|
$begin = date('Y-m-01', strtotime($begin ?:'last month'));
|
|
$end = date('Y-m-d', strtotime($end ?: 'now'));
|
|
|
|
$this->view->title = $this->lang->pivot->bugCreate;
|
|
$this->view->bugs = $this->pivot->getBugs($begin, $end, $product ? $product : 0, $execution ? $execution : 0);
|
|
$this->view->users = $this->loadModel('user')->getPairs('noletter|noclosed');
|
|
$this->view->executions = $this->pivot->getProjectExecutions();
|
|
$this->view->products = $this->loadModel('product')->getPairs('', 0, '', 'all');
|
|
$this->view->begin = $begin;
|
|
$this->view->end = $end;
|
|
$this->view->execution = $execution;
|
|
$this->view->product = $product;
|
|
$this->view->currentMenu = 'bugcreate';
|
|
}
|
|
|
|
/**
|
|
* Bug assign pivot.
|
|
*
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function bugAssign(): void
|
|
{
|
|
$this->session->set('productList', $this->app->getURI(true), 'product');
|
|
|
|
$this->view->title = $this->lang->pivot->bugAssign;
|
|
$this->view->bugs = $this->pivot->getBugAssign();
|
|
$this->view->users = $this->loadModel('user')->getPairs('noletter|noclosed');
|
|
$this->view->currentMenu = 'bugassign';
|
|
}
|
|
|
|
/**
|
|
* Product information pivot.
|
|
*
|
|
* @params string $conditions
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function productSummary(string $conditions = ''): void
|
|
{
|
|
$this->app->loadLang('story');
|
|
$this->app->loadLang('product');
|
|
$this->app->loadLang('productplan');
|
|
$this->session->set('productList', $this->app->getURI(true), 'product');
|
|
|
|
$products = $this->pivot->getProducts($conditions);
|
|
|
|
$this->view->title = $this->lang->pivot->productSummary;
|
|
$this->view->products = $this->processProductsForProductSummary($products);
|
|
$this->view->users = $this->loadModel('user')->getPairs('noletter|noclosed');
|
|
$this->view->conditions = $conditions;
|
|
$this->view->currentMenu = 'productsummary';
|
|
}
|
|
|
|
/**
|
|
* 把计划数组展开为独立的产品对象并添加跨行合并属性。
|
|
* Expand the plans property to single product objects and add rowspan property.
|
|
*
|
|
* @params array $products
|
|
* @access public
|
|
* @return array
|
|
*/
|
|
public function processProductsForProductSummary(array $products): array
|
|
{
|
|
$productList = array();
|
|
|
|
foreach($products as $product)
|
|
{
|
|
if(!isset($product->plans))
|
|
{
|
|
$product->planTitle = '';
|
|
$product->planBegin = '';
|
|
$product->planEnd = '';
|
|
$product->storyDraft = 0;
|
|
$product->storyReviewing = 0;
|
|
$product->storyActive = 0;
|
|
$product->storyChanging = 0;
|
|
$product->storyClosed = 0;
|
|
$product->storyTotal = 0;
|
|
|
|
$productList[] = $product;
|
|
|
|
continue;
|
|
}
|
|
|
|
$first = true;
|
|
foreach($product->plans as $plan)
|
|
{
|
|
$newProduct = clone $product;
|
|
$newProduct->planTitle = $plan->title;
|
|
$newProduct->planBegin = $plan->begin == '2030-01-01' ? $this->lang->productplan->future : $plan->begin;
|
|
$newProduct->planEnd = $plan->end == '2030-01-01' ? $this->lang->productplan->future : $plan->end;
|
|
$newProduct->storyDraft = isset($plan->status['draft']) ? $plan->status['draft'] : 0;
|
|
$newProduct->storyReviewing = isset($plan->status['reviewing']) ? $plan->status['reviewing'] : 0;
|
|
$newProduct->storyActive = isset($plan->status['active']) ? $plan->status['active'] : 0;
|
|
$newProduct->storyChanging = isset($plan->status['changing']) ? $plan->status['changing'] : 0;
|
|
$newProduct->storyClosed = isset($plan->status['closed']) ? $plan->status['closed'] : 0;
|
|
$newProduct->storyTotal = $newProduct->storyDraft + $newProduct->storyReviewing + $newProduct->storyActive + $newProduct->storyChanging + $newProduct->storyClosed;
|
|
|
|
if($first) $newProduct->rowspan = count($newProduct->plans);
|
|
|
|
$productList[] = $newProduct;
|
|
|
|
$first = false;
|
|
}
|
|
}
|
|
|
|
return $productList;
|
|
}
|
|
|
|
/**
|
|
* Project deviation pivot.
|
|
*
|
|
* @param string $begin
|
|
* @param string $end
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function projectDeviation(string $begin = '', string $end = ''): void
|
|
{
|
|
$this->session->set('executionList', $this->app->getURI(true), 'execution');
|
|
|
|
$begin = $begin ? date('Y-m-d', strtotime($begin)) : date('Y-m-01');
|
|
$end = $end ? date('Y-m-d', strtotime($end)) : date('Y-m-d', strtotime(date('Y-m-01', strtotime('next month')) . ' -1 day'));
|
|
|
|
$this->view->title = $this->lang->pivot->projectDeviation;
|
|
$this->view->executions = $this->pivot->getExecutions($begin, $end);
|
|
$this->view->begin = $begin;
|
|
$this->view->end = $end;
|
|
$this->view->currentMenu = 'projectdeviation';
|
|
}
|
|
|
|
/**
|
|
* 组织透视表。
|
|
* Workload pivot.
|
|
*
|
|
* @param string $begin
|
|
* @param string $end
|
|
* @param int $days
|
|
* @param float $workhour
|
|
* @param int $dept
|
|
* @param string $assign
|
|
* @access public
|
|
* @return void
|
|
*/
|
|
public function workload(string $begin = '', string $end = '', int $days = 0, float $workhour= 0, int $dept = 0, string $assign = 'assign'): void
|
|
{
|
|
$this->app->loadConfig('execution');
|
|
$this->session->set('executionList', $this->app->getURI(true), 'execution');
|
|
|
|
$begin = $begin ? strtotime($begin) : time();
|
|
$end = $end ? strtotime($end) : time() + (7 * 24 * 3600);
|
|
$end += 24 * 3600;
|
|
$beginWeekDay = date('w', $begin);
|
|
$begin = date('Y-m-d', $begin);
|
|
$end = date('Y-m-d', $end);
|
|
|
|
if(empty($workhour)) $workhour = $this->config->execution->defaultWorkhours;
|
|
$diffDays = helper::diffDate($end, $begin);
|
|
if($days > $diffDays) $days = $diffDays;
|
|
if(empty($days))
|
|
{
|
|
$weekDay = $beginWeekDay;
|
|
$days = $diffDays;
|
|
for($i = 0; $i < $diffDays; $i++, $weekDay++)
|
|
{
|
|
$weekDay = $weekDay % 7;
|
|
if(($this->config->execution->weekend == 2 && $weekDay == 6) || $weekDay == 0) $days--;
|
|
}
|
|
}
|
|
|
|
$allHour = $workhour * $days;
|
|
$users = $this->loadModel('user')->getPairs('noletter|noclosed');
|
|
|
|
$this->view->title = $this->lang->pivot->workload;
|
|
$this->view->workload = $this->pivot->getWorkload($dept, $assign, $users, $allHour);
|
|
$this->view->depts = $this->loadModel('dept')->getOptionMenu();
|
|
$this->view->users = $users;
|
|
$this->view->dept = $dept;
|
|
$this->view->begin = $begin;
|
|
$this->view->end = date('Y-m-d', strtotime($end) - 24 * 3600);
|
|
$this->view->days = $days;
|
|
$this->view->workhour = $workhour;
|
|
$this->view->assign = $assign;
|
|
$this->view->currentMenu = 'workload';
|
|
}
|
|
}
|