org.homiefund.web.controllers.UserController.java Source code

Java tutorial

Introduction

Here is the source code for org.homiefund.web.controllers.UserController.java

Source

/**
 * Copyright  2016 REPLACE ME OWNER (REPLACE ME YEAR)
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * 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 org.homiefund.web.controllers;

import org.dozer.Mapper;
import org.homiefund.api.service.InviteService;
import org.homiefund.api.service.UserService;
import org.homiefund.web.forms.UserForm;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.validation.Valid;

/**
 * Created by Dominik Szalai - emptulik at gmail.com on 27.9.2016.
 */
@Controller
@RequestMapping("/auth/profile")
public class UserController {
    @Autowired
    private UserService userService;
    @Autowired
    private InviteService inviteService;
    @Autowired
    private Mapper mapper;

    @GetMapping("/")
    public String getProfile(Model model) {
        model.addAttribute("userProfile", mapper.map(userService.getProfile(), UserForm.class));

        return "profile";
    }

    @PostMapping("/")
    public String changeProfile(@Valid @ModelAttribute UserForm userForm, BindingResult bindingResult,
            Model model) {

        return "redirect:/auth/";
    }

    @GetMapping("/invite/{token}")
    public String acceptInvite(@PathVariable String token) {
        inviteService.acceptInvite(token);

        return "redirect:/auth/home/";
    }

    //    @PostMapping(value = "/token/")
    //    public String token(@ModelAttribute InviteToken inviteToken){
    //        inviteService.acceptInvite(inviteToken.getInviteToken());
    //
    //        return "redirect:/auth/home/";
    //    }
}