seeds.rb 73 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865
  1. # encoding: utf-8
  2. # This file should contain all the record creation needed to seed the database with its default values.
  3. # The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
  4. #
  5. # Examples:
  6. #
  7. # cities = City.create([{ :name => 'Chicago' }, { :name => 'Copenhagen' }])
  8. # Mayor.create(:name => 'Emanuel', :city => cities.first)
  9. Setting.create_if_not_exists(
  10. :title => 'Product Name',
  11. :name => 'product_name',
  12. :area => 'System::Base',
  13. :description => 'Defines the name of the application, shown in the web interface, tabs and title bar of the web browser.',
  14. :options => {
  15. :form => [
  16. {
  17. :display => '',
  18. :null => false,
  19. :name => 'product_name',
  20. :tag => 'input',
  21. },
  22. ],
  23. },
  24. :state => 'Zammad',
  25. :frontend => true
  26. )
  27. Setting.create_if_not_exists(
  28. :title => 'Organization',
  29. :name => 'organization',
  30. :area => 'System::Base',
  31. :description => 'Will also be included in emails as an X-Header.',
  32. :options => {
  33. :form => [
  34. {
  35. :display => '',
  36. :null => false,
  37. :name => 'organization',
  38. :tag => 'input',
  39. },
  40. ],
  41. },
  42. :state => 'Example Inc.',
  43. :frontend => true
  44. )
  45. Setting.create_if_not_exists(
  46. :title => 'SystemID',
  47. :name => 'system_id',
  48. :area => 'System::Base',
  49. :description => 'Defines the system identifier. Every ticket number contains this ID. This ensures that only tickets which belong to your system will be processed as follow-ups (useful when communicating between two instances of Zammad).',
  50. :options => {
  51. :form => [
  52. {
  53. :display => '',
  54. :null => true,
  55. :name => 'system_id',
  56. :tag => 'select',
  57. :options => {
  58. '10' => '10',
  59. '11' => '11',
  60. '12' => '12',
  61. '13' => '13',
  62. },
  63. },
  64. ],
  65. },
  66. :state => '10',
  67. :frontend => true
  68. )
  69. Setting.create_if_not_exists(
  70. :title => 'Fully Qualified Domain Name',
  71. :name => 'fqdn',
  72. :area => 'System::Base',
  73. :description => 'Defines the fully qualified domain name of the system. This setting is used as a variable, #{setting.fqdn} which is found in all forms of messaging used by the application, to build links to the tickets within your system.',
  74. :options => {
  75. :form => [
  76. {
  77. :display => '',
  78. :null => false,
  79. :name => 'fqdn',
  80. :tag => 'input',
  81. },
  82. ],
  83. },
  84. :state => 'zammad.example.com',
  85. :frontend => true
  86. )
  87. Setting.create_if_not_exists(
  88. :title => 'http type',
  89. :name => 'http_type',
  90. :area => 'System::Base',
  91. :description => 'Defines the type of protocol, used by the web server, to serve the application. If https protocol will be used instead of plain http, it must be specified in here. Since this has no affect on the web server\'s settings or behavior, it will not change the method of access to the application and, if it is wrong, it will not prevent you from logging into the application. This setting is used as a variable, #{setting.http_type} which is found in all forms of messaging used by the application, to build links to the tickets within your system.',
  92. :options => {
  93. :form => [
  94. {
  95. :display => '',
  96. :null => true,
  97. :name => 'http_type',
  98. :tag => 'select',
  99. :options => {
  100. 'https' => 'https',
  101. 'http' => 'http',
  102. },
  103. },
  104. ],
  105. },
  106. :state => 'http',
  107. :frontend => true
  108. )
  109. Setting.create_if_not_exists(
  110. :title => 'Storage Mechanism',
  111. :name => 'storage',
  112. :area => 'System::Storage',
  113. :description => '"Database" stores all attachments in the database (not recommended for storing large amounts of data). "Filesystem" stores the data on the filesystem. You can switch between the modules even on a system that is already in production without any loss of data.',
  114. :options => {
  115. :form => [
  116. {
  117. :display => '',
  118. :null => true,
  119. :name => 'storage',
  120. :tag => 'select',
  121. :options => {
  122. 'DB' => 'Database',
  123. 'FS' => 'Filesystem',
  124. },
  125. },
  126. ],
  127. },
  128. :state => 'DB',
  129. :frontend => false
  130. )
  131. Setting.create_if_not_exists(
  132. :title => 'Geo Location Backend',
  133. :name => 'geo_location_backend',
  134. :area => 'System::Geo',
  135. :description => 'Defines the backend for geo location lookups.',
  136. :options => {
  137. :form => [
  138. {
  139. :display => '',
  140. :null => true,
  141. :name => 'geo_location_backend',
  142. :tag => 'select',
  143. :options => {
  144. '' => '-',
  145. 'GeoLocation::Gmaps' => 'Google Maps',
  146. },
  147. },
  148. ],
  149. },
  150. :state => 'GeoLocation::Gmaps',
  151. :frontend => false
  152. )
  153. Setting.create_if_not_exists(
  154. :title => 'Geo IP Backend',
  155. :name => 'geo_ip_backend',
  156. :area => 'System::Geo',
  157. :description => 'Defines the backend for geo ip lookups.',
  158. :options => {
  159. :form => [
  160. {
  161. :display => '',
  162. :null => true,
  163. :name => 'geo_ip_backend',
  164. :tag => 'select',
  165. :options => {
  166. '' => '-',
  167. 'GeoIp::Freegeoip' => 'freegeoip.net',
  168. },
  169. },
  170. ],
  171. },
  172. :state => 'GeoIp::Freegeoip',
  173. :frontend => false
  174. )
  175. Setting.create_if_not_exists(
  176. :title => 'New User Accounts',
  177. :name => 'user_create_account',
  178. :area => 'Security::Base',
  179. :description => 'Enables users to create their own account via web interface.',
  180. :options => {
  181. :form => [
  182. {
  183. :display => '',
  184. :null => true,
  185. :name => 'user_create_account',
  186. :tag => 'boolean',
  187. :options => {
  188. true => 'yes',
  189. false => 'no',
  190. },
  191. },
  192. ],
  193. },
  194. :state => true,
  195. :frontend => true
  196. )
  197. Setting.create_if_not_exists(
  198. :title => 'Lost Password',
  199. :name => 'user_lost_password',
  200. :area => 'Security::Base',
  201. :description => 'Activates lost password feature for agents, in the agent interface.',
  202. :options => {
  203. :form => [
  204. {
  205. :display => '',
  206. :null => true,
  207. :name => 'user_lost_password',
  208. :tag => 'boolean',
  209. :options => {
  210. true => 'yes',
  211. false => 'no',
  212. },
  213. },
  214. ],
  215. },
  216. :state => true,
  217. :frontend => true
  218. )
  219. Setting.create_if_not_exists(
  220. :title => 'Switch to User',
  221. :name => 'switch_to_user',
  222. :area => 'Security::Base',
  223. :description => 'Allows the administrators to login as other users, via the users administration panel.',
  224. :options => {
  225. :form => [
  226. {
  227. :display => '',
  228. :null => true,
  229. :name => 'switch_to_user',
  230. :tag => 'boolean',
  231. :options => {
  232. true => 'yes',
  233. false => 'no',
  234. },
  235. },
  236. ],
  237. },
  238. :state => false,
  239. :frontend => true
  240. )
  241. Setting.create_if_not_exists(
  242. :title => 'Authentication via OTRS',
  243. :name => 'auth_otrs',
  244. :area => 'Security::Authentication',
  245. :description => 'Enables user authentication via OTRS.',
  246. :state => {
  247. :adapter => 'Auth::Otrs',
  248. :required_group_ro => 'stats',
  249. :group_rw_role_map => {
  250. 'admin' => 'Admin',
  251. 'stats' => 'Report',
  252. },
  253. :group_ro_role_map => {
  254. 'stats' => 'Report',
  255. },
  256. :always_role => {
  257. 'Agent' => true,
  258. },
  259. },
  260. :frontend => false
  261. )
  262. Setting.create_if_not_exists(
  263. :title => 'Authentication via LDAP',
  264. :name => 'auth_ldap',
  265. :area => 'Security::Authentication',
  266. :description => 'Enables user authentication via LDAP.',
  267. :state => {
  268. :adapter => 'Auth::Ldap',
  269. :host => 'localhost',
  270. :port => 389,
  271. :bind_dn => 'cn=Manager,dc=example,dc=org',
  272. :bind_pw => 'example',
  273. :uid => 'mail',
  274. :base => 'dc=example,dc=org',
  275. :always_filter => '',
  276. :always_roles => ['Admin', 'Agent'],
  277. :always_groups => ['Users'],
  278. :sync_params => {
  279. :firstname => 'sn',
  280. :lastname => 'givenName',
  281. :email => 'mail',
  282. :login => 'mail',
  283. },
  284. },
  285. :frontend => false
  286. )
  287. Setting.create_if_not_exists(
  288. :title => 'Authentication via Twitter',
  289. :name => 'auth_twitter',
  290. :area => 'Security::ThirdPartyAuthentication',
  291. :description => 'Enables user authentication via twitter. Register your app first at https://dev.twitter.com/apps',
  292. :options => {
  293. :form => [
  294. {
  295. :display => '',
  296. :null => true,
  297. :name => 'auth_twitter',
  298. :tag => 'boolean',
  299. :options => {
  300. true => 'yes',
  301. false => 'no',
  302. },
  303. },
  304. ],
  305. },
  306. :state => false,
  307. :frontend => true
  308. )
  309. Setting.create_if_not_exists(
  310. :title => 'Twitter App Credentials',
  311. :name => 'auth_twitter_credentials',
  312. :area => 'Security::ThirdPartyAuthentication',
  313. :description => 'App credentials for Twitter.',
  314. :options => {
  315. :form => [
  316. {
  317. :display => 'Twitter Key',
  318. :null => true,
  319. :name => 'key',
  320. :tag => 'input',
  321. },
  322. {
  323. :display => 'Twitter Secret',
  324. :null => true,
  325. :name => 'secret',
  326. :tag => 'input',
  327. },
  328. ],
  329. },
  330. :state => {},
  331. :frontend => false
  332. )
  333. Setting.create_if_not_exists(
  334. :title => 'Authentication via Facebook',
  335. :name => 'auth_facebook',
  336. :area => 'Security::ThirdPartyAuthentication',
  337. :description => 'Enables user authentication via Facebook. Register your app first at https://developers.facebook.com/apps/',
  338. :options => {
  339. :form => [
  340. {
  341. :display => '',
  342. :null => true,
  343. :name => 'auth_facebook',
  344. :tag => 'boolean',
  345. :options => {
  346. true => 'yes',
  347. false => 'no',
  348. },
  349. },
  350. ],
  351. },
  352. :state => false,
  353. :frontend => true
  354. )
  355. Setting.create_if_not_exists(
  356. :title => 'Facebook App Credentials',
  357. :name => 'auth_facebook_credentials',
  358. :area => 'Security::ThirdPartyAuthentication',
  359. :description => 'App credentials for Facebook.',
  360. :options => {
  361. :form => [
  362. {
  363. :display => 'App ID',
  364. :null => true,
  365. :name => 'app_id',
  366. :tag => 'input',
  367. },
  368. {
  369. :display => 'App Secret',
  370. :null => true,
  371. :name => 'app_secret',
  372. :tag => 'input',
  373. },
  374. ],
  375. },
  376. :state => {},
  377. :frontend => false
  378. )
  379. Setting.create_if_not_exists(
  380. :title => 'Authentication via Google',
  381. :name => 'auth_google_oauth2',
  382. :area => 'Security::ThirdPartyAuthentication',
  383. :description => 'Enables user authentication via Google.',
  384. :options => {
  385. :form => [
  386. {
  387. :display => '',
  388. :null => true,
  389. :name => 'auth_google_oauth2',
  390. :tag => 'boolean',
  391. :options => {
  392. true => 'yes',
  393. false => 'no',
  394. },
  395. },
  396. ],
  397. },
  398. :state => false,
  399. :frontend => true
  400. )
  401. Setting.create_if_not_exists(
  402. :title => 'Google App Credentials',
  403. :name => 'auth_google_oauth2_credentials',
  404. :area => 'Security::ThirdPartyAuthentication',
  405. :description => 'Enables user authentication via Google.',
  406. :options => {
  407. :form => [
  408. {
  409. :display => 'Client ID',
  410. :null => true,
  411. :name => 'client_id',
  412. :tag => 'input',
  413. },
  414. {
  415. :display => 'Client Secret',
  416. :null => true,
  417. :name => 'client_secret',
  418. :tag => 'input',
  419. },
  420. ],
  421. },
  422. :state => {},
  423. :frontend => false
  424. )
  425. Setting.create_if_not_exists(
  426. :title => 'Authentication via LinkedIn',
  427. :name => 'auth_linkedin',
  428. :area => 'Security::ThirdPartyAuthentication',
  429. :description => 'Enables user authentication via LinkedIn.',
  430. :options => {
  431. :form => [
  432. {
  433. :display => '',
  434. :null => true,
  435. :name => 'auth_linkedin',
  436. :tag => 'boolean',
  437. :options => {
  438. true => 'yes',
  439. false => 'no',
  440. },
  441. },
  442. ],
  443. },
  444. :state => false,
  445. :frontend => true
  446. )
  447. Setting.create_if_not_exists(
  448. :title => 'LinkedIn App Credentials',
  449. :name => 'auth_linkedin_credentials',
  450. :area => 'Security::ThirdPartyAuthentication',
  451. :description => 'Enables user authentication via LinkedIn.',
  452. :options => {
  453. :form => [
  454. {
  455. :display => 'App ID',
  456. :null => true,
  457. :name => 'app_id',
  458. :tag => 'input',
  459. },
  460. {
  461. :display => 'App Secret',
  462. :null => true,
  463. :name => 'app_secret',
  464. :tag => 'input',
  465. },
  466. ],
  467. },
  468. :state => {},
  469. :frontend => false
  470. )
  471. Setting.create_if_not_exists(
  472. :title => 'Minimal size',
  473. :name => 'password_min_size',
  474. :area => 'Security::Password',
  475. :description => 'Password need to have at least minimal size of characters.',
  476. :options => {
  477. :form => [
  478. {
  479. :display => '',
  480. :null => true,
  481. :name => 'password_min_size',
  482. :tag => 'select',
  483. :options => {
  484. 4 => 4,
  485. 5 => 5,
  486. 6 => 6,
  487. 7 => 7,
  488. 8 => 8,
  489. 9 => 9,
  490. 10 => 10,
  491. 11 => 11,
  492. 12 => 12,
  493. },
  494. },
  495. ],
  496. },
  497. :state => 6,
  498. :frontend => true
  499. )
  500. Setting.create_if_not_exists(
  501. :title => '2 lower and 2 upper characters',
  502. :name => 'password_min_2_lower_2_upper_characters',
  503. :area => 'Security::Password',
  504. :description => 'Password need to contain 2 lower and 2 upper characters.',
  505. :options => {
  506. :form => [
  507. {
  508. :display => '',
  509. :null => true,
  510. :name => 'password_min_2_lower_2_upper_characters',
  511. :tag => 'select',
  512. :options => {
  513. 1 => 'yes',
  514. 0 => 'no',
  515. },
  516. },
  517. ],
  518. },
  519. :state => 0,
  520. :frontend => true
  521. )
  522. Setting.create_if_not_exists(
  523. :title => 'Digit required',
  524. :name => 'password_need_digit',
  525. :area => 'Security::Password',
  526. :description => 'Password need to have at least one digit.',
  527. :options => {
  528. :form => [
  529. {
  530. :display => 'Needed',
  531. :null => true,
  532. :name => 'password_need_digit',
  533. :tag => 'select',
  534. :options => {
  535. 1 => 'yes',
  536. 0 => 'no',
  537. },
  538. },
  539. ],
  540. },
  541. :state => 0,
  542. :frontend => true
  543. )
  544. Setting.create_if_not_exists(
  545. :title => 'Maximal failed logins',
  546. :name => 'password_max_login_failed',
  547. :area => 'Security::Password',
  548. :description => 'Maximal failed logins after account is inactive.',
  549. :options => {
  550. :form => [
  551. {
  552. :display => '',
  553. :null => true,
  554. :name => 'password_max_login_failed',
  555. :tag => 'select',
  556. :options => {
  557. 4 => 4,
  558. 5 => 5,
  559. 6 => 6,
  560. 7 => 7,
  561. 8 => 8,
  562. 9 => 9,
  563. 10 => 10,
  564. 11 => 11,
  565. 13 => 13,
  566. 14 => 14,
  567. 15 => 15,
  568. 16 => 16,
  569. 17 => 17,
  570. 18 => 18,
  571. 19 => 19,
  572. 20 => 20,
  573. },
  574. },
  575. ],
  576. },
  577. :state => 10,
  578. :frontend => true
  579. )
  580. Setting.create_if_not_exists(
  581. :title => 'Ticket Hook',
  582. :name => 'ticket_hook',
  583. :area => 'Ticket::Base',
  584. :description => 'The identifier for a ticket, e.g. Ticket#, Call#, MyTicket#. The default is Ticket#.',
  585. :options => {
  586. :form => [
  587. {
  588. :display => '',
  589. :null => false,
  590. :name => 'ticket_hook',
  591. :tag => 'input',
  592. },
  593. ],
  594. },
  595. :state => 'Ticket#',
  596. :frontend => true
  597. )
  598. Setting.create_if_not_exists(
  599. :title => 'Ticket Hook Divider',
  600. :name => 'ticket_hook_divider',
  601. :area => 'Ticket::Base::Shadow',
  602. :description => 'The divider between TicketHook and ticket number. E.g \': \'.',
  603. :options => {
  604. :form => [
  605. {
  606. :display => '',
  607. :null => true,
  608. :name => 'ticket_hook_divider',
  609. :tag => 'input',
  610. },
  611. ],
  612. },
  613. :state => '',
  614. :frontend => false
  615. )
  616. Setting.create_if_not_exists(
  617. :title => 'Ticket Hook Position',
  618. :name => 'ticket_hook_position',
  619. :area => 'Ticket::Base',
  620. :description => 'The format of the subject. "Left" means "[Ticket#12345] Some Subject", "Right" means "Some Subject [Ticket#12345]", "None" means "Some Subject" and no ticket number. In the last case you should enable PostmasterFollowupSearchInRaw or PostmasterFollowUpSearchInReferences to recognize followups based on email headers and/or body.',
  621. :options => {
  622. :form => [
  623. {
  624. :display => '',
  625. :null => true,
  626. :name => 'ticket_hook_position',
  627. :tag => 'select',
  628. :options => {
  629. 'left' => 'Left',
  630. 'right' => 'Right',
  631. 'none' => 'None',
  632. },
  633. },
  634. ],
  635. },
  636. :state => 'left',
  637. :frontend => false
  638. )
  639. Setting.create_if_not_exists(
  640. :title => 'Ticket Subject Size',
  641. :name => 'ticket_subject_size',
  642. :area => 'Ticket::Base',
  643. :description => 'Max size of the subjects in an email reply.',
  644. :options => {
  645. :form => [
  646. {
  647. :display => '',
  648. :null => false,
  649. :name => 'ticket_subject_size',
  650. :tag => 'input',
  651. },
  652. ],
  653. },
  654. :state => '110',
  655. :frontend => false
  656. )
  657. Setting.create_if_not_exists(
  658. :title => 'Ticket Subject Reply',
  659. :name => 'ticket_subject_re',
  660. :area => 'Ticket::Base',
  661. :description => 'The text at the beginning of the subject in an email reply, e.g. RE, AW, or AS.',
  662. :options => {
  663. :form => [
  664. {
  665. :display => '',
  666. :null => true,
  667. :name => 'ticket_subject_re',
  668. :tag => 'input',
  669. },
  670. ],
  671. },
  672. :state => 'RE',
  673. :frontend => false
  674. )
  675. #Setting.create(
  676. # :title => 'Ticket Subject Forward',
  677. # :name => 'ticket_subject_fw',
  678. # :area => 'Ticket::Base',
  679. # :description => 'The text at the beginning of the subject when an email is forwarded, e.g. FW, Fwd, or WG.',
  680. # :state => {
  681. # :value => 'FW',
  682. # },
  683. # :frontend => false
  684. #)
  685. Setting.create_if_not_exists(
  686. :title => 'Ticket Number Format',
  687. :name => 'ticket_number',
  688. :area => 'Ticket::Number',
  689. :description => 'Selects the ticket number generator module. "Increment" increments the ticket
  690. number, the SystemID and the counter are used with SystemID.Counter format (e.g. 1010138, 1010139).
  691. With "Date" the ticket numbers will be generated by the current date, the SystemID and the counter.
  692. The format looks like Year.Month.Day.SystemID.counter (e.g. 201206231010138, 201206231010139).
  693. With param "Checksum => true" the counter will be appended as checksum to the string. The format
  694. looks like SystemID.Counter.CheckSum (e. g. 10101384, 10101392) or Year.Month.Day.SystemID.Counter.CheckSum (e.g. 2012070110101520, 2012070110101535).',
  695. :options => {
  696. :form => [
  697. {
  698. :display => '',
  699. :null => true,
  700. :name => 'ticket_number',
  701. :tag => 'select',
  702. :options => {
  703. 'Ticket::Number::Increment' => 'Increment (SystemID.Counter)',
  704. 'Ticket::Number::Date' => 'Date (Year.Month.Day.SystemID.Counter)',
  705. },
  706. },
  707. ],
  708. },
  709. :state => 'Ticket::Number::Increment',
  710. :frontend => false
  711. )
  712. Setting.create_if_not_exists(
  713. :title => 'Ticket Number Increment',
  714. :name => 'ticket_number_increment',
  715. :area => 'Ticket::Number',
  716. :description => '-',
  717. :options => {
  718. :form => [
  719. {
  720. :display => 'Checksum',
  721. :null => true,
  722. :name => 'checksum',
  723. :tag => 'boolean',
  724. :options => {
  725. true => 'yes',
  726. false => 'no',
  727. },
  728. },
  729. {
  730. :display => 'Min. size of number',
  731. :null => true,
  732. :name => 'min_size',
  733. :tag => 'select',
  734. :options => {
  735. 1 => 1,
  736. 2 => 2,
  737. 3 => 3,
  738. 4 => 4,
  739. 5 => 5,
  740. 6 => 6,
  741. 7 => 7,
  742. 8 => 8,
  743. 9 => 9,
  744. 10 => 10,
  745. 11 => 11,
  746. 12 => 12,
  747. 13 => 13,
  748. 14 => 14,
  749. 15 => 15,
  750. 16 => 16,
  751. 17 => 17,
  752. 18 => 18,
  753. 19 => 19,
  754. 20 => 20,
  755. },
  756. },
  757. ],
  758. },
  759. :state => {
  760. :checksum => false,
  761. :min_size => 5,
  762. },
  763. :frontend => false
  764. )
  765. Setting.create_if_not_exists(
  766. :title => 'Ticket Number Increment Date',
  767. :name => 'ticket_number_date',
  768. :area => 'Ticket::Number',
  769. :description => '-',
  770. :options => {
  771. :form => [
  772. {
  773. :display => 'Checksum',
  774. :null => true,
  775. :name => 'checksum',
  776. :tag => 'boolean',
  777. :options => {
  778. true => 'yes',
  779. false => 'no',
  780. },
  781. },
  782. ],
  783. },
  784. :state => {
  785. :checksum => false,
  786. },
  787. :frontend => false
  788. )
  789. Setting.create_if_not_exists(
  790. :title => 'Enable Ticket creation',
  791. :name => 'customer_ticket_create',
  792. :area => 'CustomerWeb::Base',
  793. :description => 'Defines if a customer can create tickets via the web interface.',
  794. :options => {
  795. :form => [
  796. {
  797. :display => '',
  798. :null => true,
  799. :name => 'customer_ticket_create',
  800. :tag => 'boolean',
  801. :options => {
  802. true => 'yes',
  803. false => 'no',
  804. },
  805. },
  806. ],
  807. },
  808. :state => true,
  809. :frontend => true
  810. )
  811. Setting.create_if_not_exists(
  812. :title => 'Group selection for Ticket creation',
  813. :name => 'customer_ticket_create_group_ids',
  814. :area => 'CustomerWeb::Base',
  815. :description => 'Defines groups where customer can create tickets via web interface. "-" means all groups are available.',
  816. :options => {
  817. :form => [
  818. {
  819. :display => '',
  820. :null => true,
  821. :name => 'group_ids',
  822. :tag => 'select',
  823. :multiple => true,
  824. :null => false,
  825. :nulloption => true,
  826. :relation => 'Group',
  827. },
  828. ],
  829. },
  830. :state => '',
  831. :frontend => true
  832. )
  833. Setting.create_if_not_exists(
  834. :title => 'Enable Ticket View/Update',
  835. :name => 'customer_ticket_view',
  836. :area => 'CustomerWeb::Base',
  837. :description => 'Defines if a customer view and update his own tickets.',
  838. :options => {
  839. :form => [
  840. {
  841. :display => '',
  842. :null => true,
  843. :name => 'customer_ticket_view',
  844. :tag => 'boolean',
  845. :options => {
  846. true => 'yes',
  847. false => 'no',
  848. },
  849. },
  850. ],
  851. },
  852. :state => true,
  853. :frontend => true
  854. )
  855. Setting.create_if_not_exists(
  856. :title => 'Sender Format',
  857. :name => 'ticket_define_email_from',
  858. :area => 'Email::Base',
  859. :description => 'Defines how the From field from the emails (sent from answers and email tickets) should look like.',
  860. :options => {
  861. :form => [
  862. {
  863. :display => '',
  864. :null => true,
  865. :name => 'ticket_define_email_from',
  866. :tag => 'select',
  867. :options => {
  868. :SystemAddressName => 'System Address Display Name',
  869. :AgentNameSystemAddressName => 'Agent Name + FromSeparator + System Address Display Name',
  870. },
  871. },
  872. ],
  873. },
  874. :state => 'SystemAddressName',
  875. :frontend => false
  876. )
  877. Setting.create_if_not_exists(
  878. :title => 'Sender Format Seperator',
  879. :name => 'ticket_define_email_from_seperator',
  880. :area => 'Email::Base',
  881. :description => 'Defines the separator between the agents real name and the given group email address.',
  882. :options => {
  883. :form => [
  884. {
  885. :display => '',
  886. :null => false,
  887. :name => 'ticket_define_email_from_seperator',
  888. :tag => 'input',
  889. },
  890. ],
  891. },
  892. :state => 'via',
  893. :frontend => false
  894. )
  895. Setting.create_if_not_exists(
  896. :title => 'Max. Email Size',
  897. :name => 'postmaster_max_size',
  898. :area => 'Email::Base',
  899. :description => 'Maximal size in MB of emails.',
  900. :options => {
  901. :form => [
  902. {
  903. :display => '',
  904. :null => true,
  905. :name => 'postmaster_max_size',
  906. :tag => 'select',
  907. :options => {
  908. 1 => 1,
  909. 2 => 2,
  910. 3 => 3,
  911. 4 => 4,
  912. 5 => 5,
  913. 6 => 6,
  914. 7 => 7,
  915. 8 => 8,
  916. 9 => 9,
  917. 10 => 10,
  918. 11 => 11,
  919. 12 => 12,
  920. 13 => 13,
  921. 14 => 14,
  922. 15 => 15,
  923. 16 => 16,
  924. 17 => 17,
  925. 18 => 18,
  926. 19 => 19,
  927. 20 => 20,
  928. },
  929. },
  930. ],
  931. },
  932. :state => 10,
  933. :frontend => false
  934. )
  935. Setting.create_if_not_exists(
  936. :title => 'Additional follow up detection',
  937. :name => 'postmaster_follow_up_search_in',
  938. :area => 'Email::Base',
  939. :description => '"References" - Executes follow up checks on In-Reply-To or References headers for mails that don\'t have a ticket number in the subject. "Body" - Executes follow up mail body checks in mails that don\'t have a ticket number in the subject. "Attachment" - Executes follow up mail attachments checks in mails that don\'t have a ticket number in the subject. "Raw" - Executes follow up plain/raw mail checks in mails that don\'t have a ticket number in the subject.',
  940. :options => {
  941. :form => [
  942. {
  943. :display => '',
  944. :null => true,
  945. :name => 'postmaster_follow_up_search_in',
  946. :tag => 'checkbox',
  947. :options => {
  948. 'references' => 'References',
  949. 'body' => 'Body',
  950. 'attachment' => 'Attachment',
  951. 'raw' => 'Raw',
  952. },
  953. },
  954. ],
  955. },
  956. :state => ['subject'],
  957. :frontend => false
  958. )
  959. Setting.create_if_not_exists(
  960. :title => 'Notification Sender',
  961. :name => 'notification_sender',
  962. :area => 'Email::Base',
  963. :description => 'Defines the sender of email notifications.',
  964. :options => {
  965. :form => [
  966. {
  967. :display => '',
  968. :null => false,
  969. :name => 'notification_sender',
  970. :tag => 'input',
  971. },
  972. ],
  973. },
  974. :state => 'Notification Master <noreply@#{config.fqdn}>',
  975. :frontend => false
  976. )
  977. Setting.create_if_not_exists(
  978. :title => 'Block Notifications',
  979. :name => 'send_no_auto_response_reg_exp',
  980. :area => 'Email::Base',
  981. :description => 'If this regex matches, no notification will be send by the sender.',
  982. :options => {
  983. :form => [
  984. {
  985. :display => '',
  986. :null => false,
  987. :name => 'send_no_auto_response_reg_exp',
  988. :tag => 'input',
  989. },
  990. ],
  991. },
  992. :state => '(MAILER-DAEMON|postmaster|abuse)@.+?\..+?',
  993. :frontend => false
  994. )
  995. Setting.create_if_not_exists(
  996. :title => 'Enable Chat',
  997. :name => 'chat',
  998. :area => 'Chat::Base',
  999. :description => 'Enable/Disable online chat.',
  1000. :options => {
  1001. :form => [
  1002. {
  1003. :display => '',
  1004. :null => true,
  1005. :name => 'chat',
  1006. :tag => 'boolean',
  1007. :options => {
  1008. true => 'yes',
  1009. false => 'no',
  1010. },
  1011. },
  1012. ],
  1013. },
  1014. :state => false,
  1015. :frontend => true
  1016. )
  1017. Setting.create_if_not_exists(
  1018. :title => 'Default Screen',
  1019. :name => 'default_controller',
  1020. :area => 'Core',
  1021. :description => 'Defines the default controller.',
  1022. :options => {},
  1023. :state => '#dashboard',
  1024. :frontend => true
  1025. )
  1026. Setting.create_if_not_exists(
  1027. :title => 'Import Mode',
  1028. :name => 'import_mode',
  1029. :area => 'Import::Base',
  1030. :description => 'Set system in import mode (disable some triggers).',
  1031. :options => {
  1032. :form => [
  1033. {
  1034. :display => '',
  1035. :null => true,
  1036. :name => 'import_mode',
  1037. :tag => 'boolean',
  1038. :options => {
  1039. true => 'yes',
  1040. false => 'no',
  1041. },
  1042. },
  1043. ],
  1044. },
  1045. :state => false,
  1046. :frontend => true
  1047. )
  1048. Setting.create_if_not_exists(
  1049. :title => 'Ignore Escalation/SLA Information',
  1050. :name => 'import_ignore_sla',
  1051. :area => 'Import::Base',
  1052. :description => 'Ignore Escalation/SLA Information form import system.',
  1053. :options => {
  1054. :form => [
  1055. {
  1056. :display => '',
  1057. :null => true,
  1058. :name => 'import_ignore_sla',
  1059. :tag => 'boolean',
  1060. :options => {
  1061. true => 'yes',
  1062. false => 'no',
  1063. },
  1064. },
  1065. ],
  1066. },
  1067. :state => false,
  1068. :frontend => true
  1069. )
  1070. Setting.create_if_not_exists(
  1071. :title => 'Import Endpoint',
  1072. :name => 'import_otrs_endpoint',
  1073. :area => 'Import::OTRS',
  1074. :description => 'Defines OTRS endpoint to import users, ticket, ticket_states and articles.',
  1075. :options => {
  1076. :form => [
  1077. {
  1078. :display => '',
  1079. :null => false,
  1080. :name => 'import_otrs_endpoint',
  1081. :tag => 'input',
  1082. },
  1083. ],
  1084. },
  1085. :state => 'http://otrs_host/otrs',
  1086. :frontend => false
  1087. )
  1088. Setting.create_if_not_exists(
  1089. :title => 'Import Key',
  1090. :name => 'import_otrs_endpoint_key',
  1091. :area => 'Import::OTRS',
  1092. :description => 'Defines OTRS endpoint auth key.',
  1093. :options => {
  1094. :form => [
  1095. {
  1096. :display => '',
  1097. :null => false,
  1098. :name => 'import_otrs_endpoint_key',
  1099. :tag => 'input',
  1100. },
  1101. ],
  1102. },
  1103. :state => '',
  1104. :frontend => false
  1105. )
  1106. Setting.create_if_not_exists(
  1107. :title => 'Import User for http basic authentiation',
  1108. :name => 'import_otrs_user',
  1109. :area => 'Import::OTRS',
  1110. :description => 'Defines http basic authentiation user (only if OTRS is protected via http basic auth).',
  1111. :options => {
  1112. :form => [
  1113. {
  1114. :display => '',
  1115. :null => true,
  1116. :name => 'import_otrs_user',
  1117. :tag => 'input',
  1118. },
  1119. ],
  1120. },
  1121. :state => '',
  1122. :frontend => false
  1123. )
  1124. Setting.create_if_not_exists(
  1125. :title => 'Import Password for http basic authentiation',
  1126. :name => 'import_otrs_password',
  1127. :area => 'Import::OTRS',
  1128. :description => 'Defines http basic authentiation password (only if OTRS is protected via http basic auth).',
  1129. :options => {
  1130. :form => [
  1131. {
  1132. :display => '',
  1133. :null => true,
  1134. :name => 'import_otrs_password',
  1135. :tag => 'input',
  1136. },
  1137. ],
  1138. },
  1139. :state => '',
  1140. :frontend => false
  1141. )
  1142. email_address = EmailAddress.create_if_not_exists(
  1143. :id => 1,
  1144. :realname => 'Zammad',
  1145. :email => 'zammad@localhost',
  1146. :updated_by_id => 1,
  1147. :created_by_id => 1
  1148. )
  1149. signature = Signature.create_if_not_exists(
  1150. :name => 'default',
  1151. :body => '
  1152. #{user.firstname} #{user.lastname}
  1153. --
  1154. Super Support - Waterford Business Park
  1155. 5201 Blue Lagoon Drive - 8th Floor & 9th Floor - Miami, 33126 USA
  1156. Email: hot@example.com - Web: http://www.example.com/
  1157. --',
  1158. :updated_by_id => 1,
  1159. :created_by_id => 1
  1160. )
  1161. Role.create_if_not_exists(
  1162. :id => 1,
  1163. :name => 'Admin',
  1164. :note => 'To configure your system.',
  1165. :updated_by_id => 1,
  1166. :created_by_id => 1
  1167. )
  1168. Role.create_if_not_exists(
  1169. :id => 2,
  1170. :name => 'Agent',
  1171. :note => 'To work on Tickets.',
  1172. :updated_by_id => 1,
  1173. :created_by_id => 1
  1174. )
  1175. Role.create_if_not_exists(
  1176. :id => 3,
  1177. :name => 'Customer',
  1178. :note => 'People who create Tickets ask for help.',
  1179. :updated_by_id => 1,
  1180. :created_by_id => 1
  1181. )
  1182. Group.create_if_not_exists(
  1183. :id => 1,
  1184. :name => 'Users',
  1185. :email_address_id => email_address.id,
  1186. :signature_id => signature.id,
  1187. :note => 'Standard Group/Pool for Tickets.',
  1188. :updated_by_id => 1,
  1189. :created_by_id => 1
  1190. )
  1191. Group.create_if_not_exists(
  1192. :id => 2,
  1193. :name => 'Twitter',
  1194. :note => 'All Tweets.',
  1195. :updated_by_id => 1,
  1196. :created_by_id => 1
  1197. )
  1198. roles = Role.where( :name => 'Customer' )
  1199. organizations = Organization.all
  1200. groups = Group.all
  1201. user = User.create_if_not_exists(
  1202. :login => '-',
  1203. :firstname => '-',
  1204. :lastname => '',
  1205. :email => '',
  1206. :password => 'root',
  1207. :active => false,
  1208. :roles => roles,
  1209. :groups => groups,
  1210. :organizations => organizations,
  1211. :updated_by_id => 1,
  1212. :created_by_id => 1
  1213. )
  1214. UserInfo.current_user_id = 1
  1215. user_community = User.create_if_not_exists(
  1216. :login => 'nicole.braun@zammad.org',
  1217. :firstname => 'Nicole',
  1218. :lastname => 'Braun',
  1219. :email => 'nicole.braun@zammad.org',
  1220. :password => '',
  1221. :active => true,
  1222. :roles => roles,
  1223. # :groups => groups,
  1224. :organizations => organizations,
  1225. )
  1226. Link::Type.create_if_not_exists( :name => 'normal' )
  1227. Link::Object.create_if_not_exists( :name => 'Ticket' )
  1228. Link::Object.create_if_not_exists( :name => 'Announcement' )
  1229. Link::Object.create_if_not_exists( :name => 'Question/Answer' )
  1230. Link::Object.create_if_not_exists( :name => 'Idea' )
  1231. Link::Object.create_if_not_exists( :name => 'Bug' )
  1232. Ticket::StateType.create_if_not_exists( :name => 'new', :updated_by_id => 1 )
  1233. Ticket::StateType.create_if_not_exists( :name => 'open', :updated_by_id => 1 )
  1234. Ticket::StateType.create_if_not_exists( :name => 'pending reminder', :updated_by_id => 1 )
  1235. Ticket::StateType.create_if_not_exists( :name => 'pending action', :updated_by_id => 1 )
  1236. Ticket::StateType.create_if_not_exists( :name => 'closed', :updated_by_id => 1 )
  1237. Ticket::StateType.create_if_not_exists( :name => 'merged', :updated_by_id => 1 )
  1238. Ticket::StateType.create_if_not_exists( :name => 'removed', :updated_by_id => 1 )
  1239. Ticket::State.create_if_not_exists( :name => 'new', :state_type_id => Ticket::StateType.where(:name => 'new').first.id )
  1240. Ticket::State.create_if_not_exists( :name => 'open', :state_type_id => Ticket::StateType.where(:name => 'open').first.id )
  1241. Ticket::State.create_if_not_exists( :name => 'pending', :state_type_id => Ticket::StateType.where(:name => 'pending reminder').first.id )
  1242. Ticket::State.create_if_not_exists( :name => 'closed', :state_type_id => Ticket::StateType.where(:name => 'closed').first.id )
  1243. Ticket::State.create_if_not_exists( :name => 'merged', :state_type_id => Ticket::StateType.where(:name => 'merged').first.id )
  1244. Ticket::State.create_if_not_exists( :name => 'removed', :state_type_id => Ticket::StateType.where(:name => 'removed').first.id )
  1245. Ticket::Priority.create_if_not_exists( :name => '1 low' )
  1246. Ticket::Priority.create_if_not_exists( :name => '2 normal' )
  1247. Ticket::Priority.create_if_not_exists( :name => '3 high' )
  1248. Ticket::Article::Type.create_if_not_exists( :name => 'email', :communication => true )
  1249. Ticket::Article::Type.create_if_not_exists( :name => 'sms', :communication => true )
  1250. Ticket::Article::Type.create_if_not_exists( :name => 'chat', :communication => true )
  1251. Ticket::Article::Type.create_if_not_exists( :name => 'fax', :communication => true )
  1252. Ticket::Article::Type.create_if_not_exists( :name => 'phone', :communication => true )
  1253. Ticket::Article::Type.create_if_not_exists( :name => 'twitter status', :communication => true )
  1254. Ticket::Article::Type.create_if_not_exists( :name => 'twitter direct-message', :communication => true )
  1255. Ticket::Article::Type.create_if_not_exists( :name => 'facebook', :communication => true )
  1256. Ticket::Article::Type.create_if_not_exists( :name => 'note', :communication => false )
  1257. Ticket::Article::Type.create_if_not_exists( :name => 'web', :communication => true )
  1258. Ticket::Article::Sender.create_if_not_exists( :name => 'Agent' )
  1259. Ticket::Article::Sender.create_if_not_exists( :name => 'Customer' )
  1260. Ticket::Article::Sender.create_if_not_exists( :name => 'System' )
  1261. UserInfo.current_user_id = user_community.id
  1262. ticket = Ticket.create(
  1263. :group_id => Group.where( :name => 'Users' ).first.id,
  1264. :customer_id => User.where( :login => 'nicole.braun@zammad.org' ).first.id,
  1265. :owner_id => User.where( :login => '-' ).first.id,
  1266. :title => 'Welcome to Zammad!',
  1267. :ticket_state_id => Ticket::State.where( :name => 'new' ).first.id,
  1268. :ticket_priority_id => Ticket::Priority.where( :name => '2 normal' ).first.id,
  1269. )
  1270. Ticket::Article.create(
  1271. :ticket_id => ticket.id,
  1272. :ticket_article_type_id => Ticket::Article::Type.where(:name => 'phone' ).first.id,
  1273. :ticket_article_sender_id => Ticket::Article::Sender.where(:name => 'Customer' ).first.id,
  1274. :from => 'Zammad Feedback <feedback@zammad.org>',
  1275. :body => 'Welcome!
  1276. Thank you for installing Zammad.
  1277. You will find updates and patches at http://zammad.org/. Online
  1278. documentation is available at http://guides.zammad.org/. You can also
  1279. use our forums at http://forums.zammad.org/
  1280. Regards,
  1281. The Zammad.org Project
  1282. ',
  1283. :internal => false,
  1284. )
  1285. UserInfo.current_user_id = 1
  1286. overview_role = Role.where( :name => 'Agent' ).first
  1287. Overview.create_if_not_exists(
  1288. :name => 'My assigned Tickets',
  1289. :link => 'my_assigned',
  1290. :prio => 1000,
  1291. :role_id => overview_role.id,
  1292. :condition => {
  1293. 'tickets.ticket_state_id' => [ 1,2,3 ],
  1294. 'tickets.owner_id' => 'current_user.id',
  1295. },
  1296. :order => {
  1297. :by => 'created_at',
  1298. :direction => 'ASC',
  1299. },
  1300. :view => {
  1301. :d => [ 'title', 'customer', 'ticket_state', 'group', 'created_at' ],
  1302. :s => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1303. :m => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1304. :view_mode_default => 's',
  1305. },
  1306. )
  1307. Overview.create_if_not_exists(
  1308. :name => 'Unassigned & Open Tickets',
  1309. :link => 'all_unassigned',
  1310. :prio => 1001,
  1311. :role_id => overview_role.id,
  1312. :condition => {
  1313. 'tickets.ticket_state_id' => [1,2,3],
  1314. 'tickets.owner_id' => 1,
  1315. },
  1316. :order => {
  1317. :by => 'created_at',
  1318. :direction => 'ASC',
  1319. },
  1320. :view => {
  1321. :d => [ 'title', 'customer', 'ticket_state', 'group', 'created_at' ],
  1322. :s => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1323. :m => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1324. :view_mode_default => 's',
  1325. },
  1326. )
  1327. Overview.create_if_not_exists(
  1328. :name => 'All Open Tickets',
  1329. :link => 'all_open',
  1330. :prio => 1002,
  1331. :role_id => overview_role.id,
  1332. :condition => {
  1333. 'tickets.ticket_state_id' => [1,2,3],
  1334. },
  1335. :order => {
  1336. :by => 'created_at',
  1337. :direction => 'ASC',
  1338. },
  1339. :view => {
  1340. :d => [ 'title', 'customer', 'ticket_state', 'group', 'created_at' ],
  1341. :s => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1342. :m => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1343. :view_mode_default => 's',
  1344. },
  1345. )
  1346. Overview.create_if_not_exists(
  1347. :name => 'Escalated Tickets',
  1348. :link => 'all_escalated',
  1349. :prio => 1010,
  1350. :role_id => overview_role.id,
  1351. :condition => {
  1352. 'tickets.escalation_time' =>{ 'direction' => 'before', 'count'=> 5, 'area' => 'minute' },
  1353. },
  1354. :order => {
  1355. :by => 'escalation_time',
  1356. :direction => 'ASC',
  1357. },
  1358. :view => {
  1359. :d => [ 'title', 'customer', 'ticket_state', 'group', 'owner', 'escalation_time' ],
  1360. :s => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'owner', 'escalation_time' ],
  1361. :m => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'owner', 'escalation_time' ],
  1362. :view_mode_default => 's',
  1363. },
  1364. )
  1365. Overview.create_if_not_exists(
  1366. :name => 'My pending reached Tickets',
  1367. :link => 'my_pending_reached',
  1368. :prio => 1020,
  1369. :role_id => overview_role.id,
  1370. :condition => {
  1371. 'tickets.ticket_state_id' => [3],
  1372. 'tickets.owner_id' => 'current_user.id',
  1373. },
  1374. :order => {
  1375. :by => 'created_at',
  1376. :direction => 'ASC',
  1377. },
  1378. :view => {
  1379. :d => [ 'title', 'customer', 'ticket_state', 'group', 'created_at' ],
  1380. :s => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1381. :m => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1382. :view_mode_default => 's',
  1383. },
  1384. )
  1385. Overview.create_if_not_exists(
  1386. :name => 'All Tickets',
  1387. :link => 'all',
  1388. :prio => 9003,
  1389. :role_id => overview_role.id,
  1390. :condition => {
  1391. # 'tickets.ticket_state_id' => [3],
  1392. # 'tickets.owner_id' => current_user.id,
  1393. },
  1394. :order => {
  1395. :by => 'created_at',
  1396. :direction => 'ASC',
  1397. },
  1398. :view => {
  1399. :s => [ 'title', 'customer', 'ticket_state', 'group', 'created_at' ],
  1400. :s => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1401. :m => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'group', 'created_at' ],
  1402. :view_mode_default => 's',
  1403. },
  1404. )
  1405. overview_role = Role.where( :name => 'Customer' ).first
  1406. Overview.create_if_not_exists(
  1407. :name => 'My Tickets',
  1408. :link => 'my_tickets',
  1409. :prio => 1000,
  1410. :role_id => overview_role.id,
  1411. :condition => {
  1412. 'tickets.ticket_state_id' => [ 1,2,3,4,6 ],
  1413. 'tickets.customer_id' => 'current_user.id',
  1414. },
  1415. :order => {
  1416. :by => 'created_at',
  1417. :direction => 'DESC',
  1418. },
  1419. :view => {
  1420. :d => [ 'title', 'customer', 'ticket_state', 'created_at' ],
  1421. :s => [ 'number', 'title', 'ticket_state', 'ticket_priority', 'created_at' ],
  1422. :m => [ 'number', 'title', 'ticket_state', 'ticket_priority', 'created_at' ],
  1423. :view_mode_default => 's',
  1424. },
  1425. )
  1426. Overview.create_if_not_exists(
  1427. :name => 'My Organization Tickets',
  1428. :link => 'my_organization_tickets',
  1429. :prio => 1100,
  1430. :role_id => overview_role.id,
  1431. :organization_shared => true,
  1432. :condition => {
  1433. 'tickets.ticket_state_id' => [ 1,2,3,4,6 ],
  1434. 'tickets.organization_id' => 'current_user.organization_id',
  1435. },
  1436. :order => {
  1437. :by => 'created_at',
  1438. :direction => 'DESC',
  1439. },
  1440. :view => {
  1441. :d => [ 'title', 'customer', 'ticket_state', 'created_at' ],
  1442. :s => [ 'number', 'title', 'customer', 'ticket_state', 'ticket_priority', 'created_at' ],
  1443. :m => [ 'number', 'title', 'ticket_state', 'ticket_priority', 'created_at' ],
  1444. :view_mode_default => 's',
  1445. },
  1446. )
  1447. Channel.create_if_not_exists(
  1448. :adapter => 'SMTP',
  1449. :area => 'Email::Outbound',
  1450. :options => {
  1451. :host => 'host.example.com',
  1452. :user => '',
  1453. :password => '',
  1454. :ssl => true,
  1455. },
  1456. :group_id => 1,
  1457. :active => false,
  1458. )
  1459. Channel.create_if_not_exists(
  1460. :adapter => 'Sendmail',
  1461. :area => 'Email::Outbound',
  1462. :options => {},
  1463. :active => true,
  1464. )
  1465. network = Network.create_if_not_exists(
  1466. :name => 'base',
  1467. )
  1468. Network::Category::Type.create_if_not_exists(
  1469. :name => 'Announcement',
  1470. )
  1471. Network::Category::Type.create_if_not_exists(
  1472. :name => 'Idea',
  1473. )
  1474. Network::Category::Type.create_if_not_exists(
  1475. :name => 'Question',
  1476. )
  1477. Network::Category::Type.create_if_not_exists(
  1478. :name => 'Bug Report',
  1479. )
  1480. Network::Privacy.create_if_not_exists(
  1481. :name => 'logged in',
  1482. :key => 'loggedIn',
  1483. )
  1484. Network::Privacy.create_if_not_exists(
  1485. :name => 'logged in and moderator',
  1486. :key => 'loggedInModerator',
  1487. )
  1488. Network::Category.create_if_not_exists(
  1489. :name => 'Announcements',
  1490. :network_id => network.id,
  1491. :allow_comments => true,
  1492. :network_category_type_id => Network::Category::Type.where(:name => 'Announcement').first.id,
  1493. :network_privacy_id => Network::Privacy.where(:name => 'logged in and moderator').first.id,
  1494. :allow_comments => true,
  1495. )
  1496. Network::Category.create_if_not_exists(
  1497. :name => 'Questions',
  1498. :network_id => network.id,
  1499. :allow_comments => true,
  1500. :network_category_type_id => Network::Category::Type.where(:name => 'Question').first.id,
  1501. :network_privacy_id => Network::Privacy.where(:name => 'logged in').first.id,
  1502. # :network_categories_moderator_user_ids => User.where(:login => '-').first.id,
  1503. )
  1504. Network::Category.create_if_not_exists(
  1505. :name => 'Ideas',
  1506. :network_id => network.id,
  1507. :allow_comments => true,
  1508. :network_category_type_id => Network::Category::Type.where(:name => 'Idea').first.id,
  1509. :network_privacy_id => Network::Privacy.where(:name => 'logged in').first.id,
  1510. :allow_comments => true,
  1511. )
  1512. Network::Category.create_if_not_exists(
  1513. :name => 'Bug Reports',
  1514. :network_id => network.id,
  1515. :allow_comments => true,
  1516. :network_category_type_id => Network::Category::Type.where(:name => 'Bug Report').first.id,
  1517. :network_privacy_id => Network::Privacy.where(:name => 'logged in').first.id,
  1518. :allow_comments => true,
  1519. )
  1520. item = Network::Item.create(
  1521. :title => 'Example Announcement',
  1522. :body => 'Some announcement....',
  1523. :network_category_id => Network::Category.where(:name => 'Announcements').first.id,
  1524. )
  1525. Network::Item::Comment.create(
  1526. :network_item_id => item.id,
  1527. :body => 'Some comment....',
  1528. )
  1529. item = Network::Item.create(
  1530. :title => 'Example Question?',
  1531. :body => 'Some questions....',
  1532. :network_category_id => Network::Category.where(:name => 'Questions').first.id,
  1533. )
  1534. Network::Item::Comment.create(
  1535. :network_item_id => item.id,
  1536. :body => 'Some comment....',
  1537. )
  1538. item = Network::Item.create(
  1539. :title => 'Example Idea',
  1540. :body => 'Some idea....',
  1541. :network_category_id => Network::Category.where(:name => 'Ideas').first.id,
  1542. )
  1543. Network::Item::Comment.create(
  1544. :network_item_id => item.id,
  1545. :body => 'Some comment....',
  1546. )
  1547. item = Network::Item.create(
  1548. :title => 'Example Bug Report',
  1549. :body => 'Some bug....',
  1550. :network_category_id => Network::Category.where(:name => 'Bug Reports').first.id,
  1551. )
  1552. Network::Item::Comment.create(
  1553. :network_item_id => item.id,
  1554. :body => 'Some comment....',
  1555. )
  1556. Translation.create_if_not_exists( :locale => 'de', :source => "New", :target => "Neu" )
  1557. Translation.create_if_not_exists( :locale => 'de', :source => "Create", :target => "Erstellen" )
  1558. Translation.create_if_not_exists( :locale => 'de', :source => "Cancel", :target => "Abbrechen" )
  1559. Translation.create_if_not_exists( :locale => 'de', :source => "Submit", :target => "Übermitteln" )
  1560. Translation.create_if_not_exists( :locale => 'de', :source => "Sign out", :target => "Abmelden" )
  1561. Translation.create_if_not_exists( :locale => 'de', :source => "Profile", :target => "Profil" )
  1562. Translation.create_if_not_exists( :locale => 'de', :source => "Settings", :target => "Einstellungen" )
  1563. Translation.create_if_not_exists( :locale => 'de', :source => "Overviews", :target => "Übersichten" )
  1564. Translation.create_if_not_exists( :locale => 'de', :source => "Manage", :target => "Verwalten" )
  1565. Translation.create_if_not_exists( :locale => 'de', :source => "Users", :target => "Benutzer" )
  1566. Translation.create_if_not_exists( :locale => 'de', :source => "User", :target => "Benutzer" )
  1567. Translation.create_if_not_exists( :locale => 'de', :source => "Groups", :target => "Gruppen" )
  1568. Translation.create_if_not_exists( :locale => 'de', :source => "Group", :target => "Gruppe" )
  1569. Translation.create_if_not_exists( :locale => 'de', :source => "Organizations", :target => "Organisationen" )
  1570. Translation.create_if_not_exists( :locale => 'de', :source => "Organization", :target => "Organisation" )
  1571. Translation.create_if_not_exists( :locale => 'de', :source => "Recent Viewed", :target => "Zuletzt angesehen" )
  1572. Translation.create_if_not_exists( :locale => 'de', :source => "Security", :target => "Sicherheit" )
  1573. Translation.create_if_not_exists( :locale => 'de', :source => "From", :target => "Von" )
  1574. Translation.create_if_not_exists( :locale => 'de', :source => "Title", :target => "Titel" )
  1575. Translation.create_if_not_exists( :locale => 'de', :source => "Customer", :target => "Kunde" )
  1576. Translation.create_if_not_exists( :locale => 'de', :source => "State", :target => "Status" )
  1577. Translation.create_if_not_exists( :locale => 'de', :source => "Created", :target => "Erstellt" )
  1578. Translation.create_if_not_exists( :locale => 'de', :source => "Attributes", :target => "Attribute" )
  1579. Translation.create_if_not_exists( :locale => 'de', :source => "Direction", :target => "Richtung" )
  1580. Translation.create_if_not_exists( :locale => 'de', :source => "Owner", :target => "Besitzer" )
  1581. Translation.create_if_not_exists( :locale => 'de', :source => "Subject", :target => "Betreff" )
  1582. Translation.create_if_not_exists( :locale => 'de', :source => "Priority", :target => "Priorität" )
  1583. Translation.create_if_not_exists( :locale => 'de', :source => "Select the customer of the Ticket or create one.", :target => "Wähle den Kundn f�r das Ticket oder erstell einen neuen." )
  1584. Translation.create_if_not_exists( :locale => 'de', :source => "New Ticket", :target => "Neues Ticket" )
  1585. Translation.create_if_not_exists( :locale => 'de', :source => "Firstname", :target => "Vorname" )
  1586. Translation.create_if_not_exists( :locale => 'de', :source => "Lastname", :target => "Nachname" )
  1587. Translation.create_if_not_exists( :locale => 'de', :source => "Phone", :target => "Telefon" )
  1588. Translation.create_if_not_exists( :locale => 'de', :source => "Street", :target => "Straße" )
  1589. Translation.create_if_not_exists( :locale => 'de', :source => "Zip", :target => "PLZ" )
  1590. Translation.create_if_not_exists( :locale => 'de', :source => "City", :target => "Stadt" )
  1591. Translation.create_if_not_exists( :locale => 'de', :source => "Note", :target => "Notiz" )
  1592. Translation.create_if_not_exists( :locale => 'de', :source => "note", :target => "Notiz" )
  1593. Translation.create_if_not_exists( :locale => 'de', :source => "New User", :target => "Neuer Benutzer" )
  1594. Translation.create_if_not_exists( :locale => 'de', :source => "Merge", :target => "Zusammenfügen" )
  1595. Translation.create_if_not_exists( :locale => 'de', :source => "History", :target => "Historie" )
  1596. Translation.create_if_not_exists( :locale => 'de', :source => "new", :target => "neu" )
  1597. Translation.create_if_not_exists( :locale => 'de', :source => "closed", :target => "geschlossen" )
  1598. Translation.create_if_not_exists( :locale => 'de', :source => "close", :target => "schließen" )
  1599. Translation.create_if_not_exists( :locale => 'de', :source => "open", :target => "offen" )
  1600. Translation.create_if_not_exists( :locale => 'de', :source => "pending", :target => "warten" )
  1601. Translation.create_if_not_exists( :locale => 'de', :source => "merged", :target => "zusammengefügt" )
  1602. Translation.create_if_not_exists( :locale => 'de', :source => "removed", :target => "zurück gezogen" )
  1603. Translation.create_if_not_exists( :locale => 'de', :source => "Activity Stream", :target => "Aktivitäts-Stream" )
  1604. Translation.create_if_not_exists( :locale => 'de', :source => "Update", :target => "Aktualisieren" )
  1605. Translation.create_if_not_exists( :locale => 'de', :source => "updated", :target => "aktualisierte" )
  1606. Translation.create_if_not_exists( :locale => 'de', :source => "created", :target => "erstellte" )
  1607. Translation.create_if_not_exists( :locale => 'de', :source => "My assigned Tickets", :target => "Meine zugewiesenen Tickets" )
  1608. Translation.create_if_not_exists( :locale => 'de', :source => "Unassigned Tickets", :target => "Nicht zugewiesene/freie Tickets" )
  1609. Translation.create_if_not_exists( :locale => 'de', :source => "Unassigned & Open Tickets", :target => "Nicht zugewiesene & offene Tickets" )
  1610. Translation.create_if_not_exists( :locale => 'de', :source => "All Tickets", :target => "Alle Tickets" )
  1611. Translation.create_if_not_exists( :locale => 'de', :source => "Escalated Tickets", :target => "Eskalierte Tickets" )
  1612. Translation.create_if_not_exists( :locale => 'de', :source => "My pending reached Tickets", :target => "Meine warten erreicht Tickets" )
  1613. Translation.create_if_not_exists( :locale => 'de', :source => "Password", :target => "Passwort" )
  1614. Translation.create_if_not_exists( :locale => 'de', :source => "Password (confirm)", :target => "Passwort (bestätigen)" )
  1615. Translation.create_if_not_exists( :locale => 'de', :source => "Role", :target => "Rolle" )
  1616. Translation.create_if_not_exists( :locale => 'de', :source => "Roles", :target => "Rollen" )
  1617. Translation.create_if_not_exists( :locale => 'de', :source => "Active", :target => "Aktiv" )
  1618. Translation.create_if_not_exists( :locale => 'de', :source => "Edit", :target => "Bearbeiten" )
  1619. Translation.create_if_not_exists( :locale => 'de', :source => "Base", :target => "Basis" )
  1620. Translation.create_if_not_exists( :locale => 'de', :source => "Number", :target => "Nummer" )
  1621. Translation.create_if_not_exists( :locale => 'de', :source => "Sender Format", :target => "Absender Format" )
  1622. Translation.create_if_not_exists( :locale => 'de', :source => "Authentication", :target => "Authorisierung" )
  1623. Translation.create_if_not_exists( :locale => 'de', :source => "Product Name", :target => "Produkt Name" )
  1624. Translation.create_if_not_exists( :locale => 'de', :source => "To", :target => "An" )
  1625. Translation.create_if_not_exists( :locale => 'de', :source => "Customer", :target => "Kunde" )
  1626. Translation.create_if_not_exists( :locale => 'de', :source => "Linked Accounts", :target => "Verknüpfte Accounts" )
  1627. Translation.create_if_not_exists( :locale => 'de', :source => "Sign in with", :target => "Anmelden mit" )
  1628. Translation.create_if_not_exists( :locale => 'de', :source => "Username or email", :target => "Benutzer oder E-Mail" )
  1629. Translation.create_if_not_exists( :locale => 'de', :source => "Remember me", :target => "An mich erinnern" )
  1630. Translation.create_if_not_exists( :locale => 'de', :source => "Forgot password?", :target => "Passwort vergessen?" )
  1631. Translation.create_if_not_exists( :locale => 'de', :source => "Sign in using", :target => "Anmelden über" )
  1632. Translation.create_if_not_exists( :locale => 'de', :source => "New to", :target => "Neu bei" )
  1633. Translation.create_if_not_exists( :locale => 'de', :source => "join today!", :target => "werde Teil!" )
  1634. Translation.create_if_not_exists( :locale => 'de', :source => "Sign up", :target => "Registrieren" )
  1635. Translation.create_if_not_exists( :locale => 'de', :source => "Sign in", :target => "Anmelden" )
  1636. Translation.create_if_not_exists( :locale => 'de', :source => "Create my account", :target => "Meinen Account erstellen" )
  1637. Translation.create_if_not_exists( :locale => 'de', :source => "Login successfully! Have a nice day!", :target => "Anmeldung erfolgreich!" )
  1638. Translation.create_if_not_exists( :locale => 'de', :source => "Last contact", :target => "Letzter Kontakt" )
  1639. Translation.create_if_not_exists( :locale => 'de', :source => "Last contact (Agent)", :target => "Letzter Kontakt (Agent)" )
  1640. Translation.create_if_not_exists( :locale => 'de', :source => "Last contact (Customer)", :target => "Letzter Kontakt (Kunde)" )
  1641. Translation.create_if_not_exists( :locale => 'de', :source => "Close time", :target => "Schließzeit" )
  1642. Translation.create_if_not_exists( :locale => 'de', :source => "First response", :target => "Erste Reaktion" )
  1643. Translation.create_if_not_exists( :locale => 'de', :source => "Ticket %s created!", :target => "Ticket %s erstellt!" )
  1644. Translation.create_if_not_exists( :locale => 'de', :source => "day", :target => "Tag" )
  1645. Translation.create_if_not_exists( :locale => 'de', :source => "days", :target => "Tage" )
  1646. Translation.create_if_not_exists( :locale => 'de', :source => "hour", :target => "Stunde" )
  1647. Translation.create_if_not_exists( :locale => 'de', :source => "hours", :target => "Stunden" )
  1648. Translation.create_if_not_exists( :locale => 'de', :source => "minute", :target => "Minute" )
  1649. Translation.create_if_not_exists( :locale => 'de', :source => "minutes", :target => "Minuten" )
  1650. Translation.create_if_not_exists( :locale => 'de', :source => "See more", :target => "mehr anzeigen" )
  1651. Translation.create_if_not_exists( :locale => 'de', :source => "Search", :target => "Suche" )
  1652. Translation.create_if_not_exists( :locale => 'de', :source => "Forgot your password?", :target => "Passwort vergessen?" )
  1653. Translation.create_if_not_exists( :locale => 'de', :source => "Templates", :target => "Vorlagen" )
  1654. Translation.create_if_not_exists( :locale => 'de', :source => "Delete", :target => "Löschen" )
  1655. Translation.create_if_not_exists( :locale => 'de', :source => "Apply", :target => "Übernehmen" )
  1656. Translation.create_if_not_exists( :locale => 'de', :source => "Save as Template", :target => "Als Template speichern" )
  1657. Translation.create_if_not_exists( :locale => 'de', :source => "Save", :target => "Speichern" )
  1658. Translation.create_if_not_exists( :locale => 'de', :source => "Open Tickets", :target => "Offene Ticket" )
  1659. Translation.create_if_not_exists( :locale => 'de', :source => "Closed Tickets", :target => "Geschlossene Ticket" )
  1660. Translation.create_if_not_exists( :locale => 'de', :source => "set to internal", :target => "auf intern setzen" )
  1661. Translation.create_if_not_exists( :locale => 'de', :source => "set to public", :target => "auf öffentlich setzen" )
  1662. Translation.create_if_not_exists( :locale => 'de', :source => "split", :target => "teilen" )
  1663. Translation.create_if_not_exists( :locale => 'de', :source => "Type", :target => "Typ" )
  1664. Translation.create_if_not_exists( :locale => 'de', :source => "raw", :target => "unverarbeitet" )
  1665. Translation.create_if_not_exists( :locale => 'de', :source => "1 low", :target => "1 niedrig" )
  1666. Translation.create_if_not_exists( :locale => 'de', :source => "2 normal", :target => "2 normal" )
  1667. Translation.create_if_not_exists( :locale => 'de', :source => "3 high", :target => "3 hoch" )
  1668. Translation.create_if_not_exists( :locale => 'de', :source => "public", :target => "öffentlich" )
  1669. Translation.create_if_not_exists( :locale => 'de', :source => "internal", :target => "intern" )
  1670. Translation.create_if_not_exists( :locale => 'de', :source => "Attach files", :target => "Dateien anhängen" )
  1671. Translation.create_if_not_exists( :locale => 'de', :source => "Visability", :target => "Sichtbarkeit" )
  1672. Translation.create_if_not_exists( :locale => 'de', :source => "Actions", :target => "Aktionen" )
  1673. Translation.create_if_not_exists( :locale => 'de', :source => "Email", :target => "E-Mail" )
  1674. Translation.create_if_not_exists( :locale => 'de', :source => "email", :target => "E-Mail" )
  1675. Translation.create_if_not_exists( :locale => 'de', :source => "phone", :target => "Telefon" )
  1676. Translation.create_if_not_exists( :locale => 'de', :source => "fax", :target => "Fax" )
  1677. Translation.create_if_not_exists( :locale => 'de', :source => "chat", :target => "Chat" )
  1678. Translation.create_if_not_exists( :locale => 'de', :source => "sms", :target => "SMS" )
  1679. Translation.create_if_not_exists( :locale => 'de', :source => "twitter status", :target => "Twitter Status Meldung" )
  1680. Translation.create_if_not_exists( :locale => 'de', :source => "twitter direct-message", :target => "Twitter Direkt-Nachricht" )
  1681. Translation.create_if_not_exists( :locale => 'de', :source => "All Open Tickets", :target => "Alle offenen Tickets" )
  1682. Translation.create_if_not_exists( :locale => 'de', :source => "child", :target => "Kind" )
  1683. Translation.create_if_not_exists( :locale => 'de', :source => "parent", :target => "Eltern" )
  1684. Translation.create_if_not_exists( :locale => 'de', :source => "normal", :target => "Normal" )
  1685. Translation.create_if_not_exists( :locale => 'de', :source => "Linked Objects", :target => "Verknüpfte Objekte" )
  1686. Translation.create_if_not_exists( :locale => 'de', :source => "Links", :target => "Verknüpftungen" )
  1687. Translation.create_if_not_exists( :locale => 'de', :source => "Change Customer", :target => "Kunden ändern" )
  1688. Translation.create_if_not_exists( :locale => 'de', :source => "My Tickets", :target => "Meine Tickets" )
  1689. Translation.create_if_not_exists( :locale => 'de', :source => "My Organization Tickets", :target => "Meine Organisations Tickets" )
  1690. Translation.create_if_not_exists( :locale => 'de', :source => "My Organization", :target => "Meine Organisation" )
  1691. Translation.create_if_not_exists( :locale => 'de', :source => "Assignment Timout", :target => "Zeitliche Zuweisungsüberschritung" )
  1692. Translation.create_if_not_exists( :locale => 'de', :source => "We've sent password reset instructions to your email address.", :target => "Wir haben Ihnen die Anleitung zum zurücksetzen Ihres Passworts an Ihre E-Mail-Adresse gesendet." )
  1693. Translation.create_if_not_exists( :locale => 'de', :source => "Enter your username or email address", :target => "Bitte geben Sie Ihren Benutzernamen oder E-Mail-Adresse ein" )
  1694. Translation.create_if_not_exists( :locale => 'de', :source => "Choose your new password.", :target => "Wählen Sie Ihr neues Passwort." )
  1695. Translation.create_if_not_exists( :locale => 'de', :source => "Woo hoo! Your password has been changed!", :target => "Vielen Dank, Ihr Passwort wurde geändert!" )
  1696. Translation.create_if_not_exists( :locale => 'de', :source => "Please try to login!", :target => "Bitte melden Sie sich nun an!" )
  1697. Translation.create_if_not_exists( :locale => 'de', :source => "Username or email address invalid, please try again.", :target => "Benutzername oder E-Mail-Addresse ungültig, bitte erneut versuchen." )
  1698. Translation.create_if_not_exists( :locale => 'de', :source => "If you don\'t receive instructions within a minute or two, check your email\'s spam and junk filters, or try resending your request.", :target => "Wir haben die Anforderung per E-Mail an Sie versendet, bitte überprüfen Sie Ihr E-Mail-Postfach (auch die Junk E-Mails) ggf. starten Sie eine Anforderung erneut." )
  1699. Translation.create_if_not_exists( :locale => 'de', :source => "again", :target => "erneut" )
  1700. Translation.create_if_not_exists( :locale => 'de', :source => "none", :target => "keine" )
  1701. Translation.create_if_not_exists( :locale => 'de', :source => "Welcome!", :target => "Willkommen!" )
  1702. Translation.create_if_not_exists( :locale => 'de', :source => "Please click the button below to create your first one.", :target => "Klicken Sie die Schaltfläche unten um das erste zu erstellen." )
  1703. Translation.create_if_not_exists( :locale => 'de', :source => "Create your first Ticket", :target => "Erstellen Sie Ihr erstes Ticket" )
  1704. Translation.create_if_not_exists( :locale => 'de', :source => "You have not created a Ticket yet.", :target => "Sie haben noch kein Ticket erstellt." )
  1705. Translation.create_if_not_exists( :locale => 'de', :source => "The way to communicate with us is this thing called \"Ticket\".", :target => "Der Weg um mit uns zu kommunizieren ist das sogenannte \"Ticket\"." )
  1706. Translation.create_if_not_exists( :locale => 'de', :source => "or", :target => "oder" )
  1707. Translation.create_if_not_exists( :locale => 'de', :source => "yes", :target => "ja" )
  1708. Translation.create_if_not_exists( :locale => 'de', :source => "no", :target => "nein" )
  1709. Translation.create_if_not_exists( :locale => 'de', :source => "Attachment", :target => "Anhang" )
  1710. Translation.create_if_not_exists( :locale => 'de', :source => "Year", :target => "Jahr" )
  1711. Translation.create_if_not_exists( :locale => 'de', :source => "Month", :target => "Monat" )
  1712. Translation.create_if_not_exists( :locale => 'de', :source => "Day", :target => "Tag" )
  1713. Translation.create_if_not_exists( :locale => 'de', :source => "Closed", :target => "Geschlossen" )
  1714. Translation.create_if_not_exists( :locale => 'de', :source => "Re-Open", :target => "Wiedereröffnet" )
  1715. Translation.create_if_not_exists( :locale => 'de', :source => "Day", :target => "Tag" )
  1716. Translation.create_if_not_exists( :locale => 'de', :source => "First Solution", :target => "Erstlösung" )
  1717. Translation.create_if_not_exists( :locale => 'de', :source => "Vendor", :target => "Hersteller" )
  1718. Translation.create_if_not_exists( :locale => 'de', :source => "Action", :target => "Aktion" )
  1719. Translation.create_if_not_exists( :locale => 'de', :source => "uninstall", :target => "deinstallieren" )
  1720. Translation.create_if_not_exists( :locale => 'de', :source => "install", :target => "installieren" )
  1721. Translation.create_if_not_exists( :locale => 'de', :source => "reinstall", :target => "erneut installieren" )
  1722. Translation.create_if_not_exists( :locale => 'de', :source => "deactivate", :target => "deaktivieren" )
  1723. Translation.create_if_not_exists( :locale => 'de', :source => "activate", :target => "aktivieren" )
  1724. Translation.create_if_not_exists( :locale => 'de', :source => "uninstalled", :target => "deinstalliert" )
  1725. Translation.create_if_not_exists( :locale => 'de', :source => "installed", :target => "installiert" )
  1726. Translation.create_if_not_exists( :locale => 'de', :source => "deactivated", :target => "deaktiviert" )
  1727. Translation.create_if_not_exists( :locale => 'de', :source => "activated", :target => "aktiviert" )
  1728. Translation.create_if_not_exists( :locale => 'de', :source => "new", :target => "neu" )
  1729. Translation.create_if_not_exists( :locale => 'de', :source => "note", :target => "Notiz" )
  1730. Translation.create_if_not_exists( :locale => 'de', :source => "phone", :target => "Telefon" )
  1731. Translation.create_if_not_exists( :locale => 'de', :source => "web", :target => "Web" )
  1732. Translation.create_if_not_exists( :locale => 'de', :source => "Change order", :target => "Reihenfolge ändern" )
  1733. Translation.create_if_not_exists( :locale => 'de', :source => "Group by", :target => "Gruppieren mit" )
  1734. Translation.create_if_not_exists( :locale => 'de', :source => "Items per page", :target => "Einträge je Seite" )
  1735. Translation.create_if_not_exists( :locale => 'de', :source => "Last Contact", :target => "Letzter Kontakt" )
  1736. Translation.create_if_not_exists( :locale => 'de', :source => "Last Contact Agent", :target => "Letzter Kontakt Agent" )
  1737. Translation.create_if_not_exists( :locale => 'de', :source => "Last Contact Customer", :target => "Letzter Kontakt Kunde" )
  1738. Translation.create_if_not_exists( :locale => 'de', :source => "Create an inbound Ticket", :target => "Erstelle ein eingehendes Ticket" )
  1739. Translation.create_if_not_exists( :locale => 'de', :source => "Create an outbound Ticket (will send this as email to customer)", :target => "Erstelle ein ausgehendes Ticket (wird per E-Mail an den Kunden gesendet)" )
  1740. Translation.create_if_not_exists( :locale => 'de', :source => "Age", :target => "Alter" )
  1741. Translation.create_if_not_exists( :locale => 'de', :source => "Article Count", :target => "Artikel Anzahl" )
  1742. Translation.create_if_not_exists( :locale => 'de', :source => "Article", :target => "Artikel" )
  1743. Translation.create_if_not_exists( :locale => 'de', :source => "Close Time", :target => "Schließzeit" )
  1744. Translation.create_if_not_exists( :locale => 'de', :source => "First Response", :target => "Erste Reaktion" )
  1745. Translation.create_if_not_exists( :locale => 'de', :source => "up", :target => "auf" )
  1746. Translation.create_if_not_exists( :locale => 'de', :source => "down", :target => "ab" )
  1747. Translation.create_if_not_exists( :locale => 'de', :source => "Inbound", :target => "Eingehend" )
  1748. Translation.create_if_not_exists( :locale => 'de', :source => "Outbound", :target => "Ausgehend" )
  1749. Translation.create_if_not_exists( :locale => 'de', :source => "Adresses", :target => "Adressen" )
  1750. Translation.create_if_not_exists( :locale => 'de', :source => "Signatures", :target => "Signatur" )
  1751. Translation.create_if_not_exists( :locale => 'de', :source => "Filter", :target => "Filter" )
  1752. Translation.create_if_not_exists( :locale => 'de', :source => "Bulk-Action executed!", :target => "Sammelaktion ausgeführt!" )
  1753. Translation.create_if_not_exists( :locale => 'de', :source => "Moved in", :target => "Hinein Verschoben" )
  1754. Translation.create_if_not_exists( :locale => 'de', :source => "Moved out", :target => "Heraus Verschoben" )
  1755. Translation.create_if_not_exists( :locale => 'de', :source => "Country", :target => "Land" )
  1756. Translation.create_if_not_exists( :locale => 'de', :source => "Invitation sent!", :target => "Einladung versendet" )
  1757. Translation.create_if_not_exists( :locale => 'de', :source => "Can't create user", :target => "Benutzer konnte nicht angelegt werden!" )
  1758. Translation.create_if_not_exists( :locale => 'de', :source => "Update successful!", :target => "Aktualisierung erfolgreich!" )
  1759. Translation.create_if_not_exists( :locale => 'de', :source => "Invite Agents", :target => "Agenten einladen" )
  1760. Translation.create_if_not_exists( :locale => 'de', :source => "Getting started!", :target => "Ersten Schritte!" )
  1761. Translation.create_if_not_exists( :locale => 'de', :source => "Create Admin", :target => "Admin erstellen" )
  1762. Translation.create_if_not_exists( :locale => 'de', :source => "Configure Channels", :target => "Kanäle konfigurieren" )
  1763. Translation.create_if_not_exists( :locale => 'de', :source => "Send invitation", :target => "Einladung senden" )
  1764. Translation.create_if_not_exists( :locale => 'de', :source => "Next...", :target => "Weiter..." )
  1765. Translation.create_if_not_exists( :locale => 'de', :source => "Week", :target => "Woche" )
  1766. Translation.create_if_not_exists( :locale => 'de', :source => "Follow up possible", :target => "Nachfrage möglich" )
  1767. Translation.create_if_not_exists( :locale => 'de', :source => "Assign Follow Ups", :target => "Zuweisung bei Nachfrage" )
  1768. Translation.create_if_not_exists( :locale => 'de', :source => "Signature", :target => "Signatur" )
  1769. Translation.create_if_not_exists( :locale => 'de', :source => "Change your password", :target => "Ändern Sie Ihr Passwort" )
  1770. Translation.create_if_not_exists( :locale => 'de', :source => "Current Password", :target => "Aktuelles Passwort" )
  1771. Translation.create_if_not_exists( :locale => 'de', :source => "New Password", :target => "Neues Passwort" )
  1772. Translation.create_if_not_exists( :locale => 'de', :source => "New Password (confirm)", :target => "Neues Passwort (bestätigen)" )
  1773. Translation.create_if_not_exists( :locale => 'de', :source => "Language", :target => "Sprache" )
  1774. Translation.create_if_not_exists( :locale => 'de', :source => "Link Accounts", :target => "Verknüpfte Accounts" )
  1775. Translation.create_if_not_exists( :locale => 'de', :source => "Change your language.", :target => "Ändern Sie Ihr Sprache." )
  1776. Translation.create_if_not_exists( :locale => 'de', :source => "Successfully!", :target => "Erfolgreich!" )
  1777. Translation.create_if_not_exists( :locale => 'de', :source => "Remove", :target => "Entfernen" )
  1778. Translation.create_if_not_exists( :locale => 'de', :source => "Add", :target => "Hinzufügen" )
  1779. Translation.create_if_not_exists( :locale => 'de', :source => "Call Outbound", :target => "Anruf ausgehend" )
  1780. Translation.create_if_not_exists( :locale => 'de', :source => "Call Inbound", :target => "Anruf eingehend" )
  1781. Translation.create_if_not_exists( :locale => 'de', :source => "Loading...", :target => "Laden..." )
  1782. Translation.create_if_not_exists( :locale => 'de', :source => "Work Disposition", :target => "Arbeitsverteilung" )
  1783. Translation.create_if_not_exists( :locale => 'de', :source => "Timezone", :target => "Zeitzone" )
  1784. Translation.create_if_not_exists( :locale => 'de', :source => "Business Times", :target => "Arbeitszeiten" )
  1785. Translation.create_if_not_exists( :locale => 'de', :source => "Day", :target => "Day" )
  1786. Translation.create_if_not_exists( :locale => 'de', :source => "Days", :target => "Days" )
  1787. Translation.create_if_not_exists( :locale => 'de', :source => "Hour", :target => "Stunde" )
  1788. Translation.create_if_not_exists( :locale => 'de', :source => "Hours", :target => "Stunden" )
  1789. Translation.create_if_not_exists( :locale => 'de', :source => "New SLA", :target => "Neuer SLA" )
  1790. Translation.create_if_not_exists( :locale => 'de', :source => "Conditions where SLA is used", :target => "Bedingungen bei denen der SLA verwendet wird" )
  1791. Translation.create_if_not_exists( :locale => 'de', :source => "First Response Time", :target => "Reaktionszeit" )
  1792. Translation.create_if_not_exists( :locale => 'de', :source => "Update Time", :target => "Aktuallisierungszeit" )
  1793. Translation.create_if_not_exists( :locale => 'de', :source => "Solution Time", :target => "Lösungszeit" )
  1794. Translation.create_if_not_exists( :locale => 'de', :source => "Add Attribute", :target => "Attribut hinzufügen" )
  1795. Translation.create_if_not_exists( :locale => 'de', :source => "Back to top", :target => "Nach oben" )
  1796. Translation.create_if_not_exists( :locale => 'de', :source => "Discard your unsaved changes.", :target => "Verwerfen der ungespeicherten Änderungen." )
  1797. Translation.create_if_not_exists( :locale => 'de', :source => "Copy to clipboard: Ctrl+C, Enter", :target => "In die Zwischenablage kopieren: Strg+C, Return" )
  1798. Translation.create_if_not_exists( :locale => 'de', :source => "Copy to clipboard", :target => "In die Zwischenablage kopieren" )
  1799. Translation.create_if_not_exists( :locale => 'de', :source => "Send to clients", :target => "An Clients senden" )
  1800. Translation.create_if_not_exists( :locale => 'de', :source => "Feedback about our new Interface", :target => "Feedback übers neue Design!" )
  1801. Translation.create_if_not_exists( :locale => 'de', :source => "What ideas do you have?", :target => "Welche Ideen haben Sie?" )
  1802. Translation.create_if_not_exists( :locale => 'de', :source => "Attach Screenshot of page", :target => "Screenshot dieser Seite anhängen" )
  1803. Translation.create_if_not_exists( :locale => 'de', :source => "Thanks for your Feedback!", :target => "Vielen Dank für Ihre Feedback!" )
  1804. #Translation.create_if_not_exists( :locale => 'de', :source => "", :target => "" )
  1805. # install all packages in auto_install
  1806. Package.auto_install()