Ignore:
Timestamp:
Mar 3, 2011, 8:02:44 PM (9 years ago)
Author:
work@…
Message:
  • did some more restyling of the home page (ticket #339)
    • statistics
    • introductionary texts
    • quick search
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/grails-app/domain/dbnp/studycapturing/Study.groovy

    r1571 r1584  
    520520
    521521        /**
     522         * Returns the number of public studies
     523         * @return int
     524         */
     525        public static countPublicStudies() { return countPublicStudies(true) }
     526        public static countPublicStudies(boolean published) {
     527                def c = Study.createCriteria()
     528                return c.count {
     529                        and {
     530                                eq("published", published)
     531                                eq("publicstudy", true)
     532                        }
     533                }
     534        }
     535
     536        /**
     537         * Returns the number of private studies
     538         * @return int
     539         */
     540        public static countPrivateStudies() { return countPrivateStudies(false) }
     541        public static countPrivateStudies(boolean published) {
     542                def c = Study.createCriteria()
     543                return c.count {
     544                        and {
     545                                eq("publicstudy", false)
     546                        }
     547                        or {
     548                                eq("published", published)
     549                                eq("publicstudy", true)
     550                        }
     551                }
     552        }
     553
     554        /**
    522555         * Returns the number of studies that are readable by the given user
    523556         */
     
    525558                def c = Study.createCriteria()
    526559
    527                 // Administrators are allowed to read everything
     560                // got a user?
    528561                if (user == null) {
    529562                        return c.count {
     
    534567                        }
    535568                } else if (user.hasAdminRights()) {
    536                         return Study.count();
     569                        // Administrators are allowed to read everything
     570                        return Study.count()
    537571                } else {
    538572                        return c.count {
     
    554588
    555589        /**
     590         * Returns the number of studies that are readable & writable by the given user
     591         */
     592        public static countReadableAndWritableStudies(SecUser user) {
     593                def c = Study.createCriteria()
     594
     595                // got a user?
     596                if (user == null) {
     597                        return 0
     598                } else if (user.hasAdminRights()) {
     599                        return Study.count()
     600                } else {
     601                        return c.count {
     602                                or {
     603                                        eq("owner", user)
     604                                        writers {
     605                                                eq("id", user.id)
     606                                        }
     607                                }
     608                        }
     609                }
     610        }
     611
     612        /**
    556613         * Returns the UUID of this study and generates one if needed
    557614         */
Note: See TracChangeset for help on using the changeset viewer.