使用 CakePHP 開發的簡易報修系統

edited 十月 2013 in CakePHP
這是退伍前弄出來的,讓有興趣的朋友可以作個研究

在 Ubuntu 7.10 的安裝過程
1. 下載 CakePHP 1.1x
http://cakeforge.org/frs/?group_id=23&release_id=343
2. 解壓縮後將 cake_1.1.18.5850 改名為 cake 後放到網頁目錄中,例如 /var/www/cake
3. 下載 helpdesk.zip ,解壓縮後放到 cake 目錄中,例如 /var/www/cake/helpdesk
4. 修改 helpdesk/config/database.php 中的資料庫資訊
5. Ubuntu 的 Apache2 預設沒有啟用 mod_rewrite ,所以需要透過下面指令啟用:
cd /etc/apache2/mods-enabled/
sudo ln -s ../mods-available/rewrite.load
6. 接著要修改設定檔
sudo gedit /etc/apache2/sites-available/default
找到 <Directory /var/www/> 中的 AllowOverride None ,要修改為 AllowOverride All
7. 接著重新啟動網頁伺服器來套用設定
sudo /etc/init.d/apache2 restart
8. 開啟一個資料庫,將 helpdesk/config/sql/helpdesk.sql 匯入,記得要跟步驟 4 一致
9. 開啟網頁,例如 http://localhost/cake/helpdesk/ ,理論上就可以了

預設帳號、密碼都是 kiang

使用建議:
1. 新增單位,像是會計部、研發部等
2. 新增類型,像是電腦報修、電話線路等
3. 新增狀態,第一個建議是待處理,因為預設會丟到這一個,其他的就像處理中、處理完成等
4. 新增使用者,報修不需要登入,只有服務人員登錄資料需要

特色:
1. 一個報修可以附加多個回應,讓處理過程可以確實記錄
2. 可以根據月份檢視報修狀況

來不及做的功能:
1. 權限控制
2. 資料統計、匯出
3. 資料更新的通知
4. 知識庫(將報修資訊轉換為常見問答,讓部份使用者可以自行檢修)

寫的有點趕,所以很多細節並沒有照著手冊走,就看有沒有人要接手繼續維護這個程式 :)

授權方式? GPL V3 ,所以要拿去用的就別再問我了。

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=2886

評論

  • edited 十一月 2007
    我們單位不是用linux架構的
    應該不能用這一版吧?

    你說來不及做的功能卻是目前國軍比較重視的這一部分
    有機會或時間能補齊這些功能嗎?
    再國軍的論壇看到你退伍前的留言所以上來看看
    希望你能完成這套系統~
    我們單位也剛好可以來使用喔..
    因為這報修系統真的很方便啦~~

    1. 權限控制
    2. 資料統計、匯出
    3. 資料更新的通知
    4. 知識庫(將報修資訊轉換為常見問答,讓部份使用者可以自行檢修)
  • edited 十一月 2007
    這個程式是可以在 Windows 環境執行的,上面的描述只是剛好在測試時的記錄,也許稍晚針對 XAMPP 的設定做些說明

    至於補齊其他功能,短時間內還沒有這樣的空檔進行,就看有沒有朋友感興趣了
  • edited 十二月 2007
    我是在windows裏安裝的,但輸入帳號及密碼送出卻回到根目錄,什麼東西都沒有,有解嗎
  • edited 十二月 2007
    在 XAMPP 安裝過程:
    1. 下載 CakePHP 1.1x
    http://cakeforge.org/frs/?group_id=23&release_id=343
    2. 解壓縮後將 cake_1.1.18.5850 改名為 cake 後放到網頁目錄中,例如 D:\xampp\htdocs\cake
    3. 下載 helpdesk.zip ,解壓縮後放到 cake 目錄中,例如 D:\xampp\htdocs\cake\helpdesk
    4. 修改 helpdesk\config\database.php 中的資料庫資訊
    5. 接著要修改設定檔
    D:\xampp\apache\conf\httpd.conf
    將 LoadModule rewrite_module modules/mod_rewrite.so 前面的 # 移除
    6. 同一個檔案中,找到 <Directory "/xampp/htdocs"> 中的 AllowOverride None ,要修改為 AllowOverride All
    7. 接著重新啟動網頁伺服器來套用設定
    8. 開啟一個資料庫,將 helpdesk\config\sql\helpdesk.sql 匯入,記得要跟步驟 4 一致
    9. 開啟網頁,例如 http://localhost/cake/helpdesk/ ,理論上就可以了

    輸入帳號及密碼送出卻回到根目錄,這應該是 mod_rewrite 沒有啟用造成
  • edited 二月 2008
    我從搜尋引擎上面找到您寫的程式
    並且我也在WinXP上面安裝APACHE2+MYSQL5+PHP4
    且可以正確執行無誤了
    謝謝您
  • edited 六月 2008
    感謝kiang版主所提供的簡易報修,
    我參閱了Louis Stoltz所寫的發信功能
    http://bakery.cakephp.org/articles/view/simple-smtp-mailer
    將mailer.php的程式,放在components中,
    並在requests_controller.php中的Function add加入以下片段
    <?php
    var $components = array ('Mailer'); // 'Mailer','comp2' if Multiple

    // Set up mail
    $this->Mailer->Subject = "Nice Subject";
    $this->Mailer->Message = "That was easy";
    $this->Mailer->AddAddress("yourname","youremail");
    $this->Mailer->socketmail();

    ?>
    這樣使用者,在新增報修時,
    就可發信通知管理者
  • edited 八月 2008
    已經成功的安裝在Windows上,但是資料庫我是UTF-8 中文資料存入後會亂碼,不知該如何解決
  • edited 八月 2008
    理論上都是 UTF-8 時應該可以順利執行,因為我在 app_model.php 中有放入
    @mysql_query('set names "utf-8";');
    
    ,也許你需要說說自己安裝的環境與過程。
  • edited 十月 2008
    系统的安全性直得怀疑.因为我不是用1.1这个版本的.所以我没安装这个程序.但是我在model里没有看到有检验数据是否正确的方法.
    不知道是不是有什么地方我没有留意到了.请指教
  • edited 十月 2008
    這個程式開發過程一點也沒想過安全性問題,因為只花了幾天時間,把它當作雛型會好一些。
  • edited 一月 2009
    無法安裝~~出現以下訊息~~
    是那用錯了嗎??
    Warning: Cache not configured properly. Please check Cache::config(); in APP/config/core.php in F:\TWAPM\htdocs\cake\cake\libs\configure.php on line 660

    Fatal error: Call to a member function connect() on a non-object in F:\TWAPM\htdocs\cake\helpdesk\config\routes.php on line 36
  • edited 一月 2009
    安裝的環境、步驟為何?
  • edited 一月 2009
    1. 下載 CakePHP
    2. 解壓縮後將 cake_改名為 cake 後放到網頁目錄中,例如 f:\xampp\htdocs\cake
    3. 下載 helpdesk.zip ,解壓縮後放到 cake 目錄中,例如 f:\xampp\htdocs\cake\helpdesk
    4. 修改 helpdesk\config\database.php 中的資料庫資訊
    5. 接著要修改設定檔
    f:\xampp\apache\conf\httpd.conf
    將 LoadModule rewrite_module modules/mod_rewrite.so 前面的 # 移除
    6. 同一個檔案中,找到 <Directory "/xampp/htdocs"> 中的 AllowOverride None ,要修改為 AllowOverride All
    7. 接著重新啟動網頁伺服器來套用設定
    8. 開啟一個資料庫,將 helpdesk\config\sql\helpdesk.sql 匯入
    9.開起http://127.0.0.1/cake/helpdesk/
    在來就出現以上晝面了
  • edited 一月 2009
    附上設定的檔案~~詳如附件
  • edited 一月 2009
    1. 確定下載的是 CakePHP 1.1 ?我好像已經沒辦法直接下載了。
    2. 把 f:\xampp\htdocs\cake\.htaccess 刪除後再試試

    不過你貼的步驟跟錯誤訊息好像有些出入
  • edited 二月 2009
    kiang 寫道:
    1. 確定下載的是 CakePHP 1.1 ?我好像已經沒辦法直接下載了。
    2. 把 f:\xampp\htdocs\cake\.htaccess 刪除後再試試

    不過你貼的步驟跟錯誤訊息好像有些出入
    ==>>不懂???我是用TWAPM及xampp 2種在測試~~結果2種都不行~~都是用樣的錯誤地方
    1.我下載的是cake_1.2.1.8004.zip
    2.刪除.htaccess還是沒用
  • edited 二月 2009
    你下載的是 CakePHP 1.2 ,這個程式是在 CakePHP 1.1 環境中開發,應該無法直接在 1.2 中使用。
  • edited 二月 2009
    CakePHP 1.1 那裡可以下載呢??
  • edited 二月 2009
    找到1.1的了
    可是在新增時無法新增也~~?????????
    如下:
    Query: INSERT INTO `requests` (`category_id`,`dept_id`,`title`,`reporter`,`phone1`,`phone2`,`summary`,`description`,`status_id`,`ip`,`created`,`modified`) VALUES (1,1,'test','test','03-1234456','03-1234242','test','test',1,'127.0.0.1','2009-02-06 09:06:50','2009-02-06 09:06:50')
    Warning: SQL Error: 1364: Field 'closed' doesn't have a default value in \htdocs\cake\cake\libs\model\datasources\dbo_source.php on line 439

    lacalota 寫道:
    CakePHP 1.1 那裡可以下載呢??
  • edited 二月 2009
    也許是資料庫版本差異,當時結構設定的比較鬆散。

    這個問題只要將 requests 資料表的 closed 欄位設定為允許 NULL 即可。
  • edited 七月 2009
    送出報修時的日期時間不準耶,還有級職那邊可以修改為不檢測是否有輸入嗎?
    謝謝
  • edited 七月 2009
    日期時間不準也許可以用比較清楚的方式說明?

    級職那邊可以修改為不檢測是否有輸入,歡迎連絡我們取得報價單。
  • edited 七月 2009
    舉例我現在電腦時間為 2009-07-11 02:51:13
    當我填完報表送出之後卻是:2009-07-10 18:51:13
  • edited 七月 2009
    解決了… php.ini 的Default timezone 設好就ok了!!
    謝謝…是個好網頁^^"
  • edited 九月 2009
    管理者安安
    由於我對這些程式都是自己上網找資料自己摸索再加上英文很爛
    所以有些問題看不太懂若您有空閒時間請您指導
    感激不盡
    引用以下
    在 XAMPP 安裝過程:
    1. 下載 CakePHP 1.1x
    http://cakeforge.org/frs/?group_id=23&release_id=343
    2. 解壓縮後將 cake_1.1.18.5850 改名為 cake 後放到網頁目錄中,例如 D:\xampp\htdocs\cake
    我下載的是cake_1.1.12.4205不知道是否有衝突
    再來我更名為cake後放到例如 c:\xampp\htdocs\cake_1.1.12.4205
    上面目錄中的cake_1.1.12.4205要更名嗎
    3. 下載 helpdesk.zip ,解壓縮後放到 cake 目錄中,例如 D:\xampp\htdocs\cake\helpdesk
    4. 修改 helpdesk\config\database.php 中的資料庫資訊
    如何修改?
    5. 接著要修改設定檔
    D:\xampp\apache\conf\httpd.conf
    將 LoadModule rewrite_module modules/mod_rewrite.so 前面的 # 移除
    6. 同一個檔案中,找到 <Directory "/xampp/htdocs"> 中的 AllowOverride None ,要修改為 AllowOverride All
    7. 接著重新啟動網頁伺服器來套用設定
    是指重開XAMPP嗎?
    8. 開啟一個資料庫,將 helpdesk\config\sql\helpdesk.sql 匯入,記得要跟步驟 4 一致
    步驟8能詳細點嗎完全不會用資料庫
    還有記得要跟步驟 4 一致是什麼意思?
    9. 開啟網頁,例如 http://localhost/cake/helpdesk/ ,理論上就可以了

    輸入帳號及密碼送出卻回到根目錄,這應該是 mod_rewrite 沒有啟用造成
    以上
    若能解惑萬分感激
  • edited 九月 2009
    @enix1023, 如果你是想要學習相關技術,也許可以從一些 PHP 教學的書籍開始,而如果有實際使用的需求,也許找個專業人士協助會比較好

    這個程式並不是一個良好的設計,只是一個雛型,適合想要學習 CakePHP 的朋友參考,而進入 CakePHP 之前建議對 PHP, HTML, Javascript 與系統環境資訊等都要有些概念。
Sign In or Register to comment.