Guest User

Untitled

a guest
Jun 17th, 2018
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.36 KB | None | 0 0
  1. class MembersAreaController < PublicBaseController
  2.  
  3. before_filter :verify_member, :get_member
  4. include ApplicationHelper
  5.  
  6. def change_login_email_address
  7. @message_to_user="You must enter a valid email address to proceed."
  8. error_happened=true
  9.  
  10. if !params[:member_change_password].blank?
  11.  
  12. email_to_set_to=params[:member_change_password]
  13. if email_to_set_to =~ /^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/ and validate_email_domain(email_to_set_to)
  14. #update the email
  15.  
  16. existing_email_address=MemberEmail.find_by_email(email_to_set_to)
  17.  
  18. if existing_email_address.blank?
  19. existing_email_address=User.find_by_login(email_to_set_to)
  20. end
  21. #p "$$$$$$$$$$$$$$$$$$$#{existing_email_address.to_s}"
  22.  
  23. if existing_email_address.blank?
  24.  
  25. user_account=User.find_by_member_id(@member.id)
  26. user_account.login=email_to_set_to
  27. user_account.email=email_to_set_to
  28. user_account.save
  29.  
  30. if !@member.member_emails.include? email_to_set_to
  31. #insert this email address into the users account
  32. new_email=MemberEmail.new
  33. new_email.member_id=@member.id
  34. new_email.email=email_to_set_to
  35. new_email.email_type=DEFAULT_EMAIL_TYPE
  36. new_email.save
  37. end
  38.  
  39. @message_to_user="Your login email address has been updated."
  40. error_happened=false
  41. else
  42. #the email address already exists in our system
  43. if existing_email_address.member_id != @member.id
  44. @message_to_user="The email address you entered is already in use by another user. Please correct your entry and try again."
  45. error_happened=true
  46. else
  47. #the member is switching to an email address that exists already that they own
  48. user_account=User.find_by_member_id(@member.id)
  49. user_account.login=email_to_set_to
  50. user_account.email=email_to_set_to
  51. user_account.save
  52. @message_to_user="Your login email address has been updated."
  53. error_happened=false
  54. end
  55.  
  56.  
  57. end
  58. else
  59. @message_to_user="The email address you entered is not a valid email address. Please correct your entry and try again."
  60. error_happened=true
  61. end
  62.  
  63. end
  64.  
  65. render :update do |page|
  66. if error_happened
  67. page[:message_to_user].replace_html :partial => 'shared/message_to_user_error'
  68. page[:message_to_user].visual_effect :highlight
  69. else
  70. page[:message_to_user].replace_html :partial => 'shared/message_to_user_success'
  71. page[:message_to_user].visual_effect :highlight
  72. end
  73.  
  74. end
  75. end
  76.  
  77.  
  78. def edit_profile
  79.  
  80. render :update do |page|
  81. page[:general].replace_html :partial => 'general_form'
  82. end
  83. end
  84.  
  85. def update_profile
  86. differences=""
  87.  
  88. if !params[:work_address].blank?
  89. test=@member.get_work_address
  90. address=@member.get_work_address
  91. if address.nil?
  92. address=Address.new
  93. address.member_id=@member.id
  94. address.address_type="Work Address"
  95. end
  96. address.street=params[:work_address]['street'] rescue nil
  97. address.address1=params[:work_address]['address1'] rescue nil
  98. address.address2=params[:work_address]['address2'] rescue nil
  99. address.address3=params[:work_address]['address3'] rescue nil
  100. address.suite=params[:work_address]['suite'] rescue nil
  101. address.city=params[:work_address]['city'] rescue nil
  102. address.province=params[:work_address]['province'] rescue nil
  103. address.postal_code=params[:work_address]['postal_code'] rescue nil
  104. address.save
  105.  
  106. if !address.eql?(test)
  107. differences+="<br><br>#{nice_date(Time.now)}: Member's Business address has changed to:#{address.nice_address}"
  108. end
  109. end
  110.  
  111. if !params[:work_phone].blank?
  112. test=@member.get_work_phone
  113. phone=@member.get_work_phone
  114. if phone.nil?
  115. phone=Phone.new
  116. phone.member_id=@member.id
  117. phone.phone_type="Work Phone"
  118. end
  119. phone.phone=params[:work_phone][:phone] rescue nil
  120. phone.save
  121. if !phone.eql?(test)
  122. differences+="<br><br>#{nice_date(Time.now)}: Member's Business phone has changed to:#{phone.phone}"
  123. end
  124. end
  125.  
  126. if !params[:home_address].blank?
  127. test=@member.get_home_address
  128. address=@member.get_home_address
  129. if address.nil?
  130. address=Address.new
  131. address.member_id=@member.id
  132. address.address_type="Home Address"
  133. end
  134. address.street=params[:home_address][:street] rescue nil
  135. address.address1=params[:home_address][:address1] rescue nil
  136. address.address2=params[:home_address][:address2] rescue nil
  137. address.address3=params[:home_address][:address3] rescue nil
  138. address.suite=params[:home_address][:suite] rescue nil
  139. address.city=params[:home_address][:city] rescue nil
  140. address.province=params[:home_address][:province] rescue nil
  141. address.postal_code=params[:home_address][:postal_code] rescue nil
  142. address.save
  143. if !address.eql?(test)
  144. differences+="<br><br>#{nice_date(Time.now)}: Member's Home address has changed to:#{address.nice_address}"
  145. end
  146. end
  147.  
  148. if !params[:home_phone].blank?
  149. test=@member.get_home_phone
  150. phone=@member.get_home_phone
  151. if phone.nil?
  152. phone=Phone.new
  153. phone.member_id=@member.id
  154. phone.phone_type="Home Phone"
  155. end
  156. phone.phone=params[:home_phone][:phone] rescue nil
  157. phone.save
  158. if !phone.eql?(test)
  159. differences+="<br><br>#{nice_date(Time.now)}: Member's Home phone has changed to:#{phone.phone}"
  160. end
  161. end
  162.  
  163.  
  164. if differences!=""
  165. history=MemberHistory.find_by_member_id(@member.id)
  166. if history.nil?
  167. history=MemberHistory.new
  168. end
  169. history.note+=differences
  170. history.save
  171. end
  172.  
  173. render :update do |page|
  174. page[:general].replace_html :partial => 'general'
  175. end
  176. end
  177.  
  178.  
  179.  
  180. def change_password_submit
  181. message=''
  182. if !params['_password'].blank? && params[:id].to_i > 0
  183.  
  184. if params['_password']==params['_password_confirm']
  185. user=User.find_by_member_id(params[:id])
  186. if !user.nil?
  187. user.password=params['_password_confirm']
  188. user.password_confirmation=params['_password_confirm']
  189. if user.save
  190.  
  191. message='Your password has been saved'
  192. else
  193.  
  194. message='Error saving password'
  195. end
  196. else
  197.  
  198. message='Error saving password'
  199. end
  200.  
  201. else
  202. message='The password and password confirmation do not match'
  203. end
  204. else
  205. message='change_password_message', ' '
  206. end
  207. render :update do |page|
  208. page.insert_html :bottom, 'change_password_message', message + "<br><br>"
  209. end
  210. end
  211.  
  212.  
  213.  
  214. def pay_fees
  215. @program_offering=ProgramOffering.find_by_academic_year_id(get_current_academic_year.id,:conditions=>"name like '#{PROGRAM_OFFERING_MEMBERSHIP_PREFIX}%'")
  216. @debits=MemberDebit.find_all_by_program_offering_id_and_member_id(@program_offering.id,@member.id)
  217. @invoiced=MemberDebit.sum(:debit_amount,:conditions=>"member_id=#{@member.id} AND program_offering_id=#{@program_offering.id}").to_f
  218. @credits=0.0
  219. @debits.each do |deb|
  220. @credits+=MemberCredit.sum(:credit_amount,:conditions=>"member_debit_id=#{deb.id} AND payment_status=#{PAYMENT_CHEQUE_CLEARED_STATUS}").to_f
  221. end
  222. @amount_owing=@invoiced-@credits
  223. @order_number=MemberDebit.find_by_program_offering_id_and_member_id_and_parent_id(@program_offering.id,@member.id,nil).invoice_id rescue -1
  224.  
  225. if @amount_owing<=0.0
  226. redirect_to URL_BASE_MEMBERS_AREA
  227. end
  228. #order_info="#{@order_number};#{@amount_owing};#{@member.id};#{Time.now.to_s}"
  229. #@order_encrypted_data=scramble(order_info)
  230. end
  231.  
  232.  
  233.  
  234. def do_pending_payment
  235. if params['pending_payment_amount'].to_f > 0.0
  236. if params['payment_method'].to_i >0
  237. program_offering=ProgramOffering.find_by_academic_year_id(get_current_academic_year.id)
  238. order_number=MemberDebit.find_by_program_offering_id_and_member_id_and_parent_id(program_offering.id,@member.id,nil)
  239. #PAYMENT_PENDING_CHEQUE_PAYMENT_STATUS
  240. mc=MemberCredit.new
  241. mc.member_debit_id=order_number.id
  242. mc.credit_amount=params['pending_payment_amount'].to_f
  243. mc.payment_method=params['payment_method'].to_i
  244. mc.payment_status=PAYMENT_PENDING_CHEQUE_PAYMENT_STATUS
  245. mc.payment_pending_date=Time.now
  246. mc.notes=PAYMENT_NOTE_FROM_WEBSITE
  247. mc.date_of_transaction=Time.now
  248.  
  249. render :update do |page|
  250. if mc.save
  251. page.redirect_to "pay_thank_you"
  252. else
  253. page << "alert('There was an error entering your payment, please try again. If the problem persists please contact our administration. Thank You.');"
  254. end
  255. end
  256. end
  257. end
  258. end
  259.  
  260. def index
  261.  
  262. end
  263.  
  264. def show
  265. end
  266.  
  267. def my_services
  268. @debits = @member.get_active_debits_without_late_fee
  269. mpi=MemberPUFInfo.find_by_program_offering_id_and_member_id(ProgramOffering.find_by_academic_year_id(get_current_academic_year.id,:conditions=>"name like '#{PROGRAM_OFFERING_MEMBERSHIP_PREFIX}%'"),@member.id)
  270. if mpi.blank?
  271. @puf_completed=false
  272. else
  273. @puf_completed=true
  274. end
  275. end
  276.  
  277.  
  278.  
  279. def send_contact_admin
  280. ca = ContactAdmin.new(params[:contact_admin])
  281. @member.contact_admins << ca
  282. PostOffice.deliver_contact_admin(ca)
  283. flash[:notice] = "<strong>Message successfully sent to Administrator</strong>"
  284. render :action => :contact_admin
  285. end
  286.  
  287.  
  288.  
  289. def pay_success
  290. @spoof=false
  291. @refreshed_browser=false
  292. @cleared=false
  293.  
  294. #make sure no one is spoofing the payment info
  295.  
  296. transaction_copy=""
  297. params.each_pair {|key, value| transaction_copy+="#{key}=#{value};"}
  298.  
  299. if !params['trnOrderNumber'].blank?
  300. payinfo="#{params['trnOrderNumber']};#{params['trnAmount']}" rescue nil
  301.  
  302. if params['messageText']=='Approved'
  303.  
  304. if !payinfo.blank?
  305. if payinfo.include? ";"
  306. tmp_array=payinfo.split(";")
  307.  
  308. #get the amount owing based on the invoiceiD
  309. debits=MemberDebit.find_all_by_invoice_id(params['trnOrderNumber'])
  310. if debits!={}
  311. invoiced=MemberDebit.sum(:debit_amount,:conditions=>"invoice_id='#{params['trnOrderNumber']}'").to_f
  312. credits=0.0
  313. debits.each do |deb|
  314. credits+=MemberCredit.sum(:credit_amount,:conditions=>"member_debit_id=#{deb.id} AND payment_status=#{PAYMENT_CHEQUE_CLEARED_STATUS}").to_f
  315. end
  316. amount_owing=invoiced-credits
  317. else
  318. amount_owing=0.0
  319. end
  320.  
  321.  
  322.  
  323. #transaction_copy+="decrypted_data=#{payinfo}"
  324. #p "^^^^^^^^#{tmp_array}"
  325. if amount_owing>0.0
  326. md=MemberDebit.find_by_invoice_id(tmp_array[0])
  327.  
  328. if !md.blank?
  329. #check to see if the user has hit refresh on the page
  330. find_dupe_mc=MemberCredit.find_by_member_debit_id_and_credit_amount_and_payment_method_and_payment_status(md.id,amount_owing,PAYMENT_CREDITCARD_TYPE,PAYMENT_CHEQUE_CLEARED_STATUS)
  331.  
  332.  
  333.  
  334. if find_dupe_mc.blank?
  335. mc=MemberCredit.new
  336. mc.member_debit_id=md.id
  337. mc.credit_amount=amount_owing
  338. mc.payment_method=PAYMENT_CREDITCARD_TYPE
  339. mc.payment_status=PAYMENT_CHEQUE_CLEARED_STATUS
  340. mc.payment_pending_date=Time.now
  341. mc.payment_received_date=Time.now
  342. mc.payment_paid_date=Time.now
  343. mc.notes=PAYMENT_NOTE_FROM_WEBSITE
  344. mc.date_of_transaction=Time.now
  345. if mc.save
  346. @cleared=true
  347. end
  348. else
  349. @refreshed_browser=true
  350. @cleared=true #the member hit refresh, lets not show scary message
  351. end
  352. end
  353. else
  354. @refreshed_browser=true
  355. @cleared=true #the member hit refresh, lets not show scary message
  356. end
  357.  
  358.  
  359. end
  360. end
  361.  
  362. end
  363.  
  364.  
  365. end
  366. if !@refreshed_browser
  367. #create the transaction log
  368. cctl=CreditCardTranscationLog.new
  369. cctl.message=transaction_copy
  370. cctl.cleared=@cleared
  371. cctl.member_id=@member.id
  372. cctl.save
  373. end
  374.  
  375. end
  376.  
  377. def pay_fail
  378.  
  379. end
  380.  
  381.  
  382.  
  383.  
  384.  
  385. end
Add Comment
Please, Sign In to add comment