mopcon / equipment-management-system Goto Github PK
View Code? Open in Web Editor NEWThis is MOPCON content manager system.
License: MIT License
This is MOPCON content manager system.
License: MIT License
如 #126 圖的呈現可以看到錯誤訊息,經測試發現這個錯誤訊息不會消失,另外是成功上傳的訊息也不會消失,這樣會讓使用者不確定是否新的 request 已經發送出去或是是否有正常的上傳新的資料,這邊請前端調整一下
調整議程增加FinTech主題TAG
這邊有兩個問題
setHidden
的 function 可以使用,所以就會噴 error 出來進階贊助商資料處出現上傳檔案錯誤(演講廳旗幟)
https://i.imgur.com/pPFPpJP.png
不曉得是不是圖檔容量有限制問題?
目前規劃如下
https://dbdiagram.io/d/5ccfdba1f7c5bb70c72fe102
Table system_logs {
id integer [pk]
user_id integer [ref: > users.id]
type_id integer [ref: > system_log_types.id]//操作類型 e.g.器材相關,工人相關這類的。
content varchar //操作內容
ip varchar
device varchar
browser varchar
created_at datetime
}
Table system_log_types {
id integer [pk]
name varchar
created_at datetime
}
Table users { //現有的 User table
id integer [primary key]
name varchar
email varchar
"..." varchar
}
如 issue #126 上面看到的錯誤訊息,目前 Request 沒有設定 custom message 所以會將欄位所設定的 key name 直接回傳在前端上面,但是這個名稱對於使用者是沒有意義的也不直覺,這邊希望可以調整成顯示可讀的名稱方便更快速的判斷問題所在點
這個 issue Speaker 與 Sponsor 都需要調整,這個 issue 就麻煩 @FWcloud916 與 @xwang0929 幫忙了
如果都沒有選擇任何一個講者 / 贊助商按下會出的時候,希望可以跳出一個 alert 來提醒使用者
http://prntscr.com/ojzg78
目前測試如圖,logo部分可能有ai檔案類型,但無法上傳
可放寬檔案限制(增加ai,psd,svg,pdf,eps)
5.5 -> 5.8
改用 BotMan 並遷移所有功能,清單如下:
/whoami
/saveid
於 EMS 上新增一個頁面去顯示所有的 Log
目前看到 resources/js/pages/form/Speaker/index.vue
好像是沒有用到的頁面,請幫我看看還有沒有其他頁面也是沒用到的,將它們列出來並移除。
感謝!
Feature
資料庫欄位
目前是將所有說明文件都集中在 README.md
,考慮未來擴充,預計將提取至 /doc
,並補齊各項所需文件,讓 README.md
僅留下簡單的介紹就好。
因應議程組調整
Tag另增加Agile
http://prntscr.com/p19hdl
Ref Issue: MOPCON/MOPCON#142
參考文件:https://docs.google.com/document/d/1vdx2N52TuFyNiZZ64fLH9C353QX5VBVWOEb5_FbT-Ug/edit
參考上方文件,設計給講者上傳素材之前端介面
前台於各項檔案上傳欄位後方加入選填連結欄位
提示文字:或提供雲端硬碟檔案連結 (適用檔案超過20M或2個以上檔案)
呈現範例
https://i.imgur.com/CHNQSMZ.jpg
目前有檔案上傳的題目:
◆企業 Logo
◆社群粉絲貼文搭配圖片
◆場間投影片廣告
◆電子看板
◆ICCK 大門口兩側廣告柱
◆報到處全版廣告空間 ( Truss 架廣告)
◆演講廳旗幟
◆主動線旗幟廣告
後台查看詳細頁,增加上述欄位文字輸入內容並可點選連結
增加欄位副標:
社群粉絲貼文搭配圖片 | 可為產品或服務照片(多檔案請使用雲端連結,最多不超過4張)
不知道後台能不能支援完整匯出,不然如果想看到全部的列表還是得一頁一頁慢慢按 Orz
目前沒辦法從 Telegram UI 去將 Bot 移出 Chat,只能從 Bot Api 去處理。
新增一個 /botLeave
限制管理員可執行,可讓 Bot 自己離開頻道。
每項 Log 的訊息都要放入該次操作相關的資料,例如編輯使用者要記錄編輯了哪位;刷條碼出借要記錄條碼、物品名稱與 ID,至少讓人可以分辨。
匯出的時候可以將一些特殊符號將他們濾掉,這樣才不會影響到匯出的結果
表單:https://cms.mopcon.org/sponsor/form/d487b2b2-7bf1-4211-b431-14b978b4ac48
表單密碼:KAwrRfE9avxpHjnT8L2T
親測一下有可能是"公司簡介"或"產品及服務介紹"這個欄位
填入下述測試內容,會看到字數統計還在250字內,但送出會出現error訊息
"策略無限 致力於機器人理財平台及程式交易研究,以台指期 21 年超過 4 億筆 tick 大數據資料為基礎,架構策略開發回測系統,建立 Tick 級高速且精準的回測機制,並能界接 AI 決策訊號進行深度回測,使用多種 AI 演算法研發近兩百隻的智慧下單策略,並透過策略管理機制有效降低策略風暴比,並完善整體資金風險管理系統,希望打破一般大眾對期貨的印象,跳脫舊市場框架思維,充分運用人工智慧、大數據等科技,提升產品效能及使用者體驗,提供完善的機器人理財服務。"
(我也不確定是否字數導致,只是如果上述欄位隨便key個單字,表單倒可以正常送出。)
於後台設定狀態為"下架"時,可同步關閉前台表單不予進入編輯
(可顯示"目前表單已關閉")
目前前端頁面大致上已經刻好了,可以直接到 kktix 上面下載去年的學生訂單來進行使用測試,前端需要幾點幫忙
api/student/upload
進行載入動作,載入前端api/student
傳入 row 的資料進行儲存 or 更新這個可以晚一點,我目前只有開出刪除的 api 還沒有將資料上傳的時候與資料庫進行比對
今天我們家姑娘在使用的時候產生一些疑惑,先講一下我們的使用情境。
我們從贊助組的來信中得到一份附件叫做「素材規格書」、CMS 的帳號密碼,登入後面對以下問題:
於講者後台 ->詳細->操作中增加題目:
是否為Keynote講者:否/是
(預設為否)
並增加至匯出表單中
原填好之表單,送出後重新再以url及pw登入後,原本輸入的公司簡介沒有帶入
參考比對
http://prntscr.com/omkjnb
http://prntscr.com/omkk3t
新增 Travis CI 來執行測試,並限制 PR 測試通過才可執行合併。
目前看到 API 文件非使用 Markdown 格式,無法於 GIthub 直接查看。
請依參考格式修改已存在的文件,未來有新的文件也遵照這個格式。
預計將使用 laravel-permission 來去完成這個功能。
新增 Role 與擴充 User 頁面。
在 Role 頁面中,可讓使用者新增新的 Role,並可編輯所擁有的權限。權限編輯方式為用 CheckBox 列出全部權限讓使用者勾選。
在 User 頁面中,新增設定 User Role 的地方,支援一個 User 可擁有多個 Role。
直接採用 laravel-permission 所設計的 Table,但於 permission
中新增 description
用於說明該權限用處使用。
格式:"Controller Name
-Method Name
"
範例:UserController@store = "user-store"
所有 Controller 內的所有 public
方法都要有相對應的權限。
在此有兩中方法實作,都先列出來,再來討論哪種比較適合。
class IndexRequest
{
public function authorize()
{
$user = Auth::user();
return $user->hasPermissionTo('pemissionName');
}
}
簡單來說就相下面這樣。
class RoleController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
function __construct()
{
$this->middleware('permission:role-list');
$this->middleware('permission:role-create', ['only' => ['create','store']]);
$this->middleware('permission:role-edit', ['only' => ['edit','update']]);
$this->middleware('permission:role-delete', ['only' => ['destroy']]);
}
}
我目前是傾向用『方法二』,因為『方法一』手續比較多,檔案也會變多。
新增於 app/Exceptions/Handler.php
public function render($request, Exception $exception)
{
if ($exception instanceof AuthorizationException) {
return $this->unauthorized($request, $exception);
}
return parent::render($request, $exception);
}
private function unauthorized($request, Exception $exception)
{
if ($request->expectsJson()) {
return response()->json(['error' => $exception->getMessage()], 403);
}
flash()->warning($exception->getMessage());
return redirect('/login');
}
再麻煩 @hashman 看看有沒有問題或需要補充的地方。
贊助商 / 講者頁面前台是採用 Unique url 與 password 進行驗證,驗證的方式與舊有 EMS 的做法不同,所以這邊需要另闢新路
這邊請 @xwang0929 幫忙了 <(_ _)>
Ref Issue: MOPCON/MOPCON#142
參考文件:https://docs.google.com/document/d/1vdx2N52TuFyNiZZ64fLH9C353QX5VBVWOEb5_FbT-Ug/edit
參考上方文件,設計給贊助商上傳素材之前端介面
後台除原本待確認/已確認/已下架等狀態外增加增加新狀態【議程組已確認】
(僅可由後台手動修改)
此狀態情況下,前台表單可進入但無法編輯,
進入時於上方顯示提醒
「您的資料已由Mopcon確認完畢,僅供檢視,若須修改請聯繫議程組工作人員。」
並移除下方驗證與送出按鈕。
修正處:
FinTech/Quant 改回 Quant
新增一個公開的頁面,讓欲借器材的組員來填寫。
前台申請表單,欄位如下:
後台管理介面:
於表單最下方行政資訊 講者晚宴攜伴人數 後面加上(NT.800 / 人)
於 BotManService
中, $this->botman->say($message, $chatID, TelegramDriver::class);
這段在執行時如果遇到 api 回傳錯誤,並不會出現任何訊息,須自行判斷。
附上他回傳的物件
Symfony\Component\HttpFoundation\Response {#3157
+headers: Symfony\Component\HttpFoundation\ResponseHeaderBag {#3154
#computedCacheControl: array:2 [
"no-cache" => true
"private" => true
]
#cookies: []
#headerNames: array:2 [
"cache-control" => "Cache-Control"
"date" => "Date"
]
#headers: array:2 [
"cache-control" => array:1 [
0 => "no-cache, private"
]
"date" => array:1 [
0 => "Wed, 28 Aug 2019 21:50:57 GMT"
]
]
#cacheControl: []
}
#content: "{"ok":true,"result":{"message_id":127,"from":{"id":658999347,"is_bot":true,"first_name":"PuckBot","username":"puckwang_bot"},"chat":{"id":-262574024,"title":"Puck Bot Group Test","type":"group","all_members_are_administrators":true},"date":1567000257,"text":"Test"}}"
#version: "1.0"
#statusCode: 200
#statusText: "OK"
#charset: null
}
為加強贊助商理解各欄位用途,重新調整前端顯示的名稱
另於題目下方增加副標(小一字級 字體顏色較淡)作補充說明
文件:
https://docs.google.com/spreadsheets/d/1KHV9-Ei7gp57lvpyV604Dk838JtKZhcAnlU5cbqup04/edit#gid=0
1.Logo
2.產品或服務照片
3.場間投影片
4.電子看板
上述可能會分次編修無法一次湊齊,
故改成非必填選項(前端要同步把*移除)
於查看詳細中 資料最下方增加:
最後登入時間:yyyy-mm-dd hh:mm:ss
時間為使用專屬連結與密碼進入為主,沒填資料送出也算登入
(若創建後尚未登入則為空)
公關組那邊希望在發送 Telegram 訊息的時候可以選擇「公告群組」進行發送,目前現況來說「公告群組」因為人數較少,所以還是會同時在「聊天群組」 Po 與「公告群組」一樣的貼文,但因為目前 Telegram 發送訊息功能只能發送到「聊天群組」所以他們會再將同樣的 Po 文在 Telegram APP 另外 Po 到「公告群組」上,需求如下
這邊再麻煩 EMS Team 幫忙
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.