Changeset 52f736a


Ignore:
Timestamp:
Dec 14, 2017 4:39:23 PM (2 years ago)
Author:
zzz <zzz@…>
Branches:
master
Children:
0ec39e5
Parents:
0722fd8
Message:

SusiMail?: P-R-G to config page (ticket #1373)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • apps/susimail/src/src/i2p/susi/webmail/WebMail.java

    r0722fd8 r52f736a  
    142142        private static final String SAVE_AS = "saveas";
    143143        private static final String REFRESH = "refresh";
     144        // also a GET param
    144145        private static final String CONFIGURE = "configure";
    145146        private static final String NEW = "new";
     
    579580        {
    580581                String value = request.getParameter( key );
    581                 return value != null && value.length() > 0;
     582                return value != null && (value.length() > 0 || key.equals(CONFIGURE));
    582583        }
    583584        /**
     
    15451546        /*
    15461547         * process config buttons, both entering and exiting
    1547          */
    1548         private static void processConfigButtons(SessionObject sessionObject, RequestWrapper request) {
     1548         * @param isPOST disallow button pushes if false
     1549         * @return true if we should go to config page
     1550         */
     1551        private static boolean processConfigButtons(SessionObject sessionObject, RequestWrapper request, boolean isPOST) {
    15491552                if (buttonPressed(request, CONFIGURE)) {
    15501553                        sessionObject.state = STATE_CONFIG;
    1551                         return;
     1554                        return true;
    15521555                }
    15531556                // If no config text, we can't be on the config page,
    15541557                // and we don't want to process the CANCEL button which
    15551558                // is also on the compose page.
    1556                 if (request.getParameter(CONFIG_TEXT) == null)
    1557                         return;
     1559                if (!isPOST || request.getParameter(CONFIG_TEXT) == null)
     1560                        return false;
    15581561                if (buttonPressed(request, SAVE)) {
    15591562                        try {
    15601563                                String raw = request.getParameter(CONFIG_TEXT);
    1561                                 if (raw == null)
    1562                                         return;
    15631564                                Properties props = new Properties();
    15641565                                DataHelper.loadProps(props, new ByteArrayInputStream(DataHelper.getUTF8(raw)));
     
    16121613                        sessionObject.state = (sessionObject.folder != null) ? STATE_LIST : STATE_AUTH;
    16131614                }
     1615                return false;
    16141616        }
    16151617
     
    17341736                        int oldState = sessionObject.state;
    17351737                        processStateChangeButtons( sessionObject, request, isPOST );
    1736                         if (isPOST)
    1737                                 processConfigButtons( sessionObject, request );
     1738                        if (processConfigButtons(sessionObject, request, isPOST)) {
     1739                                if (isPOST) {
     1740                                        // P-R-G
     1741                                        String q = '?' + CONFIGURE;
     1742                                        sendRedirect(httpRequest, response, q);
     1743                                        return;
     1744                                }
     1745                        }
    17381746                        int newState = sessionObject.state;
    17391747                        if (oldState != newState)
Note: See TracChangeset for help on using the changeset viewer.