Guest User

Untitled

a guest
Mar 2nd, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.20 KB | None | 0 0
  1. def save_profile
  2. unless params[:user].blank?
  3. if params[:user][:uploaded_picture].blank?
  4. params[:user].delete(:uploaded_picture)
  5. end
  6. end
  7.  
  8. u = current_user
  9. err_msg = nil
  10. begin
  11. u.update_attributes(params[:user])
  12. rescue Magick::ImageMagickError
  13. err_msg = 'Das Bild konnte nicht hochgeladen werden'
  14. rescue
  15. err_msg = 'Die Daten konnten nicht gespeichert werden'
  16. end
  17.  
  18. u.sex = params[:sex]
  19. u.street = params[:street]
  20. u.postal_code = params[:postal_code]
  21. u.city_name = params[:city_name]
  22. u.university_id = params[:university_id]
  23. u.country_id = params[:country]
  24. u.field_of_study_id = params[:field_of_study_id].to_i
  25. u.semester = params[:semester]
  26. u.age_group = params[:age_group]
  27. u.soc_studivz = params[:soc_studivz]
  28. u.soc_studivz_num_contacts = params[:soc_studivz_num_contacts]
  29. u.soc_xing = params[:soc_xing]
  30. u.soc_xing_num_contacts = params[:soc_xing_num_contacts]
  31. u.soc_skype = params[:soc_skype]
  32. u.soc_blog = params[:soc_blog]
  33. u.soc_other = params[:soc_other]
  34. u.soc_other_type = params[:soc_other_type]
  35. u.soc_other_num_contacts = params[:soc_other_num_contacts]
  36. u.mobile_phone = params[:mobile_phone]
  37. u.martial_status = params[:martial_status]
  38. u.clubs = params[:clubs]
  39. u.interested_in = params[:interested_in]
  40. u.why_smaboo = params[:why_smaboo]
  41. u.bank_account = params[:bank_account]
  42. u.bank_name = params[:bank_name]
  43. u.bank_account_holder = params[:bank_account_holder]
  44. u.bank_code = params[:bank_code]
  45. u.bank_iban = params[:bank_iban]
  46. u.bank_swift_bic = params[:bank_swift_bic]
  47.  
  48. [:notebook_brand_id, :notebook_tag_type_id].each{|v| params[v] = params[:user][v]}
  49.  
  50. User.required_fields_in_profile.each do |f|
  51. if !err_msg.nil? || params[f].blank?
  52. @current_user = u
  53. @user = @current_user
  54. @university_id = params[:university_id].to_i
  55. @city_id = params[:city_id].to_i
  56. @region_id = params[:region_id].to_i
  57. @country_id = params[:country_id].to_i
  58. @is_agent = @current_user.is_agent?
  59. @is_promoter = @current_user.is_promoter?
  60.  
  61. @required_fields = User.required_fields_in_profile
  62. if err_msg.nil?
  63. flash[:error] = 'Bitte fülle alle Pflichtfelder aus!' # + f.to_s
  64. else
  65. flash[:error] = err_msg
  66. end
  67. render :action => "profile"
  68. return
  69. end
  70. end
  71.  
  72. if(params[:email_new] != params[:email_new_conf])
  73. flash[:error] = 'Bitte bestätige deine Email.'
  74. redirect_to :action => 'profile'
  75. return
  76. end
  77. unless params[:email_new].blank?
  78. if(!params[:email_new].valid_email?)
  79. flash[:error] = 'Bitte gib eine gültige Emailadresse ein.'
  80. redirect_to :action => 'profile'
  81. return
  82. end
  83. u.email = params[:email_new]
  84. end
  85.  
  86. has_blank_pwd = false
  87. has_non_blank_pwd = false
  88. [:pwd_old, :pwd_new, :pwd_new_conf].each do |t|
  89. if params[t].blank?
  90. has_blank_pwd = true
  91. else
  92. has_non_blank_pwd = true
  93. end
  94. end
  95.  
  96. if has_blank_pwd && has_non_blank_pwd
  97. flash[:error] = 'Um das Passwort zu ändern, müssen alle Passwortfelder ausgefüllt werden'
  98. redirect_to :action => 'profile'
  99. return
  100. end
  101. if has_non_blank_pwd
  102. lo = u.login
  103. my_hashed = Login.encrypted_password(params[:pwd_old])
  104. if lo.hashed_password == my_hashed
  105. if (params[:pwd_new] == params[:pwd_new_conf])
  106. lo.password = params[:pwd_new]
  107. unless lo.save
  108. flash[:error] = "Das Passwort konnte nicht gespeichert werden"
  109. redirect_to :action => 'profile'
  110. return
  111. end
  112. else
  113. flash[:error] = "Die Passwörter stimmen nicht überein"
  114. redirect_to :action => 'profile'
  115. return
  116. end
  117. else
  118. flash[:error] = "Das eingegebene (alte) Passwort ist falsch"
  119. redirect_to :action => 'profile'
  120. return
  121. end
  122. end
  123.  
  124. u.save!
  125. flash[:notice] = 'Deine Änderungen wurden gespeichert.'
  126. redirect_to(:action => "profile")
  127. end
Add Comment
Please, Sign In to add comment