Search in sources :

Example 1 with ModuleVersion

use of models.ModuleVersion in project modules.playframework.org by playframework.

the class Modules method details.

public static Result details(String moduleKey) {
    Result result;
    final Module module = Module.findByModuleKey(moduleKey);
    if (module == null) {
        result = notFound("Module not found: " + moduleKey);
    } else {
        List<ModuleVersion> moduleVersions = ModuleVersion.findByModule(module);
        User user = currentUser();
        Rate rate = null;
        Vote vote = null;
        if (user != null) {
            rate = CollectionUtils.filterFirst(user.rates, new Filter<Rate>() {

                public boolean isAcceptable(Rate rate) {
                    return rate.playModule.id.equals(module.id);
                }
            });
            vote = CollectionUtils.filterFirst(user.votes, new Filter<Vote>() {

                public boolean isAcceptable(Vote vote) {
                    return vote.playModule.id.equals(module.id);
                }
            });
        }
        Set<PlayVersion.MajorVersion> majorVersions = new HashSet<PlayVersion.MajorVersion>();
        for (ModuleVersion moduleVersion : moduleVersions) {
            majorVersions.addAll(moduleVersion.getMajorVersions());
        }
        Ebean.refresh(module.rating);
        result = ok(moduleDetails.render(user, module, moduleVersions, majorVersions, rate, vote));
    }
    return result;
}
Also used : Vote(models.Vote) CurrentUser.currentUser(actions.CurrentUser.currentUser) CurrentUser(actions.CurrentUser) User(models.User) ModuleVersion(models.ModuleVersion) Filter(utils.Filter) Rate(models.Rate) PlayVersion(models.PlayVersion) Module(models.Module) Result(play.mvc.Result) HashSet(java.util.HashSet)

Example 2 with ModuleVersion

use of models.ModuleVersion in project modules.playframework.org by playframework.

the class Modules method showVersionManagement.

@RoleHolderPresent
public static Result showVersionManagement(String moduleKey) {
    Form<ModuleVersion> form = form(ModuleVersion.class);
    Module module = Module.findByModuleKey(moduleKey);
    return ok(manageVersionsForm.render(currentUser(), module, PlayVersion.getAll(), form));
}
Also used : ModuleVersion(models.ModuleVersion) Module(models.Module) RoleHolderPresent(be.objectify.deadbolt.actions.RoleHolderPresent)

Example 3 with ModuleVersion

use of models.ModuleVersion 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

ModuleVersion (models.ModuleVersion)3 CurrentUser (actions.CurrentUser)2 CurrentUser.currentUser (actions.CurrentUser.currentUser)2 RoleHolderPresent (be.objectify.deadbolt.actions.RoleHolderPresent)2 Module (models.Module)2 User (models.User)2 Result (play.mvc.Result)2 Date (java.util.Date)1 HashSet (java.util.HashSet)1 BinaryContent (models.BinaryContent)1 PlayVersion (models.PlayVersion)1 Rate (models.Rate)1 Vote (models.Vote)1 Filter (utils.Filter)1