Merge Request #221
← To merge requests
From
colab_fix_automatic_group_creation_bug
into
master
Commits (1)
Showing
1 changed file
Show diff stats
src/colab-spb-plugin/src/colab_spb/tasks.py
... | ... | @@ -25,7 +25,6 @@ def normalize_name(name): |
25 | 25 | |
26 | 26 | return name.lower() |
27 | 27 | |
28 | - | |
29 | 28 | def create_group_from_community(noosfero_community): |
30 | 29 | """ Create a group into Gitlab from a Noosfero's Community""" |
31 | 30 | |
... | ... | @@ -34,7 +33,7 @@ def create_group_from_community(noosfero_community): |
34 | 33 | # If project already exist |
35 | 34 | group = GitlabGroup.objects.filter(name=group_name) |
36 | 35 | if group: |
37 | - return group[0].id | |
36 | + return None | |
38 | 37 | |
39 | 38 | app_config = settings.COLAB_APPS.get('colab_gitlab', {}) |
40 | 39 | private_token = app_config.get('private_token') |
... | ... | @@ -57,14 +56,17 @@ def create_group_from_community(noosfero_community): |
57 | 56 | except Exception as excpt: |
58 | 57 | reason = 'Request to API failed ({})'.format(excpt) |
59 | 58 | logger.error(error_msg, group_name, reason) |
60 | - return | |
59 | + return None | |
61 | 60 | |
62 | 61 | if response.status_code != 201: |
63 | 62 | if response.status_code is 404: |
64 | 63 | pass # TODO: should request the existing group id if error 404 |
64 | + | |
65 | 65 | reason = 'Unknown [{}].'.format(response.status_code) |
66 | 66 | logger.error(error_msg, group_name, reason) |
67 | - return | |
67 | + | |
68 | + return None | |
69 | + | |
68 | 70 | else: |
69 | 71 | group_id = response.json().get('id') |
70 | 72 | logger.info('Group {0} created'.format(group_name)) |
... | ... | @@ -142,6 +144,11 @@ def create_project(project_name, group_id): |
142 | 144 | logger.info('Project created') |
143 | 145 | |
144 | 146 | |
147 | +def create_mailing_list_from_community(noosfero_community, admins): | |
148 | + listname = normalize_name(noosfero_community.name) | |
149 | + create_list(listname, admins) | |
150 | + | |
151 | + | |
145 | 152 | @app.task(bind=True) |
146 | 153 | def list_group_and_repository_creation(self, **kwargs): |
147 | 154 | logger.info('Community created: {0}'.format(''.join(kwargs))) |
... | ... | @@ -154,9 +161,11 @@ def list_group_and_repository_creation(self, **kwargs): |
154 | 161 | return -1 |
155 | 162 | |
156 | 163 | group_id = create_group_from_community(noosfero_community) |
157 | - include_members_into_group(admins, group_id) | |
158 | - create_project(noosfero_community.name, group_id) | |
159 | - listname = normalize_name(noosfero_community.name) | |
160 | - create_list(listname, admins[0]) | |
164 | + | |
165 | + if group_id is not None: | |
166 | + include_members_into_group(admins, group_id) | |
167 | + create_project(noosfero_community.name, group_id) | |
168 | + | |
169 | + create_mailing_list_from_community(noosfero_community, admins[0]) | |
161 | 170 | |
162 | 171 | return 0 | ... | ... |
-
Status changed to closed