savannah-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-cvs] [SCM] Savane-cleanup framework branch, master, updated. a


From: Sylvain Beucler
Subject: [Savannah-cvs] [SCM] Savane-cleanup framework branch, master, updated. a5594e32ae3819ea32e62000957dee5ef3c9219b
Date: Tue, 28 Jul 2009 10:37:43 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Savane-cleanup framework".

The branch, master has been updated
       via  a5594e32ae3819ea32e62000957dee5ef3c9219b (commit)
      from  f93c1b30d1caf97e40a13eba478e3aea6f0bd2af (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/savane-cleanup/framework.git/commit/?id=a5594e32ae3819ea32e62000957dee5ef3c9219b

commit a5594e32ae3819ea32e62000957dee5ef3c9219b
Author: Sylvain Beucler <address@hidden>
Date:   Tue Jul 28 12:37:23 2009 +0200

    Import script for groups->svmain_extendedgroup and 
group_type->svmain_groupconfiguration

diff --git a/MIGRATION.txt b/MIGRATION.txt
index 8d9506f..ec89cc7 100644
--- a/MIGRATION.txt
+++ b/MIGRATION.txt
@@ -1,9 +1,232 @@
 - users:
+  - clean-up duplicate users
   - cf. migrate_old_savane.sql
   - fill-in is_staff and is_superuser
 - groups:
   - SQL
   - licenses: content/hashes.txt -> svmain_license
-  - develompent_status: content/hashes.txt -> svmain_develomentstatus
+    + there's a special 'none' ('N/A') value
+    group field type: slug (e.g. 'gpl', 'gplv3orlater')
+  - development_status: content/hashes.txt -> svmain_develomentstatus (ids)
+    group field type: id (e.g. '4')
+    I think we can ignore the hashes.txt comment about id=7 for 'N/A'
 - group configurations (group_type):
   - 
+
+Users
+=====
+
+To remove duplicate users *FOR TESTING*:
+(TODO: need to remove only the duplicate, not both)
+DELETE FROM user WHERE user_name IN 
('adiebald','alkana','andersgh','andrenix','animalfarm','antigerme','baravalle','Bassslinger','blitzkerk','bolek11','brawil1','brijesh_gadhiya','caribe','caterkiller2001','cce','chawil','conan','cux221','dave_san','ddavies','doudou61','dungeon','elektroland','emil5','ericclaassen','espahr','fcattoen','gauntlet','Gerardoco','Gonzalvez','GOOS','grubthosch','hans-peter','heikorah','helen','jaguaryou','jezdikm','JonGretar','kodion','kpc82','kumud','lamborghini0102','markm','mbaruchel','mdopheide','moocha','Netsnipe','osia','otello','pepex82','phgbest007','planetstar','plijnzaad','plomo00','Progenator','pthom','puyo','qemm','quaxter','rafaelrt','rdunphy','realshitok','roeles','rubenperez','scorbeau','seb_cante','SeeksTheMoon','shezAbrat','shiau','shyguy','siman','sjh0320','sorenoid','Steve_Stanfield','surfnix54','suydam','Sweethrt758','taroo','tdp','The_WABBIT','thresher','tklein','tontonraoul','tony-rs','treker','tt3','vdemart','vinod','vka3','wbrown','Webb','wertzu','willou','wutzkem');
+
+Warnings during import:
+
+TODO: I don't really understand why three are illegal UTF-8 strings,
+this was taken care of during the savane-cleanup UTF-8 upgrade,
+cf. savane/update/clean-up/09-utf-8.php
+
+| Warning | 1265 | Data truncated for column 'first_name' at row 370           
                               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x8Eeljk...' for column 
'first_name' at row 1080              | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 1207          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 1297          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 1701          
                               | 
+| Warning | 1366 | Incorrect string value: '\xC5\x82' for column 'first_name' 
at row 2117                     | 
+| Warning | 1366 | Incorrect string value: '\xC2\x82\xC2\x95\xC2\x9A' for 
column 'first_name' at row 2656     | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 3182          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 3310          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 3430          
                               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9Aa Bo...' for column 
'first_name' at row 3798              | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9Aan F...' for column 
'first_name' at row 4404              | 
+| Warning | 1366 | Incorrect string value: '\xC5\x9Eent\xC3...' for column 
'first_name' at row 4823           | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 5045          
                               | 
+| Warning | 1366 | Incorrect string value: '\xC5\x84ski' for column 
'first_name' at row 5613                  | 
+| Warning | 1366 | Incorrect string value: '\xC5\x82 Mu\xC5...' for column 
'first_name' at row 5793           | 
+| Warning | 1366 | Incorrect string value: '\xE0\xA6\xB6\xE0\xA7\x81...' for 
column 'first_name' at row 6116  | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 6604          
                               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9Aa Du...' for column 
'first_name' at row 7648              | 
+| Warning | 1366 | Incorrect string value: '\xC2\x8A\xC2\xB1?G...' for column 
'first_name' at row 7695        | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 7855          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 8105          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 8422          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 9033          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 9045          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 9488          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 9863          
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 10394         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 10760         
                               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x8Aegan' for column 
'first_name' at row 11949                | 
+| Warning | 1366 | Incorrect string value: '\xC2\x91P\xC2\x8Ee' for column 
'first_name' at row 11987          | 
+| Warning | 1366 | Incorrect string value: '\xD0\x90\xD0\xBB\xD0\xB5...' for 
column 'first_name' at row 13137 | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9Cnik' for column 
'first_name' at row 13151                 | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 13674         
                               | 
+| Warning | 1366 | Incorrect string value: '\xC4\x83' for column 'first_name' 
at row 13997                    | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 14114         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 14200         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 14287         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 14579         
                               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9A' for column 'first_name' 
at row 14794                    | 
+| Warning | 1366 | Incorrect string value: 'address@hidden' for column 
'first_name' at row 15408          | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 15819         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 16444         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 16587         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 16798         
                               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9Ain' for column 
'first_name' at row 16956                  | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 17909         
                               | 
+| Warning | 1366 | Incorrect string value: '\xD0\x94\xD0\xB0\xD0\xBD...' for 
column 'first_name' at row 18031 | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 18064         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 18134         
                               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9Eek' for column 
'first_name' at row 19360                  | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 19720         
                               | 
+| Warning | 1366 | Incorrect string value: '\xC5\x88uk' for column 
'first_name' at row 19744                  | 
+| Warning | 1366 | Incorrect string value: '\xC5\x99enek...' for column 
'first_name' at row 19749             | 
+| Warning | 1366 | Incorrect string value: '\xC4\x9Fda\xC5\x9F...' for column 
'first_name' at row 19780       | 
+| Warning | 1366 | Incorrect string value: '\xE5\x86\xAF\xE6\x98\x8E...' for 
column 'first_name' at row 20033 | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 21228         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 21553         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 21762         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 21797         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 22367         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 22464         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 23013         
                               | 
+| Warning | 1265 | Data truncated for column 'first_name' at row 24967         
                               | 
+
+----
+
+| Warning | 1366 | Incorrect string value: '\xC2\x9198\x0D\x0A...' for column 
'people_resume' at row 1197          | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95 Des...' for column 
'people_resume' at row 4592                | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95 C, ...' for column 
'people_resume' at row 5390                | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92s de...' for column 
'people_resume' at row 9639                | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 200...' for column 
'people_resume' at row 10729               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 Phi...' for column 
'people_resume' at row 11448               | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95\x09Str...' for column 
'people_resume' at row 15267            | 
+| Warning | 1366 | Incorrect string value: '\xC2\x91A\xC2\x92 ...' for column 
'people_resume' at row 17491         | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95 Dat...' for column 
'people_resume' at row 18044               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92Intr...' for column 
'people_resume' at row 19923               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x91Netw...' for column 
'people_resume' at row 21149               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 Apr...' for column 
'people_resume' at row 23126               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95\x09Chi...' for column 
'people_resume' at row 23274            | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95 (43...' for column 
'people_resume' at row 25042               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92t ha...' for column 
'people_resume' at row 25253               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95 COL...' for column 
'people_resume' at row 25484               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92s ma...' for column 
'people_resume' at row 26162               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92 exp...' for column 
'people_resume' at row 27182               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 Pre...' for column 
'people_resume' at row 28369               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 Lee...' for column 
'people_resume' at row 28853               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 91-...' for column 
'people_resume' at row 29208               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92s We...' for column 
'people_resume' at row 31392               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96a di...' for column 
'people_resume' at row 31490               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x9E/?~W...' for column 
'gpg_key' at row 31866                     | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 01 ...' for column 
'people_resume' at row 32776               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x95\x09Pre...' for column 
'people_resume' at row 33378            | 
+| Warning | 1366 | Incorrect string value: '\xC2\x80STER...' for column 
'authorized_keys' at row 33546             | 
+| Warning | 1366 | Incorrect string value: '\xC2\x93seei...' for column 
'people_resume' at row 34256               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x96 pre...' for column 
'people_resume' at row 34387               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92m a ...' for column 
'people_resume' at row 34810               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92s Co...' for column 
'people_resume' at row 35162               | 
+| Warning | 1366 | Incorrect string value: '\xC2\x92s\x0D\x0A ...' for column 
'people_resume' at row 35163         | 
+| Warning | 1366 | Incorrect string value: '\xEF\x83\x92 Mi...' for column 
'people_resume' at row 38675            | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1366 | Incorrect string value: '\xD1\x85\xD0\xBC' for column 
'people_resume' at row 39772              | 
+| Warning | 1366 | Incorrect string value: '\xEF\x82\xA7\x09B....' for column 
'people_resume' at row 39894         | 
+| Warning | 1366 | Incorrect string value: '\xC4\xB1n\xC4\xB1f...' for column 
'people_resume' at row 40734         | 
+| Warning | 1366 | Incorrect string value: '\xE5\xBD\xAD\xE7\x95\x85...' for 
column 'authorized_keys' at row 41167 | 
+| Warning | 1366 | Incorrect string value: '\xEF\x82\xA7\x09Hi...' for column 
'people_resume' at row 41332         | 
+| Warning | 1366 | Incorrect string value: '\xEF\xBB\xBF\x0D\x0AI...' for 
column 'people_resume' at row 41438      | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+| Warning | 1366 | Incorrect string value: '\xC5\x84sk U...' for column 
'people_resume' at row 45091               | 
+| Warning | 1366 | Incorrect string value: '\xEF\x83\x98\x09Pl...' for column 
'people_resume' at row 48021         | 
+| Warning | 1048 | Column 'email_hide' cannot be null                          
                                    | 
+
+
+----
+
+Groups:
++---------+------+-------------------------------------------------------------------------------+
+| Level   | Code | Message                                                     
                  |
++---------+------+-------------------------------------------------------------------------------+
+| Warning | 1048 | Column 'short_description' cannot be null                   
                  | 
+| Warning | 1048 | Column 'long_description' cannot be null                    
                  | 
+| Warning | 1048 | Column 'license_other' cannot be null                       
                  | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1048 | Column 'registered_gpg_keys' cannot be null                 
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_homepage' at 
row 1                | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_mail' at row 1  
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_patch' at row 1 
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_task' at row 1  
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_forum' at row 1 
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_cvs' at row 1   
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_news' at row 1  
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_support' at row 
1                 | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_bugs' at row 1  
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 
'use_extralink_documentation' at row 1 | 
+| Warning | 1048 | Column 'long_description' cannot be null                    
                  | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 2               | 
+| Warning | 1048 | Column 'long_description' cannot be null                    
                  | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 3               | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_homepage' at 
row 3                | 
+| Warning | 1366 | Incorrect integer value: '' for column 
'use_extralink_documentation' at row 3 | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 4               | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_homepage' at 
row 4                | 
+| Warning | 1366 | Incorrect integer value: '' for column 
'use_extralink_documentation' at row 4 | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 5               | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_homepage' at 
row 5                | 
+| Warning | 1366 | Incorrect integer value: '' for column 
'use_extralink_documentation' at row 5 | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 6               | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_homepage' at 
row 6                | 
+| Warning | 1366 | Incorrect integer value: '' for column 
'use_extralink_documentation' at row 6 | 
+| Warning | 1048 | Column 'long_description' cannot be null                    
                  | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 7               | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 8               | 
+| Warning | 1048 | Column 'long_description' cannot be null                    
                  | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 9               | 
+| Warning | 1048 | Column 'registered_gpg_keys' cannot be null                 
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_homepage' at 
row 9                | 
+| Warning | 1366 | Incorrect integer value: '' for column 
'use_extralink_documentation' at row 9 | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 10              | 
+| Warning | 1048 | Column 'long_description' cannot be null                    
                  | 
+| Warning | 1048 | Column 'required_software' cannot be null                   
                  | 
+| Warning | 1048 | Column 'other_comments' cannot be null                      
                  | 
+| Warning | 1264 | Out of range value adjusted for column 'register_time' at 
row 11              | 
+| Warning | 1048 | Column 'registered_gpg_keys' cannot be null                 
                  | 
+| Warning | 1366 | Incorrect integer value: '' for column 'use_homepage' at 
row 11               | 
++---------+------+-------------------------------------------------------------------------------+
diff --git a/migrate_old_savane.sql b/migrate_old_savane.sql
index 0701a7a..38599f5 100644
--- a/migrate_old_savane.sql
+++ b/migrate_old_savane.sql
@@ -9,9 +9,10 @@ INSERT INTO auth_user
       CONCAT('md5$$', user_pw), now(), FROM_UNIXTIME(add_date), status='A',
       0, 0
     FROM savane_old.user
-    WHERE user_id != 100;
+    WHERE savane_old.user.user_id != 100;
 
 -- Import all extended information except for the 'None' user (#100)
+-- (X or 0) means 'if V==NULL then 0 else V'
 INSERT INTO svmain_extendeduser
     (user_ptr_id, status, spamscore, authorized_keys,
      authorized_keys_count, people_view_skills, people_resume,
@@ -19,6 +20,258 @@ INSERT INTO svmain_extendeduser
   SELECT user_id, status, spamscore, authorized_keys,
       authorized_keys_count, people_view_skills,
       people_resume, timezone, theme,
-      email_hide, gpg_key, gpg_key_count
+      (email_hide or 0), gpg_key, gpg_key_count
     FROM savane_old.user
-    WHERE user_id != 100;
+    WHERE savane_old.user.user_id != 100;
+
+-- Import group configurations
+-- type_id -> id
+INSERT INTO svmain_groupconfiguration
+    (id, name, description, base_host,
+     mailing_list_address, mailing_list_virtual_host, mailing_list_format,
+     can_use_homepage, can_use_download, can_use_cvs, can_use_arch, 
can_use_svn, can_use_git, can_use_hg,
+     can_use_bzr, can_use_license, can_use_devel_status, can_use_forum, 
can_use_mailing_list,
+     can_use_patch, can_use_task, can_use_news, can_use_support, can_use_bug,
+     is_menu_configurable_homepage,
+     is_menu_configurable_download,
+     is_menu_configurable_forum,
+     is_menu_configurable_support,
+     is_menu_configurable_mail,
+     is_menu_configurable_cvs,
+     is_menu_configurable_cvs_viewcvs,
+     is_menu_configurable_cvs_viewcvs_homepage,
+     is_menu_configurable_arch,
+     is_menu_configurable_arch_viewcvs,
+     is_menu_configurable_svn,
+     is_menu_configurable_svn_viewcvs,
+     is_menu_configurable_git,
+     is_menu_configurable_git_viewcvs,
+     is_menu_configurable_hg,
+     is_menu_configurable_hg_viewcvs,
+     is_menu_configurable_bzr,
+     is_menu_configurable_bzr_viewcvs,
+     is_menu_configurable_bugs,
+     is_menu_configurable_task,
+     is_menu_configurable_patch,
+     is_menu_configurable_extralink_documentation,
+     is_configurable_download_dir,
+     homepage_scm,
+     dir_type_cvs,
+     dir_type_arch,
+     dir_type_svn,
+     dir_type_git,
+     dir_type_hg,
+     dir_type_bzr,
+     dir_type_homepage,
+     dir_type_download,
+     dir_homepage,
+     dir_cvs,
+     dir_arch,
+     dir_svn,
+     dir_git,
+     dir_hg,
+     dir_bzr,
+     dir_download,
+     url_homepage,
+     url_cvs_viewcvs_homepage,
+     url_cvs_viewcvs,
+     url_arch_viewcvs,
+     url_svn_viewcvs,
+     url_git_viewcvs,
+     url_hg_viewcvs,
+     url_bzr_viewcvs,
+     url_download,
+     url_mailing_list_listinfo,
+     url_mailing_list_subscribe,
+     url_mailing_list_unsubscribe,
+     url_mailing_list_archives,
+     url_mailing_list_archives_private,
+     url_mailing_list_admin,
+     url_extralink_documentation)
+  SELECT type_id, name, description, base_host,
+      mailing_list_address, mailing_list_virtual_host, mailing_list_format,
+      can_use_homepage, can_use_download, can_use_cvs, can_use_arch, 
can_use_svn, can_use_git, can_use_hg,
+      can_use_bzr, can_use_license, can_use_devel_status, can_use_forum, 
can_use_mailing_list,
+      can_use_patch, can_use_task, can_use_news, can_use_support, can_use_bug,
+      is_menu_configurable_homepage,
+      is_menu_configurable_download,
+      is_menu_configurable_forum,
+      is_menu_configurable_support,
+      is_menu_configurable_mail,
+      is_menu_configurable_cvs,
+      is_menu_configurable_cvs_viewcvs,
+      is_menu_configurable_cvs_viewcvs_homepage,
+      is_menu_configurable_arch,
+      is_menu_configurable_arch_viewcvs,
+      is_menu_configurable_svn,
+      is_menu_configurable_svn_viewcvs,
+      is_menu_configurable_git,
+      is_menu_configurable_git_viewcvs,
+      is_menu_configurable_hg,
+      is_menu_configurable_hg_viewcvs,
+      is_menu_configurable_bzr,
+      is_menu_configurable_bzr_viewcvs,
+      is_menu_configurable_bugs,
+      is_menu_configurable_task,
+      is_menu_configurable_patch,
+      is_menu_configurable_extralink_documentation,
+      is_configurable_download_dir,
+      homepage_scm,
+      dir_type_cvs,
+      dir_type_arch,
+      dir_type_svn,
+      dir_type_git,
+      dir_type_hg,
+      dir_type_bzr,
+      dir_type_homepage,
+      dir_type_download,
+      dir_homepage,
+      dir_cvs,
+      dir_arch,
+      dir_svn,
+      dir_git,
+      dir_hg,
+      dir_bzr,
+      dir_download,
+      url_homepage,
+      url_cvs_viewcvs_homepage,
+      url_cvs_viewcvs,
+      url_arch_viewcvs,
+      url_svn_viewcvs,
+      url_git_viewcvs,
+      url_hg_viewcvs,
+      url_bzr_viewcvs,
+      url_download,
+      url_mailing_list_listinfo,
+      url_mailing_list_subscribe,
+      url_mailing_list_unsubscribe,
+      url_mailing_list_archives,
+      url_mailing_list_archives_private,
+      url_mailing_list_admin,
+      url_extralink_documentation
+    FROM savane_old.group_type;
+
+
+-- Import groups
+-- id <- group_id
+-- name <- unix_group_name
+INSERT INTO auth_group
+    (id, name)
+  SELECT group_id, unix_group_name
+    FROM savane_old.groups
+    WHERE savane_old.groups.group_id != 100;
+
+-- Import license/devel_status
+-- ./manage.py loaddata savane/svmain/fixtures/license.yaml
+-- ./manage.py loaddata savane/svmain/fixtures/developmentstatus.yaml
+
+-- Import groups
+-- group_ptr_id <- group_id
+-- full_name <- group_name
+-- license_id <- license+1 (django counts from 1, not from 0)
+-- devel_status_id <- devel_status+1 (django counts from 1, not from 0)
+-- type_id <- type
+--
+-- Using LEFT JOIN so that if the license isn't known, the project is
+-- not ignored (with license_id=NULL).
+INSERT INTO svmain_extendedgroup
+    (group_ptr_id, full_name, license_id, devel_status_id, type_id,
+     is_public,
+     status,
+     short_description,
+     long_description,
+     license_other,
+     register_purpose,
+     required_software,
+     other_comments,
+     register_time,
+     registered_gpg_keys,
+     use_homepage,
+     use_mail,
+     use_patch,
+     use_task,
+     use_forum,
+     use_cvs,
+     use_arch,
+     use_svn,
+     use_git,
+     use_hg,
+     use_bzr,
+     use_news,
+     use_support,
+     use_download,
+     use_bugs,
+     use_extralink_documentation,
+     url_homepage,
+     url_download,
+     url_forum,
+     url_support,
+     url_mail,
+     url_cvs,
+     url_cvs_viewcvs,
+     url_cvs_viewcvs_homepage,
+     url_arch,
+     url_arch_viewcvs,
+     url_svn,
+     url_svn_viewcvs,
+     url_git,
+     url_git_viewcvs,
+     url_hg,
+     url_hg_viewcvs,
+     url_bzr,
+     url_bzr_viewcvs,
+     url_bugs,
+     url_task,
+     url_patch,
+     url_extralink_documentation)
+  SELECT group_id, group_name, svmain_license.id, devel_status+1, type,
+      is_public,
+      status,
+      short_description,
+      long_description,
+      license_other,
+      register_purpose,
+      required_software,
+      other_comments,
+      register_time,
+      registered_gpg_keys,
+      use_homepage,
+      use_mail,
+      use_patch,
+      use_task,
+      use_forum,
+      use_cvs,
+      use_arch,
+      use_svn,
+      use_git,
+      use_hg,
+      use_bzr,
+      use_news,
+      use_support,
+      use_download,
+      use_bugs,
+      use_extralink_documentation,
+      url_homepage,
+      url_download,
+      url_forum,
+      url_support,
+      url_mail,
+      url_cvs,
+      url_cvs_viewcvs,
+      url_cvs_viewcvs_homepage,
+      url_arch,
+      url_arch_viewcvs,
+      url_svn,
+      url_svn_viewcvs,
+      url_git,
+      url_git_viewcvs,
+      url_hg,
+      url_hg_viewcvs,
+      url_bzr,
+      url_bzr_viewcvs,
+      url_bugs,
+      url_task,
+      url_patch,
+      url_extralink_documentation
+    FROM savane_old.groups LEFT JOIN savane.svmain_license ON 
savane_old.groups.license = savane.svmain_license.slug
+    WHERE savane_old.groups.group_id != 100;
diff --git a/src/savane/svmain/admin.py b/src/savane/svmain/admin.py
index 16366ad..198c044 100644
--- a/src/savane/svmain/admin.py
+++ b/src/savane/svmain/admin.py
@@ -32,13 +32,6 @@ class ExtendedUserAdmin(admin.ModelAdmin):
     ordering = ('username',)
     filter_horizontal = ('user_permissions',)
 
-class ExtendedGroupAdmin(admin.ModelAdmin):
-    # Copy/pasted from django.contrib.auth.admin; inheritance fails
-    # when you attempt to display extended fields..
-    search_fields = ('name',)
-    ordering = ('name',)
-    filter_horizontal = ('permissions',)
-
 class GroupConfigurationAdmin(admin.ModelAdmin):
     fieldsets = (
         (_('General Settings'), {'fields': ('name', 'base_host', 
'description')}),
@@ -84,6 +77,15 @@ class GroupConfigurationAdmin(admin.ModelAdmin):
         
         )
 
+class ExtendedGroupAdmin(admin.ModelAdmin):
+    # Copy/pasted from django.contrib.auth.admin; inheritance fails
+    # when you attempt to display extended fields..
+    search_fields = ('name',)
+    ordering = ('name',)
+    filter_horizontal = ('permissions',)
+    list_display  = ('name', 'pk', 'full_name', 'type', 'license',)
+    list_filter = ('type', 'license', 'devel_status',)
+
 admin.site.register(svmain_models.ExtendedUser, ExtendedUserAdmin)
 admin.site.register(svmain_models.ExtendedGroup, ExtendedGroupAdmin)
 admin.site.register(svmain_models.GroupConfiguration, GroupConfigurationAdmin)
diff --git a/src/savane/svmain/fixtures/license.yaml 
b/src/savane/svmain/fixtures/license.yaml
index e964e69..e32ef0f 100644
--- a/src/savane/svmain/fixtures/license.yaml
+++ b/src/savane/svmain/fixtures/license.yaml
@@ -1,88 +1,134 @@
 - fields:
+    slug: 'none'
+    name: 'N/A'
+  model: svmain.license
+  pk: 1
+- fields:
     slug: 'gpl'
     name: 'GNU General Public License V2 or later'
     url: 'http://www.gnu.org/copyleft/gpl.html'
   model: svmain.license
-  pk: 1
+  pk: 2
 - fields:
     slug: 'lgpl'
     name: 'GNU Lesser General Public License'
     url: 'http://www.gnu.org/copyleft/lesser.html'
   model: svmain.license
-  pk: 2
+  pk: 3
 - fields:
     slug: 'fdl'
     name: 'GNU Free Documentation License'
     url: 'http://www.gnu.org/copyleft/fdl.html'
   model: svmain.license
-  pk: 3
+  pk: 4
 - fields:
     slug: 'mbsd'
     name: 'Modified BSD License'
     url: 'http://www.xfree86.org/3.3.6/COPYRIGHT2.html#5'
   model: svmain.license
-  pk: 4
+  pk: 5
 - fields:
     slug: 'x11'
     name: 'X11 license'
     url: 'http://www.x.org/terms.htm'
   model: svmain.license
-  pk: 5
+  pk: 6
 - fields:
     slug: 'cryptix'
     name: 'Cryptix General License'
     url: 'http://www.cryptix.org/docs/license.html'
   model: svmain.license
-  pk: 6
+  pk: 7
 - fields:
     slug: 'zlib'
     name: 'The license of ZLib'
     url: 'ftp://ftp.freesoftware.com/pub/infozip/zlib/zlib_license.html'
   model: svmain.license
-  pk: 7
+  pk: 8
 - fields:
     slug: 'imatrix'
     name: 'The license of the iMatix Standard Function Library'
   model: svmain.license
-  pk: 8
+  pk: 9
 - fields:
     slug: 'w3c'
     name: 'The W3C Software Notice and License'
     url: 'http://www.w3.org/Consortium/Legal/copyright-software.html'
   model: svmain.license
-  pk: 9
+  pk: 10
 - fields:
     slug: 'berkeley'
     name: 'The Berkeley Database License'
     url: 'http://www.sleepycat.com/license.net'
   model: svmain.license
-  pk: 10
+  pk: 11
 - fields:
     slug: 'python16'
     name: 'The License of Python 1.6a2 and earlier versions'
     url: 'http://www.python.org/doc/Copyright.html'
   model: svmain.license
-  pk: 11
+  pk: 12
 - fields:
     slug: 'cartistic'
     name: 'The Clarified Artistic License'
     url: 
'http://www.statistica.unimib.it/utenti/dellavedova/software/artistic2.html'
   model: svmain.license
-  pk: 12
+  pk: 13
 - fields:
     slug: 'expat'
     name: 'Expat License (sometime refered to as MIT License)'
     url: 'http://www.gnu.org/licenses/license-list.html#Expat'
   model: svmain.license
-  pk: 13
+  pk: 14
 - fields:
     slug: 'affero'
     name: 'Affero General Public License V1 or later'
     url: 'http://www.affero.org/oagpl.html'
   model: svmain.license
-  pk: 14
+  pk: 15
 - fields:
     slug: 'website'
     name: 'WebSite Only'
   model: svmain.license
-  pk: 15
+  pk: 16
+- fields:
+    slug: 'python2'
+    name: 'The License of Python 2.0.1, 2.1.1, and newer versions'
+    url: 'http://www.python.org/2.0.1/license.html'
+  model: svmain.license
+  pk: 17
+- fields:
+    slug: 'perl'
+    name: 'The license of Perl (disjunction of the Artistic License and the 
GNU GPL)'
+    url: 'http://www.gnu.org/philosophy/license-list.html#PerlLicense'
+  model: svmain.license
+  pk: 18
+- fields:
+    slug: 'classpath'
+    name: 'GNU General Public License v2 or later with GNU Classpath special 
exception'
+    url: 'http://www.gnu.org/software/classpath/license.html'
+  model: svmain.license
+  pk: 19
+- fields:
+    slug: 'public domain'
+    name: 'Public domain'
+  model: svmain.license
+  pk: 20
+- fields:
+    slug: 'dual-gpl'
+    name: 'GNU General Public License v2 or later (+ dual licensing)'
+    url: 'http://www.gnu.org/licenses/gpl.html'
+  model: svmain.license
+  pk: 21
+- fields:
+    slug: 'gplv3orlater'
+    name: 'GNU General Public License v3 or later'
+    url: 'http://www.gnu.org/licenses/gpl.html'
+  model: svmain.license
+  pk: 22
+- fields:
+    slug: 'agpl'
+    name: 'GNU Affero General Public License v3 or later'
+    url: 'http://www.gnu.org/licenses/agpl-3.0.html'
+  model: svmain.license
+  pk: 23
diff --git a/src/savane/svmain/models.py b/src/savane/svmain/models.py
index bea990f..db6e81c 100644
--- a/src/savane/svmain/models.py
+++ b/src/savane/svmain/models.py
@@ -20,8 +20,6 @@
 from django.db import models
 from django.contrib.auth import models as auth_models
 
-# TODO: these models probably don't belong to the 'my' application
-
 class ExtendedUser(auth_models.User):
     """Django base User class + extra Savane fields"""
 
@@ -144,7 +142,7 @@ class GroupConfiguration(models.Model):
     can_use_support      = models.BooleanField(default=True)
     can_use_bug          = models.BooleanField(default=True)
     is_menu_configurable_homepage                = 
models.BooleanField(default=False,
-                                                                       
help_text='the homepage link can be modified')
+      help_text='the homepage link can be modified')
     is_menu_configurable_download                = 
models.BooleanField(default=False)
     is_menu_configurable_forum                   = 
models.BooleanField(default=False)
     is_menu_configurable_support                 = 
models.BooleanField(default=False)
@@ -252,12 +250,16 @@ class GroupConfiguration(models.Model):
     #cookbook_rflags = IntegerField(default='5')
     #support_rflags  = IntegerField(default='2')
 
+    def __unicode__(self):
+        return self.name
+
 
 class ExtendedGroup(auth_models.Group):
     """Django base Group class + extra Savane fields"""
     
     type = models.ForeignKey(GroupConfiguration)
-    name = models.CharField(max_length=30, blank=True)
+    full_name = models.CharField(max_length=30, blank=True,
+      help_text="Full project name (not Unix system name)")
     is_public = models.BooleanField(default=False)
     status_CHOICES = (
         ('A', 'Active'),
@@ -272,7 +274,7 @@ class ExtendedGroup(auth_models.Group):
     license = models.ForeignKey(License, null=True)
     license_other = models.TextField()
 
-    devel_status = models.ForeignKey(DevelopmentStatus),
+    devel_status = models.ForeignKey(DevelopmentStatus)
 
     # Registration-specific
     register_purpose = models.TextField()
@@ -365,3 +367,10 @@ class ExtendedGroup(auth_models.Group):
     #support_private_exclude_address text
     #patch_private_exclude_address text
     #cookbook_private_exclude_address text
+
+    def __unicode__(self):
+        return self.name
+
+    class Meta:
+        ordering = ['name']
+

-----------------------------------------------------------------------

Summary of changes:
 MIGRATION.txt                           |  225 ++++++++++++++++++++++++++-
 migrate_old_savane.sql                  |  259 ++++++++++++++++++++++++++++++-
 src/savane/svmain/admin.py              |   16 +-
 src/savane/svmain/fixtures/license.yaml |   76 +++++++--
 src/savane/svmain/models.py             |   19 ++-
 5 files changed, 564 insertions(+), 31 deletions(-)


hooks/post-receive
-- 
Savane-cleanup framework




reply via email to

[Prev in Thread] Current Thread [Next in Thread]