From 0df698bcb74cdab1b91de1ed5ac9d00b1b87700e Mon Sep 17 00:00:00 2001 From: oliver Date: Wed, 8 Apr 2015 15:57:43 +0200 Subject: [PATCH] add feature to delete media of Charactergroupsquests (implements #6) --- .../CharactergroupsquestsController.inc | 10 ++++++ locale/de_DE/LC_MESSAGES/The Legend of Z.mo | Bin 25233 -> 25317 bytes locale/de_DE/LC_MESSAGES/The Legend of Z.po | 33 ++++++++++------- models/UploadsModel.inc | 34 ++++++++++++++++++ views/html/charactergroupsquests/manage.tpl | 31 +++++++++------- www/css/desktop.css | 5 +++ 6 files changed, 88 insertions(+), 25 deletions(-) diff --git a/controllers/CharactergroupsquestsController.inc b/controllers/CharactergroupsquestsController.inc index 42e47e2d..f4ba8916 100644 --- a/controllers/CharactergroupsquestsController.inc +++ b/controllers/CharactergroupsquestsController.inc @@ -181,6 +181,16 @@ $this->Charactergroupsquests->uploadMediaForQuest($this->Auth->getUserId(), $seminary['id'], $quest['id'], $file, $filename); } } + + // Delete media + if(!is_null($this->request->getPostParam('deletemedia'))) + { + $uploadIds = $this->request->getPostParam('uploads'); + var_dump($uploadIds); + foreach($uploadIds as $uploadId) { + $this->Uploads->deleteSeminaryupload($uploadId); + } + } // Set XPs of Character groups for this Character groups Quest if(!is_null($this->request->getPostParam('setxps'))) diff --git a/locale/de_DE/LC_MESSAGES/The Legend of Z.mo b/locale/de_DE/LC_MESSAGES/The Legend of Z.mo index 629a5b8e3e8eb752c679207111b49c52c81568fe..2e43403896dfbb5f1a0f23dd385172632a909cfa 100644 GIT binary patch delta 6397 zcmXZe32;@_8Nl)TD3K))NPvW}C9)Hiun3W@DWWW)D*I+dBLrj(g#dy&j~c9E)rt>v zMBE0^kyVOR96>?A1*Iw?BMJf*q%!W~f{57vpL-lLzjMwz_nhzh&bjZgY;WS!-bC`# ztg0&_{#%%cq9%AUJ&Jy&y*|g$D7rf@imKyMtbq@P{wi!ne@*D`K^~3vV{<%=`FI{( zw<(>**b7~HG`5eTWHgILEe2L%20n{!^zYzK%%Z;!UFaw}{~Q`vwM(NY4eO%MXQT65 zVST(D+v3&O4(DTSd=eY6f3%T?6W_v1@KZF>Q)q?>(sAK@Y>9=~21lZq+=kU~IrhX= zXaa|@E*?kceTS{EMvEwFjfI%O{?TX}O|c9MuoAOzW9aWiN)>&J2HJ!uoZkgY@mj2j zo6$hGqx0TIGe3@IUW47uyc?QmKTI0=AR0zI6kTXMI$nmBdM0+oMOYO#pbPyASv%T^ z6e~J~X;_W)+@LlZP<XCNxBxBv(lBuin&~#IhlkM0oIy8C za1OcH0vlpqbm7sVKLs1mUyMHgP;f2Qq5n!7>TgE>VZf4ofL^Nqp$mV9E|^Xo?KeRm z?12|E!Hb!oflfo$xf@OFF*LEYXkyz#|08srGf5i0Hs^wua8O>BEVRT0=mwXg3k*g} zS{C{hXdn-uN4FYXcq97UE1~}`T8U$5B0r)PN!H=U`9KSF;cn>0S6~esiq&yE*2IZ; z3C=>#dLB}w=vMS?S&hD?uLX}GUjfniU=wb#ccu>#U@|JD;e{BdmgJ{Mu+(MY&7sfbe*1P0>!~W=#dY@T;KoEG+cN#*24SHjaP>LQ)nqS zVoiKCxDVanLv({r&_GV2NA+d+yn4rY-3)Zy#^^fDu?G7`9cg%mMPWh-n(;97Xr`lQ zbt{_jKhd*%D)e7O1AGf>;m2rTr_l|+LIe8&-S|9Op=zDN`=3d}3gn_k(F5IhG&aJ? z=z@R4+IScG`mI1q`63$NcFf23&_KQm{R`;)yu$eP?T3CowvhU}K^X(O7`+3Jq6@wd z`fp+e{S#;a-=Yg#Kue$AIj%^3bi4rFuqcd=L+6!aUAzUogiAY9|5h|MGGIv$qNO^6 zR^)rMB6YgN6)8kt&tmlRG3fjXDUeZLMcWw7>Sv9J$i=a=zFAXQoE{-S8Mr<@g4eS zuo1rar}%r~0A|xah9>qCl2|gT-Y@+4pbzvwCkzWtL@(t$v=Wur0GFe;dM&oY-NCQW z0CTR0Z+{zf-axbhH==i93SQ>>p9~XTz&t+Kk5oVU3iGj`e|&~RkYYt6(9D;G@kh}B zS7T$`j7@NV7(at8=$}PjyCzr0`;=fI`$yAk;7YVa`_M|9z&UsxJ(BXP;>;FdKK*;J zGp-9B37^*<5C_~84YXCT5Iw@4=z3RS(hY~wD8eb2hEJdwtwFyqwxE$8M{je+!1yv| zqt7?S*4Pz2nsMk`QjQ))Wf)I|@#oMZ*)fp%dy5Y-;F+94OZXf5VD6y!o334OAo_(> zhE`}1y5S0R!FA#DJ)wUXP3U_xptGT0YjAu-S%ay+8x=C(uTn93`G%t#O$y@+(FN{B z1AP(=d>cCNjqv%AF#auC!QavKYL~=sK^{841G-+nBn?YA3NOVOVZ!}rW~eLibQT)B4Wb626`*P+kNK{u>K6Mi`Klh4wq&cMrP#Cz}(JPqpyiq62r(c48J{>)hhp-K9MmIi;K6fTq`|9}abVl|`M%`%`X&>~#5om_DqDPWK z19}F1tu|l{+=n&sAezxJG?8zxDxO6v@f-S`U+4-LE*y5E(U<@-ODh838O zUXDA^Gk+LeXfqnnuHZp*qtj@{U!#HjjJ2@Juy~_7XyCc%uVfqai){erVI?Mg-B!~u z(^t{b??sQ|C|b(2;c*5vu_gUhXuu`d8cTzBV+Q?A=*F+03A}^ua|B)gEc$%i5!Bxa zZAQf3OhxDd{n3nuhyL|w31?sy-i2POm1rhA&`KOd=Y5U^m>3z`0ex-^n$R@#sLMxE ze>1p~0V7(EO>sANz!O*vGe*S~$wrUnkJt{!2Jb)vSdSjf*3jRMR(3De$G0&ZkE2KR zWs-)O{(?@dIyx>{O?06~!AsE%+M=cHf<9M_R;&c;;yCn@O+zbNfzDroZu}s+&*Nxf z$){;JaXosr+tJ8QpbvhH_3%78ukM(5!+dn1LNw6s!9HlF{n0ZYi_WV+173tCawit~ z{@+idI|Hxd<#;~+AnHDrf6LRKiM{b9?2134x47-N_(!V@9e)hF;Ct8$tBjA&ye}H~ zP&A<%(Mrv_DCeJ~VZ;xh6W5@TZbdWOiI(^cw6urN431-4`~n+c)^+h^>lhr1mbelN z@gL~rdl~)rz)s9(|L7zQOO*DPc%yXmC>mit7Gr0;F}MuP;5BTGAE0l;IkXZ@ua6yy zjp*%7@Y1JH@X(afiz885`)cn5k%K14VE41HVDZiv5V zx?(5#!-9*^=Qp7h*oIbm#|@mn3+-nh7e7Wz`~z0O3+QW>xG~P8J!a7#h&^#U8t8KL z`SoZ8UdIyr1s%V#G~RFm8o(@cpSh*UII`Qrz~8X}A3T6Y{0zF`CiG6chS|73jGsj3 z{Tx1zZi@Tq=tlL?yOA6Em!TW?M31olSQ?o$Murb2qnB&V~a)TrE4qCE9Q?!ZLZmM)Dd6NwqAt&NAIO=Qwv zQ)x}6B<5_H*<@fMF*~)j>8oke7@nV6*sO74W@<&VHi?C)9nHoxoz7@MSam9^=7n}u zT#)LLS6Jni#Fm@#a+}tfR5qimqAY(dOspuIlv>p1K-#?7Gs;U-C4H}{+Pzoz?x|IM zTiWQcWl!J9S&8{u+7G=tv*ygwIn$?>&Ee54<)yiadN-F(ym?0Hq_SDjd`72EFP#zn EAHN>rj{pDw delta 6322 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 + + try { + // Get Upload + $upload = $this->getSeminaryuploadById($uploadId); + + // Delete database record + $this->db->query( + 'DELETE FROM seminaryuploads '. + 'WHERE id = ?', + 'i', + $uploadId + ); + + // Delete file + $filename = ROOT.DS.\nre\configs\AppConfig::$dirs['seminaryuploads'].DS.$upload['url']; + unlink($filename); + } + catch(\nre\exceptions\DatamodelException $e) { + $this->db->rollback(); + $this->db->setAutocommit(true); + } + + $this->db->setAutocommit(true); + } } diff --git a/views/html/charactergroupsquests/manage.tpl b/views/html/charactergroupsquests/manage.tpl index ada60330..126f8878 100644 --- a/views/html/charactergroupsquests/manage.tpl +++ b/views/html/charactergroupsquests/manage.tpl @@ -51,19 +51,26 @@ - -

: 0) : ?>(  MiB)

-
+ +
    + +
  • + +
    +
  • + +
+ +
+

- +

: 0) : ?>(  MiB)

+
diff --git a/www/css/desktop.css b/www/css/desktop.css index f60c060c..9125f7c9 100644 --- a/www/css/desktop.css +++ b/www/css/desktop.css @@ -461,3 +461,8 @@ aside .cranks li:nth-child(odd){background:#f7f5f2} div.cond{display:none;margin-left:15px} input[type="checkbox"]:checked + label + div.cond{display:block} +form.mng{margin:30px 0} +form.mng p{margin:0} +form.mng ul{margin:0} +form.mng input[type="submit"]{margin:0} +.mnglst li{text-align:center}