Closed chillu closed 6 years ago
See https://github.com/silverstripe-terraformers/silverstripe-embargo-expiry/issues/12 for a potential UX solution to this issue.
<!DOCTYPE html><html><head><title>POST /admin/pages/edit/EditForm/2/</title><link rel="stylesheet" type="text/css" href="/resources/silverstripe/framework/client/styles/debug.css?m=1511148410" /></head><body><div class="header info error"><h1>[Emergency] Uncaught LogicException: The current member does not have permission to publish this ChangeSet.</h1><h3>POST /admin/pages/edit/EditForm/2/</h3><p>Line <strong>134</strong> in <strong>/var/www/mysite/www/vendor/silverstripe/versioned/src/ChangeSet.php</strong></p></div><div class="info"><h3>Source</h3><pre><span>125</span> "ChangeSet can't be published if it has been already published or reverted." <span>126</span> ); <span>127</span> } <span>128</span> if (!$this->isSynced()) { <span>129</span> throw new ValidationException( <span>130</span> "ChangeSet does not include all necessary changes and cannot be published." <span>131</span> ); <span>132</span> } <span>133</span> if (!$this->canPublish()) { <span>134</span> <span class="error"> throw new LogicException("The current member does not have permission to publish this ChangeSet."); </span><span>135</span> } <span>136</span> <span>137</span> DB::get_conn()->withTransaction(function () { <span>138</span> foreach ($this->Changes() as $change) { <span>139</span> /** @var ChangeSetItem $change */ <span>140</span> $change->publish(); </pre></div><div class="info"><h3>Trace</h3><ul><li><b>SilverStripe\Versioned\ChangeSet->publish()</b> <br /> Versioned.php:1484</li> <li><b>SilverStripe\Versioned\Versioned->publishRecursive()</b> <br /> </li> <li><b>call_user_func_array(Array, Array)</b> <br /> Extensible.php:144</li> <li><b>SilverStripe\View\ViewableData->SilverStripe\Core\{closure}(Page, Array)</b> <br /> CustomMethods.php:61</li> <li><b>SilverStripe\View\ViewableData->__call(publishRecursive, Array)</b> <br /> CMSMain.php:1628</li> <li><b>SilverStripe\CMS\Controllers\CMSMain->save(Array, SilverStripe\Forms\Form)</b> <br /> CMSMain.php:1843</li> <li><b>SilverStripe\CMS\Controllers\CMSMain->publish(Array, SilverStripe\Forms\Form, SilverStripe\Control\HTTPRequest, SilverStripe\Admin\LeftAndMainFormRequestHandler)</b> <br /> FormRequestHandler.php:231</li> <li><b>SilverStripe\Forms\FormRequestHandler->httpSubmission(SilverStripe\Control\HTTPRequest)</b> <br /> RequestHandler.php:320</li> <li><b>SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest, httpSubmission)</b> <br /> RequestHandler.php:201</li> <li><b>SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest)</b> <br /> RequestHandler.php:225</li> <li><b>SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest)</b> <br /> Controller.php:207</li> <li><b>SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest)</b> <br /> LeftAndMain.php:750</li> <li><b>SilverStripe\Admin\LeftAndMain->handleRequest(SilverStripe\Control\HTTPRequest)</b> <br /> AdminRootController.php:123</li> <li><b>SilverStripe\Admin\AdminRootController->handleRequest(SilverStripe\Control\HTTPRequest)</b> <br /> Director.php:360</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> VersionedHTTPMiddleware.php:40</li> <li><b>SilverStripe\Versioned\VersionedHTTPMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> AuthenticationMiddleware.php:61</li> <li><b>SilverStripe\Security\AuthenticationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> CanonicalURLMiddleware.php:155</li> <li><b>SilverStripe\Control\Middleware\CanonicalURLMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> FlushMiddleware.php:26</li> <li><b>SilverStripe\Control\Middleware\FlushMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> RequestProcessor.php:66</li> <li><b>SilverStripe\Control\RequestProcessor->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> SessionMiddleware.php:20</li> <li><b>SilverStripe\Control\Middleware\SessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> AllowedHostsMiddleware.php:60</li> <li><b>SilverStripe\Control\Middleware\AllowedHostsMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> TrustedProxyMiddleware.php:176</li> <li><b>SilverStripe\Control\Middleware\TrustedProxyMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> HTTPMiddlewareAware.php:65</li> <li><b>SilverStripe\Control\Director->callMiddleware(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> Director.php:369</li> <li><b>SilverStripe\Control\Director->handleRequest(SilverStripe\Control\HTTPRequest)</b> <br /> HTTPApplication.php:48</li> <li><b>SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> </li> <li><b>call_user_func(Closure, SilverStripe\Control\HTTPRequest)</b> <br /> HTTPApplication.php:66</li> <li><b>SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> </li> <li><b>call_user_func(Closure, SilverStripe\Control\HTTPRequest)</b> <br /> ErrorControlChainMiddleware.php:56</li> <li><b>SilverStripe\Core\Startup\ErrorControlChainMiddleware->SilverStripe\Core\Startup\{closure}(SilverStripe\Core\Startup\ErrorControlChain)</b> <br /> </li> <li><b>call_user_func(Closure, SilverStripe\Core\Startup\ErrorControlChain)</b> <br /> ErrorControlChain.php:236</li> <li><b>SilverStripe\Core\Startup\ErrorControlChain->step()</b> <br /> ErrorControlChain.php:226</li> <li><b>SilverStripe\Core\Startup\ErrorControlChain->execute()</b> <br /> ErrorControlChainMiddleware.php:69</li> <li><b>SilverStripe\Core\Startup\ErrorControlChainMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPMiddlewareAware.php:62</li> <li><b>SilverStripe\Control\HTTPApplication->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)</b> <br /> HTTPMiddlewareAware.php:65</li> <li><b>SilverStripe\Control\HTTPApplication->callMiddleware(SilverStripe\Control\HTTPRequest, Closure)</b> <br /> HTTPApplication.php:67</li> <li><b>SilverStripe\Control\HTTPApplication->execute(SilverStripe\Control\HTTPRequest, Closure, )</b> <br /> HTTPApplication.php:49</li> <li><b>SilverStripe\Control\HTTPApplication->handle(SilverStripe\Control\HTTPRequest)</b> <br /> index.php:17</li> </ul></div></body></html>
See https://github.com/silverstripe-terraformers/silverstripe-embargo-expiry/issues/12 for a potential UX solution to this issue.