From 43f09b433f86dc81e1063e3d37d7840ec28b659f Mon Sep 17 00:00:00 2001 From: Yung Han Khoe Date: Thu, 21 May 2009 13:18:18 +0000 Subject: [PATCH] fixed #10133: Matrix compare for priv. group open to any user --- docs/changelog/7.x.x.txt | 1 + .../matrix-default-view-template.wgpkg | Bin 0 -> 3338 bytes docs/upgrades/upgrade_7.7.6-7.7.7.pl | 9 +++++ lib/WebGUI/Asset/Wobject/Matrix.pm | 34 ++++++++++++++++++ lib/WebGUI/i18n/English/Asset_Matrix.pm | 20 +++++++++++ 5 files changed, 64 insertions(+) create mode 100644 docs/upgrades/packages-7.7.7/matrix-default-view-template.wgpkg diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 4e97e4e85..e494ad60f 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -19,6 +19,7 @@ - fixed: Display of short pagination bar when there's less than 1 page of data in StoryArchive - added: Storage now has a getHexId method for returning a cached hexadecimal version of the storageId. - fixed: FilePump should copy filesystem directories and their files when given a file URI that is a directory. + - fixed #10133: Matrix compare for priv. group open to any user 7.7.6 - Added mobile style template. If enabled in settings, will serve alternate style templates diff --git a/docs/upgrades/packages-7.7.7/matrix-default-view-template.wgpkg b/docs/upgrades/packages-7.7.7/matrix-default-view-template.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..e9a1adf2e0c98989b40cecc9347618812f0f32cf GIT binary patch literal 3338 zcmV+l4fXOLiwFP!000001MM4YQ`<VNFj@zo(~r*jiitr{C}I?e4Cv_4|Xp-ND-0 z_MZHB=F?vr42J#P;qGv-+h6kr{lN}AV9M%0^IZ5Dkao)^S95;<^?*tEAd~WWe@x$W zCQ&=EzlZc^f4KEqp2QDC384Jj&Q6p5w|56S!;=2DcZR!b9!PWbpH=C9YxSf*#0vlU z0i1AMuvr@Uf?fDR_`!6>Vv(Do^f;>N8AOD@tkT!3gMUTGp z9>I#6GhbxoMp$7SVwvVe%d)X&(7m++yH?9t9in|>HCkHo1gflcl_$} zn7%iO3*3^z`1FsJv7hHmDEUgI2{3&b^kfvY zuwV-$Y6-U)vP*v+iOm}h#-TmNLi79$4?`B0ZItKlvqU6la^<0`ESaar;j54f8X62O zIx3hU~%LVn`~;L$l)|0S&TfeFFmD|959F3yD|re=N*5D?_3 zN|$mia?uU)Q0q4vGzmErN%Gc@7jHox5SYB@-o}^XSgh7k2V0pn*oS7lQ0`U zZ5*QVFW!=0Z#;gsLH4h(y=J#dkX^FdWw?w}8zG{kcnD&WMs&h1g%Q%o72{+sL=qPy zn5TX$CkM$a^)rTHL&E8}BEP}=GWTkRr@$kB!lJ4KMm;%>(FhhJ>FT6xWS7sGp9RzA z)xFB{a)#G&SzHn&hR+e%2L6Q~^VSuW5+%>k=9DxE7>v%JKzN@dS;#UFdLJTiz@jMi z!w_JdH^5xryivBC!xr$Opa`M@evL#{kPaGn=s3`X<>Dyf!F7INk$_kMNb{gcEKmC< z#FO?}IJ0IsX%u&ziW~7+8saY9N@{gcKT4;5JfE?Q2dz_q?V_~c1uCW>iqU0~%{)Iq ze+9+Zc%e-9H4I-s2p)qDSsbV>dj=7hgD;34PTvGJd>EfGF-_3R(j*7}@?w96`+Jxi zS;uiL2GE%sTUW;}MV3xzL_9rC@GxUC!eGzTNoI98nvO^k61xn4FnB-JxF@ zr!vd(=qbtsK*-9^1qvKLBQb@dkR<#7FXMpRVi}M!<|SZ`@j8&_wBJm}U@gvDNrC(guPdTM&>BIH#3Tt9Qh?GZ zqa;Z^$VoBWT;LZ{c#&C*4<$Y7^^2aXlq5q#rx{9LcbK7fa|k}2Rv<0fV1?o=$2Y0O zJJ6uK08@~zWH`!gCkCT}L|en2RW+RQE(z$YWo>YFd~p&JGlym z4XJyTTiT#ya})!B`j_bR4$!jUld%AKcGFb?98!FuJxPbA6>a)8v{LGi(Jq1v;9!yn zN&*~-Ku|UO+6X8&=wJBNR3|$m3pWBw9(1}x+@rW$keScpQ_M?M6xBfZ)Dp$NE!||c zE(%N^UnE~^5J=5IcFXgVh!OkA;W3-JoHmPLqcXlPhEvl5t6!7O(#1&M9b%P9rBgzAoz&XEsT@ z6hnP)nz2i;H|tj*aG9^4sQ9Zg0)6@bW#FQq;j$FVs%p$deX?N9pni^Oh+$N}I22G9 z0Q+URN>3_FOE?dTDGIPT5%$M=LG^S6jIUa32f~FR@{9i{0y!jcw4l1fa`}|3><;2l zag|>x+L2_rV=OtPN*2}jVo0~j#yxhqbP=knY~@<;8%R_FriW$09kG!_!|KuEh0Y~Ay96$DjCS5W333}P@@FoaH{}{o9z81pfkZ$3E@be zgKOnrMjJ(8Aljv&LxOzj5I{y-bGj{zcX595n2ZH*B#jo{TprMyMfMH-U+2(3OfD`I zWj3pJNNmPuaazG4|95+e!BDTrBpYt&lprNdxL&8o)Zg| zn7&F)-zM3gQ`JP+|Fy2A?G@s)TL93eSpet~z;iCxgQjk_XibS4q;92T4&o*@U^=I6 zb|(b%-rnEjf)!r+$DfhI$Sw2A*%m5Ue|8Igt;7^ z)l1D{@vu{~83Sgi2?JStW9-IMugn|t?#`7iGNmQZh}m{>c|3)Vi8#xm*I6=q4}H8? zwtL-+40!$F2)Zj!iK@9f!DFVbU#!a}wf(Ix?AZ0_NcRqoKGakG$R+o%Px;8T6jO z<&>kBho^_1p7g4>4W8fYu0iFVK|Pu!w+wnuK7SrR>6wcLB#Y_=gMx@`t-ab_fZEM! zuM{{-F1tohsiWTQ7J=NB3!KZE+zA%b=%zr^UTjk>ePf^@)hgT%z|$`5i1oFn@-2WW zpe(^Ghcoqwc2MUOU1`o27jNz3gOdPPYJ>f&^yqtI*;*=h;L-YNPbyrq!KkTw^Qsvy zRSmstr^SxFZPl9vc})S+bWEjP^XVTFJl=@Ju-Odhko0^?qBjy6?Ex9Lzr_>-epK=WrsGa=5jlwZ=Jc3 zDO;t-fQ-r^(`|4I({|YHFx{OMy@@^)Hzu*HWyp*+@?;>YZ0Q}@-FBK>;~t%_2lft~ zQPgy}nrzJpL-szcNneaNdhLw0YC)EO|P zI68HKiiFb&(MBl^u`L(sly2Oymtj)gLL;F`!uQNUOq4AxQootYAlNO@XpRCBOU=Pi z9T-jaY4cE-`C*Xlb_i>MvPDz)2Zn5siubxw>(qILf2IB(?fU7jJbigG`{m@r+0DPs z_|Na&^NT}^gy$a?Ih0?^^;)VF>jJdf5Ak2B-*J4Gz;_9J Um%w)kJhTM<3nQYh0suq+0PJCP8~^|S literal 0 HcmV?d00001 diff --git a/docs/upgrades/upgrade_7.7.6-7.7.7.pl b/docs/upgrades/upgrade_7.7.6-7.7.7.pl index d1f32a3d1..3f9631d2d 100644 --- a/docs/upgrades/upgrade_7.7.6-7.7.7.pl +++ b/docs/upgrades/upgrade_7.7.6-7.7.7.pl @@ -42,9 +42,18 @@ addMapAsset( $session ); installFilePumpHandler($session); installFilePumpTable($session); installFilePumpAdminGroup($session); +addMatrixMaxGroup($session); finish($session); # this line required +#---------------------------------------------------------------------------- +sub addMatrixMaxGroup { + my $session = shift; + print "\tAdding maxComparisonsGroup to Matrix..." unless $quiet; + $session->db->write("alter table Matrix add column maxComparisonsGroup char(22);"); + $session->db->write("alter table Matrix add column maxComparisonsGroupInt integer;"); + print "Done.\n" unless $quiet; +} #---------------------------------------------------------------------------- sub fixSMSUserProfileI18N { diff --git a/lib/WebGUI/Asset/Wobject/Matrix.pm b/lib/WebGUI/Asset/Wobject/Matrix.pm index ce2d26b7f..6a768f9ff 100644 --- a/lib/WebGUI/Asset/Wobject/Matrix.pm +++ b/lib/WebGUI/Asset/Wobject/Matrix.pm @@ -230,6 +230,19 @@ sub definition { hoverHelp =>$i18n->get('max comparisons privileged description'), label =>$i18n->get('max comparisons privileged label'), }, + maxComparisonsGroup=>{ + fieldType =>"group", + tab =>"properties", + hoverHelp =>$i18n->get('maxgroup description'), + label =>$i18n->get('maxgroup label'), + }, + maxComparisonsGroupInt=>{ + fieldType =>"integer", + tab =>"properties", + defaultValue =>25, + hoverHelp =>$i18n->get('maxgroup per description'), + label =>$i18n->get('maxgroup per label'), + }, groupToAdd=>{ fieldType =>"group", tab =>"security", @@ -454,6 +467,9 @@ sub getCompareForm { if($self->session->user->isVisitor){ $maxComparisons = $self->get('maxComparisons'); } + elsif($self->session->user->isInGroup( $self->get("maxComparisonsGroup") )) { + $maxComparisons = $self->get('maxComparisonsGroupInt'); + } else{ $maxComparisons = $self->get('maxComparisonsPrivileged'); } @@ -627,6 +643,21 @@ sub view { $var->{listAttributes_url} = $self->getUrl('func=listAttributes'); $var->{search_url} = $self->getUrl('func=search'); $var->{compareForm_url} = $self->getUrl(); + + my $maxComparisons; + if($self->session->user->isVisitor){ + $maxComparisons = $self->get('maxComparisons'); + } + elsif($self->session->user->isInGroup( $self->get("maxComparisonsGroup") )) { + $maxComparisons = $self->get('maxComparisonsGroupInt'); + } + else{ + $maxComparisons = $self->get('maxComparisonsPrivileged'); + } + $var->{javascript} = ""; if ($self->canEdit){ # Get all the MatrixListings that are still pending. @@ -858,6 +889,9 @@ sub www_compare { if($self->session->user->isVisitor){ $maxComparisons = $self->get('maxComparisons'); } + elsif($self->session->user->isInGroup( $self->get("maxComparisonsGroup") )) { + $maxComparisons = $self->get('maxComparisonsGroupInt'); + } else{ $maxComparisons = $self->get('maxComparisonsPrivileged'); } diff --git a/lib/WebGUI/i18n/English/Asset_Matrix.pm b/lib/WebGUI/i18n/English/Asset_Matrix.pm index 38d8422e1..9ed0b2644 100644 --- a/lib/WebGUI/i18n/English/Asset_Matrix.pm +++ b/lib/WebGUI/i18n/English/Asset_Matrix.pm @@ -427,6 +427,16 @@ listing,|, lastUpdated => 1135271460, }, + 'maxgroup per description' => { + message => q|Specifies how many comparisons are allowed for the privileged group.|, + lastUpdated => 0, + }, + + 'maxgroup description' => { + message => q|Select a group for which a specific maximum comparisons can be selected.|, + lastUpdated => 0, + }, + 'max comparisons description' => { message => q|Specifies how many comparisons are allowed in searches and comparisons.|, lastUpdated => 0, @@ -602,6 +612,16 @@ to increase performance. How long should we cache them?|, message => q|Compare Color: Yes|, lastUpdated => 0, }, + + 'maxgroup per label' => { + message => q|Maximum for Privileged Group|, + lastUpdated => 0, + }, + + 'maxgroup label' => { + message => q|Privileged Maximum Group|, + lastUpdated => 0, + }, 'max comparisons label' => { message => q|Maximum Comparisons|,