Search in sources :

Example 6 with RoleHolderPresent

use of be.objectify.deadbolt.actions.RoleHolderPresent in project modules.playframework.org by playframework.

the class Modules method uploadNewVersion.

@RoleHolderPresent
public static Result uploadNewVersion(String moduleKey) {
    Result result;
    Form<ModuleVersion> form = form(ModuleVersion.class).bindFromRequest();
    User user = currentUser();
    if (form.hasErrors()) {
        result = badRequest(manageVersionsForm.render(user, Module.findByModuleKey(moduleKey), PlayVersion.getAll(), form));
    } else {
        ModuleVersion moduleVersion = form.get();
        moduleVersion.playModule = Module.findByModuleKey(moduleKey);
        moduleVersion.releaseDate = new Date();
        moduleVersion.compatibility.addAll(RequestUtils.getListFromRequest(request(), "compatibility.id", PlayVersion.FIND));
        // everything below here needs to be implemented
        moduleVersion.binaryFile = new BinaryContent();
        moduleVersion.binaryFile.content = new byte[] { 1 };
        moduleVersion.binaryFile.contentLength = 1;
        moduleVersion.save();
        moduleVersion.saveManyToManyAssociations("compatibility");
        createHistoricalEvent("Module updated - " + moduleVersion.playModule.name, String.format("%s (%s) uploaded version %s of %s", user.displayName, user.userName, moduleVersion.versionCode, moduleVersion.playModule.name));
        result = redirect(routes.Modules.myModules());
    }
    return result;
}
Also used : CurrentUser.currentUser(actions.CurrentUser.currentUser) CurrentUser(actions.CurrentUser) User(models.User) ModuleVersion(models.ModuleVersion) BinaryContent(models.BinaryContent) Date(java.util.Date) Result(play.mvc.Result) RoleHolderPresent(be.objectify.deadbolt.actions.RoleHolderPresent)

Aggregations

RoleHolderPresent (be.objectify.deadbolt.actions.RoleHolderPresent)6 CurrentUser (actions.CurrentUser)5 CurrentUser.currentUser (actions.CurrentUser.currentUser)5 Module (models.Module)5 User (models.User)5 Result (play.mvc.Result)5 VoteResponseForm (forms.modules.VoteResponseForm)2 ModuleVersion (models.ModuleVersion)2 Vote (models.Vote)2 RatingForm (forms.modules.RatingForm)1 RatingResponseForm (forms.modules.RatingResponseForm)1 Date (java.util.Date)1 BinaryContent (models.BinaryContent)1 Rate (models.Rate)1 Rating (models.Rating)1 Filter (utils.Filter)1