Remove UI support
This commit is contained in:
@@ -86,7 +86,7 @@ final public class NotificationService {
|
||||
|
||||
mailerService.sendEmail(formMail, collabEmail, subject, model, "newCollaboration.vm");
|
||||
} catch (Exception e) {
|
||||
handleException(e);
|
||||
logger.info(e.getMessage(), e);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -141,16 +141,10 @@ final public class NotificationService {
|
||||
logger.debug("Email properties->" + model);
|
||||
mailerService.sendEmail(mailerService.getServerSenderEmail(), user.getEmail(), mailSubject, model, "baseLayout.vm");
|
||||
} catch (Exception e) {
|
||||
handleException(e);
|
||||
logger.info(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
|
||||
private void handleException(Exception e) {
|
||||
System.err.println("An expected error has occurred trying to send an email notification. Usually, the main reason for this is that the SMTP server properties has not been configured properly. Edit the WEB-INF/app.properties file and verify the SMTP server configuration properties.");
|
||||
System.err.println("Cause:" + e.getMessage());
|
||||
|
||||
}
|
||||
|
||||
public void setMailer(MailerService mailerService) {
|
||||
this.mailerService = mailerService;
|
||||
}
|
||||
|
@@ -1,41 +0,0 @@
|
||||
/*
|
||||
* Copyright [2022] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.wisemapping.view;
|
||||
|
||||
public class ChangePasswordBean {
|
||||
|
||||
private String password;
|
||||
private String retryPassword;
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String e) {
|
||||
this.password = e;
|
||||
}
|
||||
|
||||
public String getRetryPassword() {
|
||||
return retryPassword;
|
||||
}
|
||||
|
||||
public void setRetryPassword(String e) {
|
||||
this.retryPassword = e;
|
||||
}
|
||||
}
|
@@ -1,42 +0,0 @@
|
||||
/*
|
||||
* Copyright [2022] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.wisemapping.webmvc;
|
||||
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.core.io.Resource;
|
||||
import org.springframework.core.io.support.ResourcePropertySource;
|
||||
import org.springframework.web.context.ConfigurableWebApplicationContext;
|
||||
import org.springframework.web.context.support.ServletContextResource;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ApplicationContextInitializer implements org.springframework.context.ApplicationContextInitializer<ConfigurableWebApplicationContext> {
|
||||
|
||||
public void initialize(@NotNull ConfigurableWebApplicationContext ctx) {
|
||||
try {
|
||||
final Resource resource = new ServletContextResource(Objects.requireNonNull(ctx.getServletContext()), "/WEB-INF/app.properties");
|
||||
final ResourcePropertySource resourcePropertySource = new ResourcePropertySource(resource);
|
||||
ctx.getEnvironment().getPropertySources().addFirst(resourcePropertySource);
|
||||
} catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@@ -1,167 +0,0 @@
|
||||
/*
|
||||
* Copyright [2022] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.wisemapping.webmvc;
|
||||
|
||||
|
||||
import com.wisemapping.exceptions.AccessDeniedSecurityException;
|
||||
import com.wisemapping.exceptions.MapCouldNotFoundException;
|
||||
import com.wisemapping.exceptions.MapNotPublicSecurityException;
|
||||
import com.wisemapping.exceptions.WiseMappingException;
|
||||
import com.wisemapping.model.CollaborationRole;
|
||||
import com.wisemapping.model.Mindmap;
|
||||
import com.wisemapping.model.User;
|
||||
import com.wisemapping.security.Utils;
|
||||
import com.wisemapping.service.LockManager;
|
||||
import com.wisemapping.service.MindmapService;
|
||||
import com.wisemapping.view.MindMapBean;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.context.i18n.LocaleContextHolder;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
@Controller
|
||||
@Transactional(propagation = Propagation.REQUIRED)
|
||||
public class MvcMindmapController {
|
||||
|
||||
@Qualifier("mindmapService")
|
||||
@Autowired
|
||||
private MindmapService mindmapService;
|
||||
|
||||
@RequestMapping(value = "c/maps/{id}/print")
|
||||
public String showPrintPage(@PathVariable int id, @NotNull Model model) throws MapCouldNotFoundException, AccessDeniedSecurityException {
|
||||
|
||||
final MindMapBean mindmap = findMindmapBean(id);
|
||||
model.addAttribute("principal", Utils.getUser());
|
||||
model.addAttribute("mindmap", mindmap);
|
||||
model.addAttribute("creatorFullName", mindmap.getCreator().getFullName());
|
||||
final Locale locale = LocaleContextHolder.getLocale();
|
||||
model.addAttribute("locale", locale.toString().toLowerCase());
|
||||
return "mindmapViewonly";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/maps/")
|
||||
public String showListPage(@NotNull Model model) {
|
||||
return "reactInclude";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/maps/{id}/edit", method = RequestMethod.GET)
|
||||
public String showMindmapEditorPage(@PathVariable int id, @NotNull Model model) throws WiseMappingException {
|
||||
return showEditorPage(id, model, true);
|
||||
}
|
||||
|
||||
private String showEditorPage(int id, @NotNull final Model model, boolean requiresLock) throws WiseMappingException {
|
||||
final MindMapBean mindmapBean = findMindmapBean(id);
|
||||
final Mindmap mindmap = mindmapBean.getDelegated();
|
||||
final User user = Utils.getUser();
|
||||
final Locale locale = LocaleContextHolder.getLocale();
|
||||
|
||||
// Is the mindmap locked ?.
|
||||
boolean isLocked = false;
|
||||
boolean readOnlyMode = !requiresLock || !mindmap.hasPermissions(user, CollaborationRole.EDITOR);
|
||||
if (!readOnlyMode) {
|
||||
final LockManager lockManager = this.mindmapService.getLockManager();
|
||||
if (lockManager.isLocked(mindmap) && !lockManager.isLockedBy(mindmap, user)) {
|
||||
isLocked = true;
|
||||
}
|
||||
model.addAttribute("lockInfo", lockManager.getLockInfo(mindmap));
|
||||
}
|
||||
// Set render attributes ...
|
||||
model.addAttribute("mindmap", mindmapBean);
|
||||
|
||||
// Configure default locale for the editor ...
|
||||
model.addAttribute("locale", locale.toString().toLowerCase());
|
||||
model.addAttribute("principal", user);
|
||||
model.addAttribute("mindmapLocked", isLocked);
|
||||
|
||||
return "mindmapEditor";
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/maps/{id}/view", method = RequestMethod.GET)
|
||||
public String showMindmapViewerPage(@PathVariable int id, @NotNull Model model) throws WiseMappingException {
|
||||
final String result = showPrintPage(id, model);
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/maps/{id}/try", method = RequestMethod.GET)
|
||||
@PreAuthorize("permitAll()")
|
||||
public String showMindmapTryPage(@PathVariable int id, @NotNull Model model) throws WiseMappingException {
|
||||
return showEditorPage(id, model, false);
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/maps/{id}/{hid}/view", method = RequestMethod.GET)
|
||||
public String showMindmapViewerRevPage(@PathVariable int id, @PathVariable int hid, @NotNull Model model) throws WiseMappingException {
|
||||
final String result = showPrintPage(id, model);
|
||||
model.addAttribute("hid", String.valueOf(hid));
|
||||
return result;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/maps/{id}/embed")
|
||||
@PreAuthorize("permitAll()")
|
||||
public ModelAndView showEmbeddedPage(@PathVariable int id, @RequestParam(required = false) Float zoom) throws MapCouldNotFoundException, MapNotPublicSecurityException, AccessDeniedSecurityException {
|
||||
if (!mindmapService.isMindmapPublic(id)) {
|
||||
throw new MapNotPublicSecurityException("Map " + id + " is not public.");
|
||||
}
|
||||
|
||||
final MindMapBean mindmap = findMindmapBean(id);
|
||||
final ModelAndView view = new ModelAndView("mindmapViewonly", "mindmap", mindmap);
|
||||
view.addObject("zoom", zoom == null ? 1 : zoom);
|
||||
final Locale locale = LocaleContextHolder.getLocale();
|
||||
view.addObject("locale", locale.toString().toLowerCase());
|
||||
return view;
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/maps/{id}/public", method = RequestMethod.GET)
|
||||
@PreAuthorize("permitAll()")
|
||||
public String showPublicViewPage(@PathVariable int id, @NotNull Model model) throws WiseMappingException {
|
||||
if (!mindmapService.isMindmapPublic(id)) {
|
||||
throw new MapNotPublicSecurityException("Map " + id + " is not public.");
|
||||
}
|
||||
return this.showPrintPage(id, model);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private Mindmap findMindmap(int mapId) throws MapCouldNotFoundException {
|
||||
final Mindmap result = mindmapService.findMindmapById(mapId);
|
||||
if (result == null) {
|
||||
throw new MapCouldNotFoundException("Map could not be found " + mapId);
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private MindMapBean findMindmapBean(int mapId) throws MapCouldNotFoundException, AccessDeniedSecurityException {
|
||||
final User user = Utils.getUser();
|
||||
if (!mindmapService.hasPermissions(user, mapId, CollaborationRole.VIEWER)) {
|
||||
throw new AccessDeniedSecurityException(mapId, user);
|
||||
}
|
||||
|
||||
final Mindmap mindmap = findMindmap(mapId);
|
||||
return new MindMapBean(mindmap, Utils.getUser());
|
||||
}
|
||||
}
|
@@ -1,68 +0,0 @@
|
||||
/*
|
||||
* Copyright [2022] [wisemapping]
|
||||
*
|
||||
* Licensed under WiseMapping Public License, Version 1.0 (the "License").
|
||||
* It is basically the Apache License, Version 2.0 (the "License") plus the
|
||||
* "powered by wisemapping" text requirement on every single page;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the license at
|
||||
*
|
||||
* http://www.wisemapping.org/license
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package com.wisemapping.webmvc;
|
||||
|
||||
|
||||
import com.wisemapping.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMethod;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
@Controller
|
||||
public class MvcUsersController {
|
||||
|
||||
@Qualifier("userService")
|
||||
@Autowired
|
||||
private UserService userService;
|
||||
|
||||
@RequestMapping(value = "c/forgot-password", method = RequestMethod.GET)
|
||||
@PreAuthorize("permitAll()")
|
||||
public ModelAndView showResetPasswordPage() {
|
||||
return new ModelAndView("reactInclude");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/registration-google", method = RequestMethod.GET)
|
||||
@PreAuthorize("permitAll()")
|
||||
public ModelAndView processGoogleCallback() {
|
||||
return new ModelAndView("reactInclude");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/registration", method = RequestMethod.GET)
|
||||
@PreAuthorize("permitAll()")
|
||||
public ModelAndView showRegistrationPage() {
|
||||
return new ModelAndView("reactInclude");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/registration-success", method = RequestMethod.GET)
|
||||
@PreAuthorize("permitAll()")
|
||||
public ModelAndView showRegistrationSuccess() {
|
||||
return new ModelAndView("reactInclude");
|
||||
}
|
||||
|
||||
@RequestMapping(value = "c/forgot-password-success", method = RequestMethod.GET)
|
||||
@PreAuthorize("permitAll()")
|
||||
public ModelAndView showResetPasswordSuccess() {
|
||||
return new ModelAndView("reactInclude");
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user