From 73b92bba86c7ec7e6fd6dde9d1acab6a55d189a9 Mon Sep 17 00:00:00 2001 From: Maxi Redigonda Date: Wed, 17 Oct 2018 11:26:11 -0300 Subject: [PATCH] Moves filtering functionality to backend and adapts frontend --- client/src/actions/.admin-data-actions.js.swp | Bin 0 -> 12288 bytes client/src/actions/admin-data-actions.js | 4 ++-- .../tickets/.admin-panel-my-tickets.js.swp | Bin 0 -> 12288 bytes .../panel/tickets/admin-panel-my-tickets.js | 10 +++------- .../controllers/staff/.get-all-tickets.php.swp | Bin 0 -> 12288 bytes server/controllers/staff/.get-tickets.php.swp | Bin 0 -> 12288 bytes server/controllers/staff/get-tickets.php | 11 +++++++++-- server/models/DataStore.php | 4 ++++ 8 files changed, 18 insertions(+), 11 deletions(-) create mode 100644 client/src/actions/.admin-data-actions.js.swp create mode 100644 client/src/app/admin/panel/tickets/.admin-panel-my-tickets.js.swp create mode 100644 server/controllers/staff/.get-all-tickets.php.swp create mode 100644 server/controllers/staff/.get-tickets.php.swp diff --git a/client/src/actions/.admin-data-actions.js.swp b/client/src/actions/.admin-data-actions.js.swp new file mode 100644 index 0000000000000000000000000000000000000000..d8617a8d7aeb7418ad2bd0c99f1ff3871ed3b1dd GIT binary patch literal 12288 zcmeI2Pixa)9LJxjFq}@sT~rh@6}sWFZ2sHa9IVz3hwC=l&M6|}Y5KH_rcIVSah6d% zsNg%$gU5OB4ea7o5q$w(^rGm&-4qeL`AwVbkI=1H6qMfspCrxm+VYDbU+5kKy3q_%&GmY z?8Ncj9>39%!|h7j-l^K{sfG-Y0Wv@a$N(8217v^YS?TpD5OdkLL4+k0E?PlyPcnw~G zr{EEAKoT4TTfw(ojC}?lz}JxC3p$V{jKpV1NwZ;4C->TEH?gKLZcJ15gI@ zz<1FPsE`3NKnBPF86X2>fDEh}C=W6PrCixoj;bg8L%)g7 z)ytAC&{cG7Y$iP#yBJTW)^y+q={ZHEdPQ}Zbaj-DId5ft%8=6AiAI%v%d5i&;loMS z_Ow~RypSqpzGh;6pLHfnrK2MwGl_WOTs&Db8-hB9xG7S;(1a*tgyVKJl&PMD3v&JO zl?&5FO*33Re|mpq-HKwqv3%q4>CNuUFyFYC5A!v&c1BS*y{w3tmMgOL+?)+PdWkFb z=1Y{qcYgjDg6as@#wY6HH{Ua{sZ@F*F_Vm^CMU*I@l7Ad zSY^~?IB4~m6u0~@=asC;anF?go5v_r&fp!VEpm6vwBOua>ra32{P9w@AAyb=L`Bjkdd~LbAZpB#kzqs8m(t*pppTf5{%V zO;-z23kQxZaNxiV!Ho-7RFFXQ2nUc*;e^O8jSRukFN1QAH0Gw)ETe&b%4F z`Oll@NjocJM>})$K>bOA>pnupr!F6Vn0!GFJVJSG zz+yJ{l?Bh~d8&nqp5nO7_5;^-JXC0=0RzSNG(~k?Mb%-VxT?)eg&W#Q1`}CUlVvq) ztriv6U-3r|EN%(~3I#$10=`?`f14?gf>p-!Pdp+KQPp+KQPp+KQP zp+KQPp}_x00q$-iuVK8mMPpu$zPGLWj(!$jg#v{Fg#v{Fg#v{Fg#v{Fg#v{Fg#v{F zg#v{Fx1a*5PRL{U;UiYB;+WV z0DHk6upM06LCD|WS8xS<49rO)c1V4h$z(?REun%0i0~&$1!JFVbI0tla2wc0JkUzjx@EiCVd=B0N255nu;0Ngc zEfDiyf>rP`m;gJ#FPNiC@juesf^l|pTpm^{Q{rUEf;bp5x3(0X45=O@6xT5P61VL7 zhS#?c9ic1FbG!zpetJ2maY{*c09)5~p^S>)hNzH4|9&Ln$wQWRl{apT{9h@$+AjhzFR4yNMN`p@QC#&+mP}#m$gc!VV^8b z4vg^$yHcK>J+jy?SBFg{>?h~h@CY-#X0p~`z}Xo-Wg0!ZLCYFWY%#Aq9Okr1kN#Q5 zv*2DNLTe!9&lRY?V%T~`)K`a8$#&b!2(xaG;w)LHKM|T_JI|ASxK8&Q3kliE=a}a( z1oS8)E%u$$b~;{$`zgGT(J1_juT;v4i)1Ke`jIO${}Ci^CB8>%A}$QQV|-CKSXm8h z8QEAG_$eY$*omk?>}DP~-B;}%%T+B&v0FE8gllZ`-cvJ8r6Zz0apjGFOPQ0jA)1G& zX+hpGcY7x&8=_NPI zc}B0#%loONdOgEla@+Rck)a@YeRQBDl!hq1JQ9 zQjfq})7L!174N%^2Fo+;#p!NmVX1Ru9{%K|V=PwH_vhuL=AX_@2_3~{g$T7hX2Z9< z6qAbV8+bQsj^#Qw-b*uvKIa5BPdy^ZU3ocXRW*GkeUtf-wnne&q}^y;A3q^2#Yj?1 zwLy=cNY-JzRL8<1(W{}w8x^@I!)HhhY0kEm;#CWoeA;EI#_QAZ(1c?KhKX%Y99yfN zW8r;_{a$UPfUj6#-=9?N=)rn!W|HwC8k((13$3AS>7=-P_ zp>GSDDMeTP{)(e|dU99ORqRctO2U$WZ*I_f(ki`cuNAlkeojZ=#(w_!N_ zH502aX(T5u**C_Il&{+O%({+kWeszPb>^p}5KA($H;t8=kU$irESBSHxa{|nhYsMq Z*yj#uWB`FQUh|k9oJp)?+@uXq^$#!kjeh_D literal 0 HcmV?d00001 diff --git a/client/src/app/admin/panel/tickets/admin-panel-my-tickets.js b/client/src/app/admin/panel/tickets/admin-panel-my-tickets.js index 82d18344..80ec2d4d 100644 --- a/client/src/app/admin/panel/tickets/admin-panel-my-tickets.js +++ b/client/src/app/admin/panel/tickets/admin-panel-my-tickets.js @@ -44,17 +44,11 @@ class AdminPanelMyTickets extends React.Component { ); } - filterOpenedTickets(tickets){ - return _.filter(tickets, (ticket) => { - return !ticket.closed - }); - } - getProps() { return { userId: this.props.userId, departments: this.props.departments, - tickets: this.state.closedTicketsShown ? this.props.tickets : this.filterOpenedTickets(this.props.tickets), + tickets: this.props.tickets, type: 'secondary', loading: this.props.loading, ticketPath: '/admin/panel/tickets/view-ticket/', @@ -68,6 +62,8 @@ class AdminPanelMyTickets extends React.Component { return { closedTicketsShown: !state.closedTicketsShown }; + }, () => { + this.props.dispatch(AdminDataAction.retrieveMyTickets(this.state.closedTicketsShown * 1)); }); } diff --git a/server/controllers/staff/.get-all-tickets.php.swp b/server/controllers/staff/.get-all-tickets.php.swp new file mode 100644 index 0000000000000000000000000000000000000000..707340d36ff599530e296e46a91ea033524671bd GIT binary patch literal 12288 zcmeI2O>7%Q6vwAM&_G)#a70K0jkI>C?SvLpxJ`;%JB_6zc5OFml}6EeJ&qUFyW5%B z^h*T}fK*f=xBwS!oVk@76d|A|t{^11bEw1(Bm@%w*$?m52}T@2v&zrjyqS6L&40cW zWxBI#^%Z)&c#PmVM97l$$@=!gUy9LlkV4JfFED@O_V?Krp_|c**iy$vwwm942Y@`=u==3#Q`~q;0*zq$v6We-uE! zXa%$a6BIZ|jy^v(t129R_8I!*6Xz$?)kRtXt$F*)0 zp;LR~j&@ICkrd;-qB;T`ZH_yD{Pt^=j*6`&ujfL1^&pcT*x+$0oF^r_xBlL2?>^yPr@YbOX%HuXdX zTAZiGVr98q%Twb72}|&iHdmHR)gJRrF4YygO}jU5&?22qO@#%!2a7=)t*o=Y$C+sj zXl^>d<-5Xy7?_;(sv}R!wvf~mSxriK8P=nnQ{tG%CCDM(637(M`T`8F%=W zy{#?QJCCwlKI)Lq?QK&s+7Dby+MY{MtF5m5r74JWN}Wa9k*XPjhfz`$Vi7H7JGoAH zKd@Z3yug*YD7!o@(YaZ~OS230Mtak7V2i@SKgIm}R6CwDou;|P#DvU}r24koOLE$o zjT-Dmt6FQ((-$ems#P-Vu1;flJaCdzIaY{V^-EJJs~pz{kE^|LaLl2R><_`>IS{cxD0kc9>5 zRX8`V1YbuqGNU)RvY>fT}u|7A9NktN|(#PbbGibyQ}hJogqn- zMU@zgbB~9D*IKPct6eVFSJx`b_3CD`a<;a6n{Csvd!|~zVZ*8^&9%tn@p9S4ynt^@SPMq8(eA|CZdBB)be2@X_-$lVvK&(gdX~wG<3#I0gu7U}|50{TGPfr( zTVlAC&6Eh8!4G}O^zC?-(i^M6u*>*O3Qf(TT7ZI{3rttq@*4H}G_(|Vv|5isZ{!Zc zS3ya)*_J%8aL6!GXmnp@mW-<8*EeG4@dBga5>mbsgL)k>Y6YC*L00+m&8>T6}yju^FPT)|W56-hl5@la)Y&L7Hm3q5fZ>(nIYMQu3o{AN2 zVjbihzF^WpLX~n7qB)u~G@LGTnX)Pq7PtNI2W&qU7O{s!{iHX1Psp2e_Y3bkyp?8V2*Dv6?kX78 ZOYw4p-{jTf>fnB0DV`uFPpPZ(e*r)2+2H^H literal 0 HcmV?d00001 diff --git a/server/controllers/staff/.get-tickets.php.swp b/server/controllers/staff/.get-tickets.php.swp new file mode 100644 index 0000000000000000000000000000000000000000..c6af777cfde4025ee6f14537ce57174ea727b369 GIT binary patch literal 12288 zcmeHNU5i^q7@kT|Y^{pk^hOwM;Ur;`?Ak(0KT?;bw88EsY|_1nVVRsWNltrm<~TEF zwXCsMR(d6ZAYOXwU+}Jo{Q-jh48aR43dLvUoFvDsTlUh*4EyBFdEd$V@w_twVc+5E zc58#4tDPknuM_fR^HKlBV?U5{ZxJ#L<6)F?qj}~?{Aa2c%1?8H^``LCDUY?Pccd6g zHicqb7YUD5nj}I(p}5@TvhIsmOA$p}LZsPfR3CF))uDffYgJ1o$-=msI0hU82Q!fB zQT6-@a^~H&RkP^SJ8#oB-?(+~dZ%#=I0hU8jseGjW56-s7;p?Y2L5*p=;R2whpb-6 zGh4}@NA^AQSNCuXI0hU8jseGjW56-s7;p?Y1{?#90mp!2;5lS~1%!NmjF8WdBY6D( zfByUb&({cf1pEj*1ik|90iOT?z<^EQec-oO3HcTH8Tbi!0Ne+rKnOfJLC9agW8in- zA@D75ANUMlKnExTF9T0rA>G4KoU9dH*I0w;l&fNv1*7r+C+#NGfd0Y`zak&hdW z0mp!2z%k$$a11yG90UJN24;j}WS?eMuh0#4hf_V_biLD}lIv8)cnuW|M^>CLbd1s| z)Bc33Oe6V+DOb8iD|KS5m{G56@xxi)ziJuH+>S~_toZEdLClKf`sK{Xx424{Um;j% z2PS6vZx1W8>cz~w8AB$33m2rF1>My5xl*OmDf(oqjgLY-xhmoy)S-w=o*xOt1A3WW z@m6TxTlEIzYC}z!Y3oF%NEmk5axkNrzGB(@`4xh8H?vaezkR zlJRcyTUKkZWWXfs=w7Weoiz`!g)_XUMqSykB1%AYoqSv|3YTGqk z(n~5S|5)=lPz82v`sSci@JHWcNtkaZy4TNa3`(aUt(x?Ax>}|_&LCIS_V70Mb2sJw zU`CMxqjnQffwP%)WmAL`j$>>sharedTicketList->toArray()); + $closed = Controller::request('closed'); + if ($closed) { + Response::respondSuccess($user->sharedTicketList->toArray()); + } else { + Response::respondSuccess($user->withCondition('closed = ?', ['0'])->sharedTicketList->toArray()); + } } -} \ No newline at end of file +} diff --git a/server/models/DataStore.php b/server/models/DataStore.php index 43ec9d22..d4310fdc 100755 --- a/server/models/DataStore.php +++ b/server/models/DataStore.php @@ -150,6 +150,10 @@ abstract class DataStore { } } + public function withCondition($condition, $values) { + return new static($this->_bean->withCondition($condition, $values)); + } + private function updateBeanProp($key, $value) { if ($value instanceof DataStoreList) { $this->_bean[$key] = $value->toBeanList();