From 991ac55a01f541ea610ebf175a7bfa29d15ddcdd Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Wed, 11 Feb 2009 23:20:20 +0000 Subject: [PATCH] Thread sticky and locked handling. Form vars are now exposed in all post forms. Editing a thread does not clear the isSticky and isLocked flags. --- docs/changelog/7.x.x.txt | 1 + .../packages-7.6.12/default_post_form.wgpkg | Bin 0 -> 1381 bytes .../default_submission_form.wgpkg | Bin 0 -> 1488 bytes .../packages-7.6.12/faq_submission_form.wgpkg | Bin 0 -> 1406 bytes .../packages-7.6.12/job_submission_form.wgpkg | Bin 0 -> 1553 bytes .../link_list_submission_form.wgpkg | Bin 0 -> 1529 bytes .../request-tracker-template2.wgpkg | Bin 0 -> 1724 bytes lib/WebGUI/Asset/Post.pm | 53 ++++++++++-------- 8 files changed, 31 insertions(+), 23 deletions(-) create mode 100644 docs/upgrades/packages-7.6.12/default_post_form.wgpkg create mode 100644 docs/upgrades/packages-7.6.12/default_submission_form.wgpkg create mode 100644 docs/upgrades/packages-7.6.12/faq_submission_form.wgpkg create mode 100644 docs/upgrades/packages-7.6.12/job_submission_form.wgpkg create mode 100644 docs/upgrades/packages-7.6.12/link_list_submission_form.wgpkg create mode 100644 docs/upgrades/packages-7.6.12/request-tracker-template2.wgpkg diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 13e08d7eb..e36b46297 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -1,6 +1,7 @@ 7.6.12 - fixed: During postback on a recurring transaction, the routine could error out instead of catching an error. - fixed: Do not show the Edit entry in the More menu in the asset manager if the asset is locked. + - fixed #9677: no output from form helper template variable sticky.form and stick.label 7.6.11 - fixed: Asset Manager can generate URLs that are too long diff --git a/docs/upgrades/packages-7.6.12/default_post_form.wgpkg b/docs/upgrades/packages-7.6.12/default_post_form.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..28e531cd971296f0bdfe20ddcde9021b511ae73d GIT binary patch literal 1381 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 M0N+b0^Z*zD0IR6Ir2qf` literal 0 HcmV?d00001 diff --git a/docs/upgrades/packages-7.6.12/job_submission_form.wgpkg b/docs/upgrades/packages-7.6.12/job_submission_form.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..a0785faa5d11060f528be038e1e054c7cecb9234 GIT binary patch literal 1553 zcmV+s2JZPEiwFP!00000|Ls_9Z`(Ey_UHZz!Jik~lH;WIyZ}ksv?Kd zZ6>m)l2lx;$ba7*sTW$7<9JJeeux5CitczX&mE6y~V$;)4fR78MjJ`Y)Rw_aZ&sgUc*=p0rT)4>+fImt61=u3dN|zx0($(Ln77t?=csO28WsyC1I$SAlVm`0Oe?bi|Xxq zPJmsewETLUj6x=-G$@D>oquIfz~_2Zt02fl#AC@;_0aE1kdKrES7f58^}bY#kUDA+ z)87Vl1q@AJ%0c~L5GgVWY2%iUE|bxWNy&J0!o|!{!65oEhz4rRBegRoGZrp-L@*Nm zn!lCoAKL523f?>nqE#Wsu#`q>TR~Irkrkk55cQkdAuzvygU=%>uAvZ}24#E`5$adq z%ZPc_Fysh-Wz}OnziRKqLL$EtX6KPvXhB0ZCMKRi4&0-#)$=eG-G&Agp*o#FsM5$SW7$THwl0O00r#c@gW~2@U8?m ziwnkopo|hWc49&A8J#y2Qz1R*#|Qnt`@e;v6V!3qeS4?N}{(>B5;%>_L~qh6TB2shsiHA4i^U6DJ;n$oKY#E zCN-w8%c*FDWJE)d2s{vb%|$~=D;7d7R4=mQn2Nx>!#$EN(4w(gY@JxPADC}K8#Yk* z99Uk#-n^y0%H07XCg>`o&d>(hh6$K)!DA+Qy^ajI46=N6*_bpt*J~-^{Fq~iy0Lkq z+W+BNb|7rVFX#ME5TZ8$mA+uHg5zSdx{Xk7!cNd{2@`Y%hl$**&MpNye2uA^g#=FD zt+U1FvzSJbJk3u_vAaHR9&GlzmrjMYfT%Tz1#Y<`#PB4owgve_GWZL2fZ zGywU(x>jcY;eA=BRP5S{oWfJWWg{i%93IG9sXMOk(9vv9HOfcwfcL zytU60->e)i<*qGc{gNsKHMdFQOi0P4QYvTJsFAhKsr=A`Z3zxun7+$82vK_@ZIiHO zr5nURmLJQyl~qMeOQD7vp3;CEy5GQXBTjeMP`JsW_xu4k5tuNH+wJ#QXQ zNi?aNM)lZm4kL)3Q@+yChwIZ`?-0kMUhgU!Rr28#hh8XZY|LP4#lhC~+Pm#;d)Hl^ zer{mA&^-HvF}mT=FF)~-bD584&dJhvChu5$&K0OJC!}6sA;2V#R+#w4h(duLoi1Ti z)r5B2v+P175;G%{7^eDrd-8^}GP%N8XtQ-O5sY$aV!l}K0nnT0t`47 zWH_A4nD_>jV;(|vg%2dyAvN*5UJe_Le6fhtMTHJUCh52>Iyd)0@^-v)q=tXSUZRHX z<^Ew|4U?A(2}82>)$$QyuD`ZaMP2)!!CJTM*I!|lfN?#@*Unyduh0nbgk6@J_u>5a zL-|Md?ftO~Tc5tn$MdtD$)t{7f*#&HJjaKoR~fGeydv<5z$*ej6$1YP=dv9x02}}S DkH+_A literal 0 HcmV?d00001 diff --git a/docs/upgrades/packages-7.6.12/link_list_submission_form.wgpkg b/docs/upgrades/packages-7.6.12/link_list_submission_form.wgpkg new file mode 100644 index 0000000000000000000000000000000000000000..6f369f0bf99ec18e7f2cda1b5547bbd71551434e GIT binary patch literal 1529 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 S2s|QCkHEhUB+qgH8UO%WGfPqc literal 0 HcmV?d00001 diff --git a/lib/WebGUI/Asset/Post.pm b/lib/WebGUI/Asset/Post.pm index 5b8d35aac..9715706ec 100644 --- a/lib/WebGUI/Asset/Post.pm +++ b/lib/WebGUI/Asset/Post.pm @@ -929,30 +929,32 @@ sub paste { sub processPropertiesFromFormPost { my $self = shift; $self->SUPER::processPropertiesFromFormPost; - my $i18n = WebGUI::International->new($self->session); - if ($self->session->form->process("assetId") eq "new") { + my $session = $self->session; + my $form = $session->form; + my $i18n = WebGUI::International->new($session); + if ($form->process("assetId") eq "new") { my %data = ( - ownerUserId => $self->session->user->userId, - username => $self->session->form->process("visitorName") || $self->session->user->profileField("alias") || $self->session->user->username, + ownerUserId => $session->user->userId, + username => $form->process("visitorName") || $session->user->profileField("alias") || $session->user->username, ); $self->update(\%data); - if ($self->getThread->getParent->canEdit) { - $self->getThread->lock if ($self->session->form->process('lock')); - $self->getThread->stick if ($self->session->form->process("stick")); - } } # force the value to be empty so it gets updated properly by content - $self->update({synopsis => ($self->session->form->process("synopsis") || "")}); - if ($self->session->form->process("archive") && $self->getThread->getParent->canModerate) { + $self->update({synopsis => ($form->process("synopsis") || "")}); + if ($form->process("archive") && $self->getThread->getParent->canModerate) { $self->getThread->archive; } elsif ($self->getThread->get("status") eq "archived") { $self->getThread->unarchive; } - if ($self->session->form->process("subscribe")) { + if ($form->process("subscribe")) { $self->getThread->subscribe; } else { $self->getThread->unsubscribe; + } + if ($self->getThread->getParent->canEdit) { + $form->process('isLocked') ? $self->getThread->lock : $self->getThread->unlock; + $form->process('isSticky') ? $self->getThread->stick : $self->getThread->unstick; } delete $self->{_storageLocation}; $self->postProcess; @@ -1229,14 +1231,16 @@ sub www_edit { my (%var, $content, $title, $synopsis); my $i18n = WebGUI::International->new($session); + + + my $className = $form->process("class","className") || $self->get('className'); if ($func eq "add" || ($func eq "editSave" && $form->process("assetId") eq "new")) { # new post - #Add Form Header for all new posts - my $className = $form->process("class","className"); #Post to the parent if this is a new request my $action = $self->getParent->getUrl; #Post to self if there was an error Posting to a Thread (not a Collaboration) $action = $self->getUrl if($func eq "editSave" && $className ne "WebGUI::Asset::Post::Thread"); + #Add Form Header for all new posts $var{'form.header'} = WebGUI::Form::formHeader($session,{ action=>$action }); @@ -1304,16 +1308,6 @@ sub www_edit { return $privilege->insufficient() unless ($self->getThread->getParent->canPost); $var{'isThread' } = 1; $var{'isNewThread' } = 1; - if ($self->getThread->getParent->canEdit) { - $var{'sticky.form'} = WebGUI::Form::yesNo($session, { - name=>'stick', - value=>$form->process("stick") - }); - $var{'lock.form' } = WebGUI::Form::yesNo($session, { - name=>'lock', - value=>$form->process('lock') - }); - } my $subscribe = $form->process("subscribe"); $var{'subscribe.form'} = WebGUI::Form::yesNo($session, { name=>"subscribe", @@ -1429,6 +1423,19 @@ sub www_edit { value=>$content, richEditId=>$self->getThread->getParent->get("richEditor") }); + ##Edit variables just for Threads + $session->log->warn("className: $className"); + $session->log->warn("canEdit parent: ". $self->getThread->getParent->canEdit); + if ($className eq 'WebGUI::Asset::Post::Thread' && $self->getThread->getParent->canEdit) { + $var{'sticky.form'} = WebGUI::Form::yesNo($session, { + name=>'isSticky', + value=>$form->process('isSticky') || $self->get('isSticky'), + }); + $var{'lock.form' } = WebGUI::Form::yesNo($session, { + name=>'isLocked', + value=>$form->process('isLocked') || $self->get('isLocked'), + }); + } $var{'form.submit'} = WebGUI::Form::submit($session, { extras=>"onclick=\"this.value='".$i18n->get(452)."'; this.form.func.value='editSave';return true;\"" });