Merge lp:~savoirfairelinux-openerp/openerp-hr/language into lp:openerp-hr/6.1

Status: Rejected
Rejected by: Sandy Carter (http://www.savoirfairelinux.com)
Proposed branch: lp:~savoirfairelinux-openerp/openerp-hr/language
Merge into: lp:openerp-hr/6.1
Diff against target: 687 lines (+655/-0)
6 files modified
hr_language/__init__.py (+24/-0)
hr_language/__openerp__.py (+51/-0)
hr_language/hr_language.py (+49/-0)
hr_language/hr_language_view.xml (+67/-0)
hr_language/i18n/hr_language.pot (+462/-0)
hr_language/security/ir.model.access.csv (+2/-0)
To merge this branch: bzr merge lp:~savoirfairelinux-openerp/openerp-hr/language
Reviewer Review Type Date Requested Status
Alexandre Fayolle - camptocamp code review, no tests Approve
Yannick Vaucher @ Camptocamp Needs Information
Pedro Manuel Baeza Needs Information
Joao Alfredo Gama Batista code review. no test Needs Fixing
Maxime Chambreuil (http://www.savoirfairelinux.com) code review Approve
Review via email: mp+194925@code.launchpad.net

Description of the change

[ADD] add hr_language module.It adds a new menu in hr module.This module depends on hr module

To post a comment you must log in.
Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) :
review: Approve (code review)
307. By EL HADJI DEM <email address hidden>

[IMP] add pot file

Revision history for this message
Joao Alfredo Gama Batista (joao-gama) wrote :

Hi El Hadji,

Thanks again for your contribution. I just did a review for your other merge proposal (https://code.launchpad.net/~savoirfairelinux-openerp/openerp-hr/experience/+merge/194926) and the same points apply.

l.98.101.117.120.125

review: Needs Fixing (code review. no test)
308. By El Hadji Dem (http://www.savoirfairelinux.com)

[PEP8] pep8

309. By El Hadji Dem (http://www.savoirfairelinux.com)

[pep8] pep8

310. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[FIX] Based on MP reviews. Improve XML readability

Revision history for this message
El Hadji Dem (http://www.savoirfairelinux.com) (eh-dem) wrote :

thanks maxime

311. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[IMP] Update translation file

Revision history for this message
Pedro Manuel Baeza (pedro.baeza) wrote :

Hi, El Hadji,

Thanks for the MP. I see something strange with language selection, because all the language names needs to be translated and appear in the pot file. Isn't any other machanism that uses translations made on base module.

Regards.

review: Needs Information
Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Hello Pedro,

Good catch Pedro ;) Problem is that an employee may speak, read or write a language which is not installed in OpenERP. That's why we decided to get the list of languages from tools.scan_languages().

Revision history for this message
Yannick Vaucher @ Camptocamp (yvaucher-c2c) wrote :

Wouldn't it be more interesting to have a level of language like http://en.wikipedia.org/wiki/Common_European_Framework_of_Reference_for_Languages
Or something like Linkedin language levels ?
Than a simple true / false ?

review: Needs Information
Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

@Yannick

You are right. Same thing would apply for skills evaluation.

We wanted to start simple to generate a resume, where languages and skills would appear or not.

Revision history for this message
Alexandre Fayolle - camptocamp (alexandre-fayolle-c2c) wrote :

LGTM

review: Approve (code review, no tests)
Revision history for this message
Sandy Carter (http://www.savoirfairelinux.com) (sandy-carter) wrote :

Unmerged revisions

311. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[IMP] Update translation file

310. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[FIX] Based on MP reviews. Improve XML readability

309. By El Hadji Dem (http://www.savoirfairelinux.com)

[pep8] pep8

308. By El Hadji Dem (http://www.savoirfairelinux.com)

[PEP8] pep8

307. By EL HADJI DEM <email address hidden>

[IMP] add pot file

306. By EL HADJI DEM <email address hidden>

[add] add hr_language module

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added directory 'hr_language'
=== added file 'hr_language/__init__.py'
--- hr_language/__init__.py 1970-01-01 00:00:00 +0000
+++ hr_language/__init__.py 2013-12-31 21:40:09 +0000
@@ -0,0 +1,24 @@
1# -*- encoding: utf-8 -*-
2###############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20###############################################################################
21
22from . import hr_language
23
24# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
025
=== added file 'hr_language/__openerp__.py'
--- hr_language/__openerp__.py 1970-01-01 00:00:00 +0000
+++ hr_language/__openerp__.py 2013-12-31 21:40:09 +0000
@@ -0,0 +1,51 @@
1# -*- encoding: utf-8 -*-
2###############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20###############################################################################
21
22{
23 "name": "Language Management",
24 "version": "0.1",
25 "author": "Savoir-faire Linux",
26 "maintainer": "Savoir-faire Linux",
27 "website": "http://www.savoirfairelinux.com",
28 "category": "Human Resources",
29 "description": """
30Language Management
31===================
32
33This module allows you to manage your employee languages.
34
35Contributors
36------------
37* El Hadji DEM (elhadji.dem@savoirfairelinux.com)
38""",
39 "depends": ["hr", ],
40 "external_dependencies": {},
41 'data': [
42 "security/ir.model.access.csv",
43 "hr_language_view.xml",
44 ],
45 "demo": [],
46 "test": [],
47 "installable": True,
48 "active": False,
49}
50
51# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
052
=== added file 'hr_language/hr_language.py'
--- hr_language/hr_language.py 1970-01-01 00:00:00 +0000
+++ hr_language/hr_language.py 2013-12-31 21:40:09 +0000
@@ -0,0 +1,49 @@
1# -*- encoding: utf-8 -*-
2###############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20###############################################################################
21
22import tools
23from openerp.osv import fields, orm
24
25
26class hr_language(orm.Model):
27 _name = 'hr.language'
28 _columns = {
29 'name': fields.selection(tools.scan_languages(), 'Language', required=True),
30 'description': fields.char('Description', size=64, required=True, translate=True),
31 'employee_id': fields.many2one('hr.employee', 'Employee', required=True),
32 'read': fields.boolean('Read'),
33 'write': fields.boolean('Write'),
34 'speak': fields.boolean('Speak'),
35 }
36 _defaults = {
37 'read': True,
38 'write': True,
39 'speak': True,
40 }
41
42
43class hr_employee(orm.Model):
44 _inherit = 'hr.employee'
45 _columns = {
46 'language_ids': fields.one2many('hr.language', 'employee_id', 'Languages'),
47 }
48
49# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
050
=== added file 'hr_language/hr_language_view.xml'
--- hr_language/hr_language_view.xml 1970-01-01 00:00:00 +0000
+++ hr_language/hr_language_view.xml 2013-12-31 21:40:09 +0000
@@ -0,0 +1,67 @@
1<openerp>
2 <data>
3
4 <!-- inherit Employee -->
5 <record model="ir.ui.view" id="view_employee_form">
6 <field name="name">hr.language.employee.form</field>
7 <field name="model">hr.employee</field>
8 <field name="type">form</field>
9 <field name="inherit_id" ref="hr.view_employee_form"/>
10 <field name="arch" type="xml">
11 <notebook position="inside">
12 <page string="Languages">
13 <field name="language_ids" nolabel="1" colspan="4"/>
14 </page>
15 </notebook>
16 </field>
17 </record>
18
19 <!-- Language tree -->
20 <record model="ir.ui.view" id="view_language_tree">
21 <field name="name">hr.language.tree</field>
22 <field name="model">hr.language</field>
23 <field name="type">tree</field>
24 <field name="arch" type="xml">
25 <tree string="Languages">
26 <field name="description"/>
27 <field name="read"/>
28 <field name="write"/>
29 <field name="speak"/>
30 </tree>
31 </field>
32 </record>
33
34 <!-- Language form -->
35 <record model="ir.ui.view" id="view_language_form">
36 <field name="name">hr.language.form</field>
37 <field name="model">hr.language</field>
38 <field name="type">form</field>
39 <field name="arch" type="xml">
40 <form string="Language">
41 <field name="name"/>
42 <field name="description"/>
43 <field name="employee_id"/>
44 <newline/>
45 <field name="read"/>
46 <newline/>
47 <field name="write"/>
48 <newline/>
49 <field name="speak"/>
50 </form>
51 </field>
52 </record>
53
54 <!-- Menu -->
55 <record model="ir.actions.act_window" id="open_view_language_form">
56 <field name="res_model">hr.language</field>
57 <field name="view_type">form</field>
58 <field name="view_mode">tree,form</field>
59 </record>
60
61 <menuitem name="Languages"
62 parent="hr.menu_hr_configuration"
63 id="menu_open_view_language_form"
64 action="open_view_language_form"/>
65
66 </data>
67</openerp>
068
=== added directory 'hr_language/i18n'
=== added file 'hr_language/i18n/hr_language.pot'
--- hr_language/i18n/hr_language.pot 1970-01-01 00:00:00 +0000
+++ hr_language/i18n/hr_language.pot 2013-12-31 21:40:09 +0000
@@ -0,0 +1,462 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * hr_language
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 6.1\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-12-31 21:38+0000\n"
10"PO-Revision-Date: 2013-12-31 21:38+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: hr_language
19#: selection:hr.language,name:0
20msgid "Croatian / hrvatski jezik"
21msgstr ""
22
23#. module: hr_language
24#: selection:hr.language,name:0
25msgid "English (CA)"
26msgstr ""
27
28#. module: hr_language
29#: selection:hr.language,name:0
30msgid "Romanian / română"
31msgstr ""
32
33#. module: hr_language
34#: selection:hr.language,name:0
35msgid "Albanian / Shqip"
36msgstr ""
37
38#. module: hr_language
39#: selection:hr.language,name:0
40msgid "Hebrew / עִבְרִי"
41msgstr ""
42
43#. module: hr_language
44#: selection:hr.language,name:0
45msgid "Sinhalese / සිංහල"
46msgstr ""
47
48#. module: hr_language
49#: selection:hr.language,name:0
50msgid "Spanish (EC) / Español (EC)"
51msgstr ""
52
53#. module: hr_language
54#: selection:hr.language,name:0
55msgid "Spanish (PR) / Español (PR)"
56msgstr ""
57
58#. module: hr_language
59#: selection:hr.language,name:0
60msgid "Hungarian / Magyar"
61msgstr ""
62
63#. module: hr_language
64#: selection:hr.language,name:0
65msgid "Telugu / తెలుగు"
66msgstr ""
67
68#. module: hr_language
69#: selection:hr.language,name:0
70msgid "Spanish (VE) / Español (VE)"
71msgstr ""
72
73#. module: hr_language
74#: selection:hr.language,name:0
75msgid "Lithuanian / Lietuvių kalba"
76msgstr ""
77
78#. module: hr_language
79#: selection:hr.language,name:0
80msgid "Bulgarian / български език"
81msgstr ""
82
83#. module: hr_language
84#: selection:hr.language,name:0
85msgid "Dutch / Nederlands"
86msgstr ""
87
88#. module: hr_language
89#: selection:hr.language,name:0
90msgid "Spanish (UY) / Español (UY)"
91msgstr ""
92
93#. module: hr_language
94#: selection:hr.language,name:0
95msgid "Danish / Dansk"
96msgstr ""
97
98#. module: hr_language
99#: selection:hr.language,name:0
100msgid "Spanish (BO) / Español (BO)"
101msgstr ""
102
103#. module: hr_language
104#: selection:hr.language,name:0
105msgid "Korean (KR) / 한국어 (KR)"
106msgstr ""
107
108#. module: hr_language
109#: selection:hr.language,name:0
110msgid "Spanish (PE) / Español (PE)"
111msgstr ""
112
113#. module: hr_language
114#: selection:hr.language,name:0
115msgid "French (CH) / Français (CH)"
116msgstr ""
117
118#. module: hr_language
119#: selection:hr.language,name:0
120msgid "Arabic / الْعَرَبيّة"
121msgstr ""
122
123#. module: hr_language
124#: selection:hr.language,name:0
125msgid "Abkhazian / аҧсуа"
126msgstr ""
127
128#. module: hr_language
129#: selection:hr.language,name:0
130msgid "Spanish (CO) / Español (CO)"
131msgstr ""
132
133#. module: hr_language
134#: selection:hr.language,name:0
135msgid "Czech / Čeština"
136msgstr ""
137
138#. module: hr_language
139#: selection:hr.language,name:0
140msgid "Gujarati / ગુજરાતી"
141msgstr ""
142
143#. module: hr_language
144#: field:hr.language,employee_id:0
145#: model:ir.model,name:hr_language.model_hr_employee
146msgid "Employee"
147msgstr ""
148
149#. module: hr_language
150#: selection:hr.language,name:0
151msgid "Inuktitut / ᐃᓄᒃᑎᑐᑦ"
152msgstr ""
153
154#. module: hr_language
155#: selection:hr.language,name:0
156msgid "Galician / Galego"
157msgstr ""
158
159#. module: hr_language
160#: selection:hr.language,name:0
161msgid "Klingon"
162msgstr ""
163
164#. module: hr_language
165#: selection:hr.language,name:0
166msgid "Spanish (PY) / Español (PY)"
167msgstr ""
168
169#. module: hr_language
170#: selection:hr.language,name:0
171msgid "Urdu / اردو"
172msgstr ""
173
174#. module: hr_language
175#: selection:hr.language,name:0
176msgid "Catalan / Català"
177msgstr ""
178
179#. module: hr_language
180#: model:ir.model,name:hr_language.model_hr_language
181msgid "hr.language"
182msgstr ""
183
184#. module: hr_language
185#: selection:hr.language,name:0
186msgid "Serbian (Cyrillic) / српски"
187msgstr ""
188
189#. module: hr_language
190#: selection:hr.language,name:0
191msgid "Flemish (BE) / Vlaams (BE)"
192msgstr ""
193
194#. module: hr_language
195#: selection:hr.language,name:0
196msgid "Spanish / Español"
197msgstr ""
198
199#. module: hr_language
200#: selection:hr.language,name:0
201msgid "Chinese (TW) / 正體字"
202msgstr ""
203
204#. module: hr_language
205#: selection:hr.language,name:0
206msgid "Korean (KP) / 한국어 (KP)"
207msgstr ""
208
209#. module: hr_language
210#: selection:hr.language,name:0
211msgid "Portugese (BR) / Português (BR)"
212msgstr ""
213
214#. module: hr_language
215#: selection:hr.language,name:0
216msgid "Ukrainian / українська"
217msgstr ""
218
219#. module: hr_language
220#: selection:hr.language,name:0
221msgid "Spanish (AR) / Español (AR)"
222msgstr ""
223
224#. module: hr_language
225#: selection:hr.language,name:0
226msgid "Chinese (HK)"
227msgstr ""
228
229#. module: hr_language
230#: field:hr.language,speak:0
231msgid "Speak"
232msgstr ""
233
234#. module: hr_language
235#: selection:hr.language,name:0
236msgid "Spanish (GT) / Español (GT)"
237msgstr ""
238
239#. module: hr_language
240#: selection:hr.language,name:0
241msgid "Indonesian / Bahasa Indonesia"
242msgstr ""
243
244#. module: hr_language
245#: view:hr.employee:0
246#: field:hr.employee,language_ids:0
247#: view:hr.language:0
248#: model:ir.ui.menu,name:hr_language.menu_open_view_language_form
249msgid "Languages"
250msgstr ""
251
252#. module: hr_language
253#: selection:hr.language,name:0
254msgid "Spanish (PA) / Español (PA)"
255msgstr ""
256
257#. module: hr_language
258#: selection:hr.language,name:0
259msgid "Vietnamese / Tiếng Việt"
260msgstr ""
261
262#. module: hr_language
263#: selection:hr.language,name:0
264msgid "Slovak / Slovenský jazyk"
265msgstr ""
266
267#. module: hr_language
268#: selection:hr.language,name:0
269msgid "Latvian / latviešu valoda"
270msgstr ""
271
272#. module: hr_language
273#: selection:hr.language,name:0
274msgid "Spanish (CL) / Español (CL)"
275msgstr ""
276
277#. module: hr_language
278#: constraint:hr.employee:0
279msgid "Error ! You cannot create recursive Hierarchy of Employees."
280msgstr ""
281
282#. module: hr_language
283#: view:hr.language:0
284#: field:hr.language,name:0
285msgid "Language"
286msgstr ""
287
288#. module: hr_language
289#: selection:hr.language,name:0
290msgid "Italian / Italiano"
291msgstr ""
292
293#. module: hr_language
294#: selection:hr.language,name:0
295msgid "Bosnian / bosanski jezik"
296msgstr ""
297
298#. module: hr_language
299#: selection:hr.language,name:0
300msgid "Spanish (DO) / Español (DO)"
301msgstr ""
302
303#. module: hr_language
304#: selection:hr.language,name:0
305msgid "Norwegian Bokmål / Norsk bokmål"
306msgstr ""
307
308#. module: hr_language
309#: field:hr.language,write:0
310msgid "Write"
311msgstr ""
312
313#. module: hr_language
314#: selection:hr.language,name:0
315msgid "Finnish / Suomi"
316msgstr ""
317
318#. module: hr_language
319#: selection:hr.language,name:0
320msgid "German / Deutsch"
321msgstr ""
322
323#. module: hr_language
324#: selection:hr.language,name:0
325msgid "Spanish (MX) / Español (MX)"
326msgstr ""
327
328#. module: hr_language
329#: selection:hr.language,name:0
330msgid "Portugese / Português"
331msgstr ""
332
333#. module: hr_language
334#: selection:hr.language,name:0
335msgid "French / Français"
336msgstr ""
337
338#. module: hr_language
339#: selection:hr.language,name:0
340msgid "Greek / Ελληνικά"
341msgstr ""
342
343#. module: hr_language
344#: selection:hr.language,name:0
345msgid "Estonian / Eesti keel"
346msgstr ""
347
348#. module: hr_language
349#: selection:hr.language,name:0
350msgid "Turkish / Türkçe"
351msgstr ""
352
353#. module: hr_language
354#: selection:hr.language,name:0
355msgid "Spanish (SV) / Español (SV)"
356msgstr ""
357
358#. module: hr_language
359#: selection:hr.language,name:0
360msgid "Serbian (Latin) / srpski"
361msgstr ""
362
363#. module: hr_language
364#: field:hr.language,description:0
365msgid "Description"
366msgstr ""
367
368#. module: hr_language
369#: selection:hr.language,name:0
370msgid "Spanish (CR) / Español (CR)"
371msgstr ""
372
373#. module: hr_language
374#: field:hr.language,read:0
375msgid "Read"
376msgstr ""
377
378#. module: hr_language
379#: selection:hr.language,name:0
380msgid "English (US)"
381msgstr ""
382
383#. module: hr_language
384#: selection:hr.language,name:0
385msgid "Occitan (FR, post 1500) / Occitan"
386msgstr ""
387
388#. module: hr_language
389#: selection:hr.language,name:0
390msgid "Spanish (HN) / Español (HN)"
391msgstr ""
392
393#. module: hr_language
394#: selection:hr.language,name:0
395msgid "Hindi / हिंदी"
396msgstr ""
397
398#. module: hr_language
399#: selection:hr.language,name:0
400msgid "Mongolian / монгол"
401msgstr ""
402
403#. module: hr_language
404#: selection:hr.language,name:0
405msgid "Spanish (NI) / Español (NI)"
406msgstr ""
407
408#. module: hr_language
409#: selection:hr.language,name:0
410msgid "Malayalam / മലയാളം"
411msgstr ""
412
413#. module: hr_language
414#: selection:hr.language,name:0
415msgid "French (BE) / Français (BE)"
416msgstr ""
417
418#. module: hr_language
419#: selection:hr.language,name:0
420msgid "Thai / ภาษาไทย"
421msgstr ""
422
423#. module: hr_language
424#: selection:hr.language,name:0
425msgid "Slovenian / slovenščina"
426msgstr ""
427
428#. module: hr_language
429#: selection:hr.language,name:0
430msgid "Persian / فارس"
431msgstr ""
432
433#. module: hr_language
434#: selection:hr.language,name:0
435msgid "Polish / Język polski"
436msgstr ""
437
438#. module: hr_language
439#: selection:hr.language,name:0
440msgid "Swedish / svenska"
441msgstr ""
442
443#. module: hr_language
444#: selection:hr.language,name:0
445msgid "Chinese (CN) / 简体中文"
446msgstr ""
447
448#. module: hr_language
449#: selection:hr.language,name:0
450msgid "English (UK)"
451msgstr ""
452
453#. module: hr_language
454#: selection:hr.language,name:0
455msgid "Japanese / 日本語"
456msgstr ""
457
458#. module: hr_language
459#: selection:hr.language,name:0
460msgid "Russian / русский язык"
461msgstr ""
462
0463
=== added directory 'hr_language/security'
=== added file 'hr_language/security/ir.model.access.csv'
--- hr_language/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
+++ hr_language/security/ir.model.access.csv 2013-12-31 21:40:09 +0000
@@ -0,0 +1,2 @@
1"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
2"access_hr_language","hr.language","model_hr_language",base.group_hr_user,1,1,1,1

Subscribers

People subscribed via source and target branches