You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by br...@apache.org on 2014/11/17 20:43:20 UTC

[14/15] allura git commit: [#7704] ticket:683 Add migration to set user.pending to False

[#7704] ticket:683 Add migration to set user.pending to False


Project: http://git-wip-us.apache.org/repos/asf/allura/repo
Commit: http://git-wip-us.apache.org/repos/asf/allura/commit/28cd9769
Tree: http://git-wip-us.apache.org/repos/asf/allura/tree/28cd9769
Diff: http://git-wip-us.apache.org/repos/asf/allura/diff/28cd9769

Branch: refs/heads/master
Commit: 28cd9769726f330aad8578b0cb57d29a6e94a624
Parents: 4b6db4a
Author: Igor Bondarenko <je...@gmail.com>
Authored: Wed Nov 12 11:28:40 2014 +0000
Committer: Dave Brondsema <db...@slashdotmedia.com>
Committed: Mon Nov 17 19:18:05 2014 +0000

----------------------------------------------------------------------
 .../migrations/031-set-user-pending-to-false.py | 39 ++++++++++++++++++++
 1 file changed, 39 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/allura/blob/28cd9769/scripts/migrations/031-set-user-pending-to-false.py
----------------------------------------------------------------------
diff --git a/scripts/migrations/031-set-user-pending-to-false.py b/scripts/migrations/031-set-user-pending-to-false.py
new file mode 100644
index 0000000..02d35d9
--- /dev/null
+++ b/scripts/migrations/031-set-user-pending-to-false.py
@@ -0,0 +1,39 @@
+#       Licensed to the Apache Software Foundation (ASF) under one
+#       or more contributor license agreements.  See the NOTICE file
+#       distributed with this work for additional information
+#       regarding copyright ownership.  The ASF licenses this file
+#       to you 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.
+
+import logging
+
+from ming.odm import ThreadLocalORMSession, state
+
+from allura.lib import utils
+from allura import model as M
+
+log = logging.getLogger(__name__)
+
+
+def main():
+    for chunk in utils.chunked_find(M.User):
+        for user in chunk:
+            print 'Processing {0}'.format(user.username)
+            user.pending = False
+            # Ming doesn't mark document for update, since pending is False
+            # by default, even if field is missing from mongo
+            state(user).status = state(user).dirty
+            ThreadLocalORMSession.flush_all()
+
+if __name__ == '__main__':
+    main()