gitlab-org--gitlab-foss/doc/code/classes/User.html
2012-12-30 14:43:00 +02:00

566 lines
No EOL
19 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>User</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="../css/reset.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../css/main.css" type="text/css" media="screen" />
<link rel="stylesheet" href="../css/github.css" type="text/css" media="screen" />
<script src="../js/jquery-1.3.2.min.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/jquery-effect.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/main.js" type="text/javascript" charset="utf-8"></script>
<script src="../js/highlight.pack.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="banner">
<h1>
<span class="type">Class</span>
User
<span class="parent">&lt;
ActiveRecord::Base
</span>
</h1>
<ul class="files">
<li><a href="../files/app/models/user_rb.html">app/models/user.rb</a></li>
</ul>
</div>
<div id="bodyContent">
<div id="content">
<div class="description">
<h2 id="label-Schema+Information">Schema Information</h2>
<p>Table name: users</p>
<pre>id :integer not null, primary key
email :string(255) default(&quot;&quot;), not null
encrypted_password :string(255) default(&quot;&quot;), not null
reset_password_token :string(255)
reset_password_sent_at :datetime
remember_created_at :datetime
sign_in_count :integer default(0)
current_sign_in_at :datetime
last_sign_in_at :datetime
current_sign_in_ip :string(255)
last_sign_in_ip :string(255)
created_at :datetime not null
updated_at :datetime not null
name :string(255)
admin :boolean default(FALSE), not null
projects_limit :integer default(10)
skype :string(255) default(&quot;&quot;), not null
linkedin :string(255) default(&quot;&quot;), not null
twitter :string(255) default(&quot;&quot;), not null
authentication_token :string(255)
dark_scheme :boolean default(FALSE), not null
theme_id :integer default(1), not null
bio :string(255)
blocked :boolean default(FALSE), not null
failed_attempts :integer default(0)
locked_at :datetime
extern_uid :string(255)
provider :string(255)
username :string(255)</pre>
</div>
<!-- Method ref -->
<div class="sectiontitle">Methods</div>
<dl class="methods">
<dt>C</dt>
<dd>
<ul>
<li>
<a href="#method-c-create_from_omniauth">create_from_omniauth</a>
</li>
</ul>
</dd>
<dt>F</dt>
<dd>
<ul>
<li>
<a href="#method-c-filter">filter</a>,
</li>
<li>
<a href="#method-c-find_for_ldap_auth">find_for_ldap_auth</a>,
</li>
<li>
<a href="#method-c-find_or_new_for_omniauth">find_or_new_for_omniauth</a>
</li>
</ul>
</dd>
<dt>G</dt>
<dd>
<ul>
<li>
<a href="#method-i-generate_password">generate_password</a>,
</li>
<li>
<a href="#method-c-gitlab_auth">gitlab_auth</a>
</li>
</ul>
</dd>
<dt>N</dt>
<dd>
<ul>
<li>
<a href="#method-c-not_in_project">not_in_project</a>
</li>
</ul>
</dd>
<dt>S</dt>
<dd>
<ul>
<li>
<a href="#method-c-search">search</a>
</li>
</ul>
</dd>
<dt>W</dt>
<dd>
<ul>
<li>
<a href="#method-c-without_projects">without_projects</a>
</li>
</ul>
</dd>
</dl>
<!-- Includes -->
<div class="sectiontitle">Included Modules</div>
<ul>
<li>
<a href="Account.html">
Account
</a>
</li>
</ul>
<!-- Section attributes -->
<div class="sectiontitle">Attributes</div>
<table border='0' cellpadding='5'>
<tr valign='top'>
<td class='attr-rw'>
[RW]
</td>
<td class='attr-name'>force_random_password</td>
<td class='attr-desc'></td>
</tr>
</table>
<!-- Methods -->
<div class="sectiontitle">Class Public methods</div>
<div class="method">
<div class="title method-title" id="method-c-create_from_omniauth">
<b>create_from_omniauth</b>(auth, ldap = false)
<a href="../classes/User.html#method-c-create_from_omniauth" name="method-c-create_from_omniauth" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-create_from_omniauth_source')" id="l_method-c-create_from_omniauth_source">show</a>
</p>
<div id="method-c-create_from_omniauth_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 108</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">create_from_omniauth</span>(<span class="ruby-identifier">auth</span>, <span class="ruby-identifier">ldap</span> = <span class="ruby-keyword">false</span>)
<span class="ruby-identifier">gitlab_auth</span>.<span class="ruby-identifier">create_from_omniauth</span>(<span class="ruby-identifier">auth</span>, <span class="ruby-identifier">ldap</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-c-filter">
<b>filter</b>(filter_name)
<a href="../classes/User.html#method-c-filter" name="method-c-filter" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-filter_source')" id="l_method-c-filter_source">show</a>
</p>
<div id="method-c-filter_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 86</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">filter</span> <span class="ruby-identifier">filter_name</span>
<span class="ruby-keyword">case</span> <span class="ruby-identifier">filter_name</span>
<span class="ruby-keyword">when</span> <span class="ruby-string">&quot;admins&quot;</span>; <span class="ruby-keyword">self</span>.<span class="ruby-identifier">admins</span>
<span class="ruby-keyword">when</span> <span class="ruby-string">&quot;blocked&quot;</span>; <span class="ruby-keyword">self</span>.<span class="ruby-identifier">blocked</span>
<span class="ruby-keyword">when</span> <span class="ruby-string">&quot;wop&quot;</span>; <span class="ruby-keyword">self</span>.<span class="ruby-identifier">without_projects</span>
<span class="ruby-keyword">else</span>
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">active</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-c-find_for_ldap_auth">
<b>find_for_ldap_auth</b>(auth, signed_in_resource = nil)
<a href="../classes/User.html#method-c-find_for_ldap_auth" name="method-c-find_for_ldap_auth" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-find_for_ldap_auth_source')" id="l_method-c-find_for_ldap_auth_source">show</a>
</p>
<div id="method-c-find_for_ldap_auth_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 116</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">find_for_ldap_auth</span>(<span class="ruby-identifier">auth</span>, <span class="ruby-identifier">signed_in_resource</span> = <span class="ruby-keyword">nil</span>)
<span class="ruby-identifier">gitlab_auth</span>.<span class="ruby-identifier">find_for_ldap_auth</span>(<span class="ruby-identifier">auth</span>, <span class="ruby-identifier">signed_in_resource</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-c-find_or_new_for_omniauth">
<b>find_or_new_for_omniauth</b>(auth)
<a href="../classes/User.html#method-c-find_or_new_for_omniauth" name="method-c-find_or_new_for_omniauth" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-find_or_new_for_omniauth_source')" id="l_method-c-find_or_new_for_omniauth_source">show</a>
</p>
<div id="method-c-find_or_new_for_omniauth_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 112</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">find_or_new_for_omniauth</span>(<span class="ruby-identifier">auth</span>)
<span class="ruby-identifier">gitlab_auth</span>.<span class="ruby-identifier">find_or_new_for_omniauth</span>(<span class="ruby-identifier">auth</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-c-gitlab_auth">
<b>gitlab_auth</b>()
<a href="../classes/User.html#method-c-gitlab_auth" name="method-c-gitlab_auth" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-gitlab_auth_source')" id="l_method-c-gitlab_auth_source">show</a>
</p>
<div id="method-c-gitlab_auth_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 120</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">gitlab_auth</span>
<span class="ruby-constant">Gitlab</span><span class="ruby-operator">::</span><span class="ruby-constant">Auth</span>.<span class="ruby-identifier">new</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-c-not_in_project">
<b>not_in_project</b>(project)
<a href="../classes/User.html#method-c-not_in_project" name="method-c-not_in_project" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-not_in_project_source')" id="l_method-c-not_in_project_source">show</a>
</p>
<div id="method-c-not_in_project_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 96</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">not_in_project</span>(<span class="ruby-identifier">project</span>)
<span class="ruby-keyword">if</span> <span class="ruby-identifier">project</span>.<span class="ruby-identifier">users</span>.<span class="ruby-identifier">present?</span>
<span class="ruby-identifier">where</span>(<span class="ruby-string">&quot;id not in (:ids)&quot;</span>, <span class="ruby-identifier">ids</span><span class="ruby-operator">:</span> <span class="ruby-identifier">project</span>.<span class="ruby-identifier">users</span>.<span class="ruby-identifier">map</span>(&amp;<span class="ruby-value">:id</span>) )
<span class="ruby-keyword">else</span>
<span class="ruby-identifier">scoped</span>
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-c-search">
<b>search</b>(query)
<a href="../classes/User.html#method-c-search" name="method-c-search" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-search_source')" id="l_method-c-search_source">show</a>
</p>
<div id="method-c-search_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 124</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">search</span> <span class="ruby-identifier">query</span>
<span class="ruby-identifier">where</span>(<span class="ruby-string">&quot;name LIKE :query or email LIKE :query&quot;</span>, <span class="ruby-identifier">query</span><span class="ruby-operator">:</span> <span class="ruby-node">&quot;%#{query}%&quot;</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="method">
<div class="title method-title" id="method-c-without_projects">
<b>without_projects</b>()
<a href="../classes/User.html#method-c-without_projects" name="method-c-without_projects" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-c-without_projects_source')" id="l_method-c-without_projects_source">show</a>
</p>
<div id="method-c-without_projects_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 104</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">without_projects</span>
<span class="ruby-identifier">where</span>(<span class="ruby-string">'id NOT IN (SELECT DISTINCT(user_id) FROM users_projects)'</span>)
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
<div class="sectiontitle">Instance Public methods</div>
<div class="method">
<div class="title method-title" id="method-i-generate_password">
<b>generate_password</b>()
<a href="../classes/User.html#method-i-generate_password" name="method-i-generate_password" class="permalink">Link</a>
</div>
<div class="description">
</div>
<div class="sourcecode">
<p class="source-link">
Source:
<a href="javascript:toggleSource('method-i-generate_password_source')" id="l_method-i-generate_password_source">show</a>
</p>
<div id="method-i-generate_password_source" class="dyn-source">
<pre><span class="ruby-comment"># File app/models/user.rb, line 129</span>
<span class="ruby-keyword">def</span> <span class="ruby-keyword ruby-title">generate_password</span>
<span class="ruby-keyword">if</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">force_random_password</span>
<span class="ruby-keyword">self</span>.<span class="ruby-identifier">password</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">password_confirmation</span> = <span class="ruby-constant">Devise</span>.<span class="ruby-identifier">friendly_token</span>.<span class="ruby-identifier">first</span>(<span class="ruby-number">8</span>)
<span class="ruby-keyword">end</span>
<span class="ruby-keyword">end</span></pre>
</div>
</div>
</div>
</div>
</div>
</body>
</html>