[#3593] further deprecate Tools link in admin menu
diff --git a/Allura/allura/ext/admin/admin_main.py b/Allura/allura/ext/admin/admin_main.py
index a9c5daf..3759098 100644
--- a/Allura/allura/ext/admin/admin_main.py
+++ b/Allura/allura/ext/admin/admin_main.py
@@ -148,7 +148,10 @@
                     SitemapEntry('Screenshots', admin_url + 'screenshots'),
                     SitemapEntry('Categorization', admin_url + 'trove')
                 ]
-        links.append(SitemapEntry('Tools', admin_url + 'tools_moved'))
+        if plugin.ProjectRegistrationProvider.get().registration_date(c.project) < datetime(2016, 6, 1):
+            # only show transitional Tools page to older projects that may be used to it
+            # no point is showing it to new projects
+            links.append(SitemapEntry('Tools', admin_url + 'tools_moved'))
         if asbool(config.get('bulk_export_enabled', True)):
             links.append(SitemapEntry('Export', admin_url + 'export'))
         if c.project.is_root and has_access(c.project, 'admin')():
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 06242c4..f449887 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -1026,7 +1026,8 @@
         '''
         Return the datetime the project was created.
         '''
-        return project._id.generation_time
+        # generation_time is offset-aware UTC, but everything else is offset-naive
+        return project._id.generation_time.replace(tzinfo=None)
 
     def details_links(self, project):
         '''Return list of pairs (url, label) with details
diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py
index 0d177ce..a98394e 100644
--- a/Allura/allura/model/artifact.py
+++ b/Allura/allura/model/artifact.py
@@ -441,8 +441,6 @@
         count_in_app = lambda: cls.query.find(dict(app_config_id=app_config._id)).count()
         provider = plugin.ProjectRegistrationProvider.get()
         start = provider.registration_date(app_config.project)
-        # need the replace because the generation_time is offset-aware UTC and h.rate_limit uses offset-naive UTC dates
-        start = start.replace(tzinfo=None)
 
         try:
             h.rate_limit(opt, count_in_app, start)