Revision 1297:0a574315af3e .svn/pristine/53

View differences:

.svn/pristine/53/5324579083fdcc5b99f25f25551b161fc6c450c1.svn-base
1
# Redmine - project management software
2
# Copyright (C) 2006-2012  Jean-Philippe Lang
3
#
4
# This program is free software; you can redistribute it and/or
5
# modify it under the terms of the GNU General Public License
6
# as published by the Free Software Foundation; either version 2
7
# of the License, or (at your option) any later version.
8
#
9
# This program is distributed in the hope that it will be useful,
10
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
# GNU General Public License for more details.
13
#
14
# You should have received a copy of the GNU General Public License
15
# along with this program; if not, write to the Free Software
16
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
17

  
18
class MemberRole < ActiveRecord::Base
19
  belongs_to :member
20
  belongs_to :role
21

  
22
  after_destroy :remove_member_if_empty
23

  
24
  after_create :add_role_to_group_users
25
  after_destroy :remove_role_from_group_users
26

  
27
  validates_presence_of :role
28
  validate :validate_role_member
29

  
30
  def validate_role_member
31
    errors.add :role_id, :invalid if role && !role.member?
32
  end
33

  
34
  def inherited?
35
    !inherited_from.nil?
36
  end
37

  
38
  private
39

  
40
  def remove_member_if_empty
41
    if member.roles.empty?
42
      member.destroy
43
    end
44
  end
45

  
46
  def add_role_to_group_users
47
    if member.principal.is_a?(Group)
48
      member.principal.users.each do |user|
49
        user_member = Member.find_by_project_id_and_user_id(member.project_id, user.id) || Member.new(:project_id => member.project_id, :user_id => user.id)
50
        user_member.member_roles << MemberRole.new(:role => role, :inherited_from => id)
51
        user_member.save!
52
      end
53
    end
54
  end
55

  
56
  def remove_role_from_group_users
57
    MemberRole.find(:all, :conditions => { :inherited_from => id }).group_by(&:member).each do |member, member_roles|
58
      member_roles.each(&:destroy)
59
      if member && member.user
60
        Watcher.prune(:user => member.user, :project => member.project)
61
      end
62
    end
63
  end
64
end
.svn/pristine/53/5351113c903a72a9248a00117b5118ac4bdf3d73.svn-base
1
/* Bulgarian initialisation for the jQuery UI date picker plugin. */
2
/* Written by Stoyan Kyosev (http://svest.org). */
3
jQuery(function($){
4
    $.datepicker.regional['bg'] = {
5
        closeText: 'затвори',
6
        prevText: '&#x3c;назад',
7
        nextText: 'напред&#x3e;',
8
		nextBigText: '&#x3e;&#x3e;',
9
        currentText: 'днес',
10
        monthNames: ['Януари','Февруари','Март','Април','Май','Юни',
11
        'Юли','Август','Септември','Октомври','Ноември','Декември'],
12
        monthNamesShort: ['Яну','Фев','Мар','Апр','Май','Юни',
13
        'Юли','Авг','Сеп','Окт','Нов','Дек'],
14
        dayNames: ['Неделя','Понеделник','Вторник','Сряда','Четвъртък','Петък','Събота'],
15
        dayNamesShort: ['Нед','Пон','Вто','Сря','Чет','Пет','Съб'],
16
        dayNamesMin: ['Не','По','Вт','Ср','Че','Пе','Съ'],
17
		weekHeader: 'Wk',
18
        dateFormat: 'dd.mm.yy',
19
		firstDay: 1,
20
        isRTL: false,
21
		showMonthAfterYear: false,
22
		yearSuffix: ''};
23
    $.datepicker.setDefaults($.datepicker.regional['bg']);
24
});
.svn/pristine/53/53b5f242938d157ff2dae7c897102294dd6da41c.svn-base
1
<div class="contextual">
2
<%= link_to(l(:button_change_password), {:action => 'password'}, :class => 'icon icon-passwd') if @user.change_password_allowed? %>
3
<%= call_hook(:view_my_account_contextual, :user => @user)%>
4
</div>
5

  
6
<h2><%=l(:label_my_account)%></h2>
7
<%= error_messages_for 'user' %>
8

  
9
<%= labelled_form_for :user, @user,
10
                     :url => { :action => "account" },
11
                     :html => { :id => 'my_account_form',
12
                                :method => :post } do |f| %>
13
<div class="splitcontentleft">
14
<fieldset class="box tabular">
15
  <legend><%=l(:label_information_plural)%></legend>
16
  <p><%= f.text_field :firstname, :required => true %></p>
17
  <p><%= f.text_field :lastname, :required => true %></p>
18
  <p><%= f.text_field :mail, :required => true %></p>
19
  <p><%= f.select :language, lang_options_for_select %></p>
20
  <% if Setting.openid? %>
21
  <p><%= f.text_field :identity_url  %></p>
22
  <% end %>
23

  
24
  <% @user.custom_field_values.select(&:editable?).each do |value| %>
25
    <p><%= custom_field_tag_with_label :user, value %></p>
26
  <% end %>
27
  <%= call_hook(:view_my_account, :user => @user, :form => f) %>
28
</fieldset>
29

  
30
<%= submit_tag l(:button_save) %>
31
</div>
32

  
33
<div class="splitcontentright">
34
<fieldset class="box">
35
  <legend><%=l(:field_mail_notification)%></legend>
36
  <%= render :partial => 'users/mail_notifications' %>
37
</fieldset>
38

  
39
<fieldset class="box tabular">
40
  <legend><%=l(:label_preferences)%></legend>
41
  <%= render :partial => 'users/preferences' %>
42
</fieldset>
43

  
44
</div>
45
<% end %>
46

  
47
<% content_for :sidebar do %>
48
<%= render :partial => 'sidebar' %>
49
<% end %>
50

  
51
<% html_title(l(:label_my_account)) -%>
.svn/pristine/53/53f9722b2c2d8c987d713c517d4936d1d25cdf27.svn-base
1
--- 
2
wiki_pages_001: 
3
  created_on: 2007-03-07 00:08:07 +01:00
4
  title: CookBook_documentation
5
  id: 1
6
  wiki_id: 1
7
  protected: true
8
  parent_id: 
9
wiki_pages_002: 
10
  created_on: 2007-03-08 00:18:07 +01:00
11
  title: Another_page
12
  id: 2
13
  wiki_id: 1
14
  protected: false
15
  parent_id: 
16
wiki_pages_003: 
17
  created_on: 2007-03-08 00:18:07 +01:00
18
  title: Start_page
19
  id: 3
20
  wiki_id: 2
21
  protected: false
22
  parent_id: 
23
wiki_pages_004: 
24
  created_on: 2007-03-08 00:18:07 +01:00
25
  title: Page_with_an_inline_image
26
  id: 4
27
  wiki_id: 1
28
  protected: false
29
  parent_id: 1
30
wiki_pages_005: 
31
  created_on: 2007-03-08 00:18:07 +01:00
32
  title: Child_1
33
  id: 5
34
  wiki_id: 1
35
  protected: false
36
  parent_id: 2
37
wiki_pages_006: 
38
  created_on: 2007-03-08 00:18:07 +01:00
39
  title: Child_2
40
  id: 6
41
  wiki_id: 1
42
  protected: false
43
  parent_id: 2
44
wiki_pages_007: 
45
  created_on: 2007-03-08 00:18:07 +01:00
46
  title: Child_page_1
47
  id: 7
48
  wiki_id: 2
49
  protected: false
50
  parent_id: 8
51
wiki_pages_008: 
52
  created_on: 2007-03-08 00:18:07 +01:00
53
  title: Parent_page
54
  id: 8
55
  wiki_id: 2
56
  protected: false
57
  parent_id: 
58
wiki_pages_009: 
59
  created_on: 2007-03-08 00:18:07 +01:00
60
  title: Child_page_2
61
  id: 9
62
  wiki_id: 2
63
  protected: false
64
  parent_id: 8
65
wiki_pages_010: 
66
  created_on: 2007-03-08 00:18:07 +01:00
67
  title: Этика_менеджмента
68
  id: 10
69
  wiki_id: 1
70
  protected: false
71
  parent_id: 
72
wiki_pages_011: 
73
  created_on: 2007-03-08 00:18:07 +01:00
74
  title: Page_with_sections
75
  id: 11
76
  wiki_id: 1
77
  protected: false
78
  parent_id: 
79
wiki_pages_012: 
80
  created_on: 2007-03-08 00:18:07 +01:00
81
  title: Child_1_1
82
  id: 12
83
  wiki_id: 1
84
  protected: false
85
  parent_id: 5

Also available in: Unified diff