jinda 0.5.2 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/lib/generators/jinda/install_generator.rb +5 -0
  4. data/lib/generators/jinda/templates/README.md +1 -1
  5. data/lib/generators/jinda/templates/app/controllers/concerns/jinda_general_concern.rb +27 -4
  6. data/lib/generators/jinda/templates/app/controllers/concerns/jinda_run_concern.rb +121 -6
  7. data/lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb +55 -0
  8. data/lib/generators/jinda/templates/app/controllers/jinda_org/jinda_controller.rb +22 -2
  9. data/lib/generators/jinda/templates/app/jinda/index.mm +83 -14
  10. data/lib/generators/jinda/templates/app/jinda/template/view.html.erb +22 -23
  11. data/lib/generators/jinda/templates/app/models/jinda/doc.rb +5 -0
  12. data/lib/generators/jinda/templates/app/views/docs/doc_edit/doc_edit.html.erb +21 -0
  13. data/lib/generators/jinda/templates/app/views/docs/doc_edit/doc_select.html.erb +14 -0
  14. data/lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.html.erb +26 -0
  15. data/lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.md +36 -0
  16. data/lib/generators/jinda/templates/app/views/docs/doc_xedit/doc_edit.html.erb +21 -0
  17. data/lib/generators/jinda/templates/app/views/docs/edit/select_note.html.erb +14 -0
  18. data/lib/generators/jinda/templates/app/views/docs/index.haml +21 -0
  19. data/lib/generators/jinda/templates/app/views/docs/my.haml +27 -0
  20. data/lib/generators/jinda/templates/app/views/jinda/index.html.haml +3 -3
  21. data/lib/generators/jinda/templates/app/views/jinda/run_output.haml +3 -3
  22. data/lib/jinda/helpers.rb +8 -15
  23. data/lib/jinda/version.rb +1 -1
  24. metadata +11 -5
  25. data/lib/jinda/ template/view.html.erb +0 -25
  26. data/lib/jinda/app/jinda/index.mm +0 -309
  27. data/lib/jinda/app/jinda/template/view.html.erb +0 -27
@@ -1,27 +1,26 @@
1
1
  <%
2
- doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
2
+ doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
3
  %>
4
4
  <%= fields_for doc do |f| %>
5
-
6
- <%= f.select :x, [["SELECTION 1", 1], ["SELECTION 2", 2], ["SELECTION 3", 3]] %>
7
-
8
-
9
- <%= f.label :x, "Reference number" %>
10
- <%= f.text_field :x %>
5
+ <%= f.label :category, "Category" %>
6
+ <%= f.select :category, [["Book", "book"], ["Letter", "letter"], ["Brochure", "brochure"]] %>
11
7
  <!--div>
12
- <%= f.label :w, "Confidential" , :class=>"ui-input-text" %>
13
- <%= f.select :w, [['normal',0],['secret',1],['top secret',2]],{},"data-native-menu"=>"false" %>
14
- </div-->
15
- <%= f.label :issue_on, "Dated" %>
16
- <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
17
- <%= f.label :y, "Summary" %>
18
- <%= f.text_area :summary, :cols=>50, :rows=>6 %>
19
- <%= f.label :dscan, "Attached document" %>
20
- <%= f.file_field :dscan %>
21
- <% end %>
22
- <%= label_tag :z, "Ungroup field" %>
23
- <%= text_field_tag :z %>
24
- <!--div>
25
- <%= label_tag :yes, "Logic field", :class=>"ui-input-text" %>
26
- <%= select_tag :yes, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
27
- </div-->
8
+ </div-->
9
+ <%= f.label :issue_on, "Dated" %>
10
+ <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
+
12
+ <%= f.label :dscan, "Attached document" %>
13
+ <%= f.file_field :dscan %>
14
+ <% end %>
15
+ <div>
16
+ <%= label_tag :description, "Description" %>
17
+ <%= text_field_tag :description %>
18
+ </div>
19
+ <div>
20
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
21
+ <%= select_tag :ma_display, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
22
+ </div>
23
+ <div>
24
+ <%= label_tag :keywords, "Search Keywords" %>
25
+ <%= text_field_tag :keywords %>
26
+ </div>
@@ -2,6 +2,7 @@
2
2
  class Jinda::Doc
3
3
  include Mongoid::Document
4
4
  include Mongoid::Timestamps
5
+ include Mongoid::Attributes::Dynamic
5
6
  field :name, :type => String
6
7
  field :filename, :type => String
7
8
  field :content_type, :type => String
@@ -14,8 +15,12 @@ class Jinda::Doc
14
15
  belongs_to :user
15
16
  belongs_to :service, :class_name => "Jinda::Service"
16
17
  field :ip, :type => String
18
+ field :description, :type => String
19
+ field :category, :type => String
17
20
  field :ma_display, :type => Boolean
18
21
  field :ma_secured, :type => Boolean
22
+ field :dscan, :type => String
23
+ field :keywords, :type => String
19
24
 
20
25
  def self.search(q, page, per_page=PER_PAGE)
21
26
  paginate :per_page=>per_page, :page => page, :conditions =>
@@ -0,0 +1,21 @@
1
+ <%
2
+ doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%= fields_for doc do |f| %>
5
+ <%= f.label :content_type, "Content type" %>
6
+ <%= f.select :content_type, [["pdf file", "pdf"], ["png file", "png"], ["html file", "html"]] %>
7
+ <!--div>
8
+ </div-->
9
+ <%= f.label :issue_on, "Dated" %>
10
+ <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
+
12
+ <%= f.label :dscan, "Attached document" %>
13
+ <%= f.file_field :dscan %>
14
+ <%= f.label :filename, "File Name" %>
15
+ <% end %>
16
+ <%= label_tag :x, "x field" %>
17
+ <%= text_field_tag :x %>
18
+ <div>
19
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
20
+ <%= select_tag :ma_display, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
21
+ </div>
@@ -0,0 +1,14 @@
1
+
2
+ <%
3
+ if current_ma_user.role.upcase.split(',').include?("A")
4
+ note= Jinda::Doc.all.desc(:created_at)
5
+ else
6
+ note= Jinda::Doc.where(user: current_ma_user).desc(:created_at)
7
+ end
8
+ %>
9
+ <div class="field" data-role="fieldcontain">
10
+ <%= label_tag :filename, 'Select Document' %>
11
+ <br>
12
+ <br>
13
+ <%= select_tag :id, options_from_collection_for_select(note, :id, :filename), "notee-menu"=>"false" %>
14
+ </div>
@@ -0,0 +1,26 @@
1
+ <%
2
+ doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%= fields_for doc do |f| %>
5
+ <%= f.label :category, "Category" %>
6
+ <%= f.select :category, [["Book", "book"], ["Letter", "letter"], ["Brochure", "brochure"]] %>
7
+ <!--div>
8
+ </div-->
9
+ <%= f.label :issue_on, "Dated" %>
10
+ <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
+
12
+ <%= f.label :dscan, "Attached document" %>
13
+ <%= f.file_field :dscan %>
14
+ <% end %>
15
+ <div>
16
+ <%= label_tag :description, "Description" %>
17
+ <%= text_field_tag :description %>
18
+ </div>
19
+ <div>
20
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
21
+ <%= select_tag :ma_display, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
22
+ </div>
23
+ <div>
24
+ <%= label_tag :keywords, "Search Keywords" %>
25
+ <%= text_field_tag :keywords %>
26
+ </div>
@@ -0,0 +1,36 @@
1
+ <style>code { font-size: 0.8em;}</style>
2
+
3
+ <%= File.read('README.md') %>
4
+
5
+ ***
6
+
7
+ # Help (UNDER CONSTRUCTION: DUI)
8
+
9
+ <%= render :partial=>'jinda/modul.md', :collection=> Jinda::Module.all.asc(:seq) %>
10
+
11
+ ***
12
+
13
+ # Admin
14
+
15
+ ## Data Structure
16
+
17
+ <%- models= @app.elements["//node[@TEXT='models']"] %>
18
+
19
+ <%= render :partial=>'jinda/model.md', :collection=> models.map {|m| m.attributes["TEXT"] } %>
20
+
21
+ ***
22
+
23
+ # Contents
24
+
25
+ ## markdown
26
+
27
+ This document created and edited with
28
+ <a href="http://daringfireball.net/projects/markdown/syntax" target="_blank">markdown</a>
29
+
30
+ Contents:
31
+
32
+ * Requirement at `README.md`
33
+ * Controller Help at `app/controllers/system.md`
34
+ * Project at `app/views/project/<งาน>.md`
35
+ *
36
+ *
@@ -0,0 +1,21 @@
1
+ <%
2
+ doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
+ %>
4
+ <%= fields_for doc do |f| %>
5
+ <%= f.label :content_type, "Content type" %>
6
+ <%= f.select :content_type, [["pdf file", "pdf"], ["png file", "png"], ["html file", "html"]] %>
7
+ <!--div>
8
+ </div-->
9
+ <%= f.label :issue_on, "Dated" %>
10
+ <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
+
12
+ <%= f.label :dscan, "Attached document" %>
13
+ <%= f.file_field :dscan %>
14
+ <%= f.label :filename, "File Name" %>
15
+ <% end %>
16
+ <%= label_tag :x, "x field" %>
17
+ <%= text_field_tag :x %>
18
+ <div>
19
+ <%= label_tag :ma_display, "Display", :class=>"ui-input-text" %>
20
+ <%= select_tag :ma_display, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
21
+ </div>
@@ -0,0 +1,14 @@
1
+
2
+ <%
3
+ if current_ma_user.role.upcase.split(',').include?("A")
4
+ note= Note.all.desc(:created_at)
5
+ else
6
+ note= Note.where(user: current_ma_user).desc(:created_at)
7
+ end
8
+ %>
9
+ <div class="field" data-role="fieldcontain">
10
+ <%= label_tag :title, 'Select Note' %>
11
+ <br>
12
+ <br>
13
+ <%= select_tag :id, options_from_collection_for_select(note, :id, :title), "notee-menu"=>"false" %>
14
+ </div>
@@ -0,0 +1,21 @@
1
+ - @title= "My Articles"
2
+ %p
3
+ - @page_title = 'All Articlces'
4
+ = paginate @articles
5
+ %table#article-table
6
+ %tr
7
+ %th Title
8
+ %th Description
9
+ %th Created
10
+ %th Updated
11
+ %th Delete
12
+ %th Edit
13
+ - @articles.each do |article|
14
+ %tr
15
+ %td= link_to article.title, :controller=>"articles", :action=>"show", :id=>article.id
16
+ %td= article.text.html_safe
17
+ %td= article.created_at.strftime('%m/%d/%Y')
18
+ %td= article.updated_at.strftime('%m/%d/%Y')
19
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('Please Confirm')) {location.hash='/articles/destroy/#{article.id}';}"
20
+ %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'articles:xedit_article', article_id: article.id}, data: { confirm: "Please Confirm" }
21
+
@@ -0,0 +1,27 @@
1
+ - @title= "My Documents"
2
+ %p
3
+ - @page_title = 'All Documents'
4
+ = paginate @docs
5
+ %table#document-table
6
+ %tr
7
+ %th File Name
8
+ %th Description
9
+ %th Category
10
+ %th Created
11
+ %th Delete
12
+ %th Edit
13
+ - @docs.each do |doc|
14
+ %tr
15
+ - @temp = doc.dscan
16
+ - if !@temp.blank?
17
+ - @dscan = @temp.scan(/document\/([^*]*)/).last.last
18
+ %td= link_to doc.filename, "#{jinda_document_path}?id=#{@dscan}", target: :_blank
19
+ - else
20
+ %td= doc.filename
21
+ %td= doc.description
22
+ %td= doc.category
23
+ %td= doc.created_at.strftime('%m/%d/%Y')
24
+ %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), {controller: "docs", action: "destroy", doc_id: doc.id}, data: { confirm: "Please Confirm" }
25
+ %td(align='center')= image_tag('pencil.png', style:'border:none; float:none;')
26
+ - # To do
27
+ - # %td(align='center')= link_to image_tag('pencil.png', style:'border:none; float:none;'), {controller: "jinda", action: "init", s: 'docs:xedit_doc', doc_id: doc.id}, data: { confirm: "Please Confirm" }
@@ -13,15 +13,15 @@
13
13
 
14
14
  %h2 Recently tested with:
15
15
  %ul
16
- %li Rubygems 2.7.0
17
- %li Rails 6.0.2
16
+ %li Rubygems 2.7.1
17
+ %li Rails 6.0.3
18
18
  %li rails new YOURAPP --skip-test-unit --skip-bundle --skip-active-record --skip-javascript --skip-turbolinks
19
19
  %li (rails new YOURAPP -BOTJ)
20
20
 
21
21
 
22
22
  %h2 Installation
23
23
  %ul
24
- %li add gem 'jinda', '0.5.2'
24
+ %li add gem 'jinda', '0.5.3'
25
25
  %li bundle
26
26
  %li rails generate jinda:install
27
27
  %li (run all with "sh install.sh" )
@@ -22,7 +22,7 @@
22
22
  %th= t "user"
23
23
  %th= "date"
24
24
  - @xmain.docs.each do |doc|
25
- - next unless doc.display
25
+ - next unless doc.ma_display
26
26
  %tr
27
27
  %td= doc.id
28
28
  %td
@@ -32,7 +32,7 @@
32
32
  = image_tag 'page_attach.png'
33
33
  = link_to_blank align_text(doc.name), :controller=>"jinda", :action=>:document, :id=>doc.id
34
34
  %td= doc.filename
35
- %td= doc.user.name
36
- %td= date_thai doc.updated_at
35
+ %td= doc.user.code
36
+ %td= doc.updated_at
37
37
  = submit_tag @message
38
38
  %p
@@ -107,7 +107,7 @@ module Jinda
107
107
  return false unless action
108
108
  i= i + 1
109
109
  output_ma_display= false
110
- if action=='output'
110
+ if action== ('output'|| 'list' ||'folder')
111
111
  ma_display= get_option_xml("display", activity)
112
112
  if ma_display && !affirm(ma_display)
113
113
  output_ma_display= false
@@ -166,19 +166,6 @@ module Jinda
166
166
  @runseq.save
167
167
  end
168
168
 
169
- def document
170
- doc = Jinda::Doc.find params[:id]
171
- if doc.cloudinary
172
- require 'net/http'
173
- require "uri"
174
- uri = URI.parse(doc.url)
175
- data = Net::HTTP.get_response(uri)
176
- send_data(data.body, :filename=>doc.filename, :type=>doc.content_type, :disposition=>"inline")
177
- else
178
- data= read_binary(doc.url)
179
- send_data(data, :filename=>doc.filename, :type=>doc.content_type, :disposition=>"inline")
180
- end
181
- end
182
169
  def b(s)
183
170
  "<b>#{s}</b>".html_safe
184
171
  end
@@ -306,6 +293,7 @@ module Jinda
306
293
  step1 = REXML::Document.new(xml).root.elements['node']
307
294
  role= get_option_xml("role", step1) || ""
308
295
  # rule= get_option_xml("rule", step1) || true
296
+ rule= get_option_xml("rule", step1) || true
309
297
  return true if role==""
310
298
  unless current_ma_user
311
299
  return role.blank?
@@ -313,6 +301,7 @@ module Jinda
313
301
  return false unless current_ma_user.role
314
302
  return current_ma_user.has_role(role)
315
303
  end
304
+
316
305
  end
317
306
  def ma_log(message)
318
307
  # Jinda::Notice.create :message => ERB::Util.html_escape(message.gsub("`","'")),
@@ -854,8 +843,12 @@ module Jinda
854
843
  'redirect'
855
844
  when 'kaddressbook' #Phone
856
845
  'invoke' # invoke new service along the way
857
- when 'list' # Output
846
+ when 'idea' # output
858
847
  'output'
848
+ when 'list' # List
849
+ 'list'
850
+ when 'folder' # Folder
851
+ 'folder'
859
852
  when 'mail'
860
853
  'mail'
861
854
  when 'xmag' # Tobe discussed
@@ -1,3 +1,3 @@
1
1
  module Jinda
2
- VERSION = "0.5.2"
2
+ VERSION = "0.5.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jinda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prateep Kul
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-05-04 00:00:00.000000000 Z
12
+ date: 2020-05-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -215,6 +215,7 @@ files:
215
215
  - lib/generators/jinda/templates/app/controllers/jinda_org/articles_controller.rb
216
216
  - lib/generators/jinda/templates/app/controllers/jinda_org/comments_controller.rb
217
217
  - lib/generators/jinda/templates/app/controllers/jinda_org/devs_controller.rb
218
+ - lib/generators/jinda/templates/app/controllers/jinda_org/docs_controller.rb
218
219
  - lib/generators/jinda/templates/app/controllers/jinda_org/identities_controller.rb
219
220
  - lib/generators/jinda/templates/app/controllers/jinda_org/jinda_controller.rb
220
221
  - lib/generators/jinda/templates/app/controllers/jinda_org/notes_controller.rb
@@ -271,6 +272,14 @@ files:
271
272
  - lib/generators/jinda/templates/app/views/ctrs/vfolder1/viewfile2.html.erb
272
273
  - lib/generators/jinda/templates/app/views/ctrs/vfolder2/viewfile2.html.erb
273
274
  - lib/generators/jinda/templates/app/views/custom/_adsense.haml
275
+ - lib/generators/jinda/templates/app/views/docs/doc_edit/doc_edit.html.erb
276
+ - lib/generators/jinda/templates/app/views/docs/doc_edit/doc_select.html.erb
277
+ - lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.html.erb
278
+ - lib/generators/jinda/templates/app/views/docs/doc_new/doc_form.md
279
+ - lib/generators/jinda/templates/app/views/docs/doc_xedit/doc_edit.html.erb
280
+ - lib/generators/jinda/templates/app/views/docs/edit/select_note.html.erb
281
+ - lib/generators/jinda/templates/app/views/docs/index.haml
282
+ - lib/generators/jinda/templates/app/views/docs/my.haml
274
283
  - lib/generators/jinda/templates/app/views/identities/new.html.erb
275
284
  - lib/generators/jinda/templates/app/views/jinda/_activity.md
276
285
  - lib/generators/jinda/templates/app/views/jinda/_menu.haml
@@ -373,9 +382,6 @@ files:
373
382
  - lib/generators/jinda/templates/test/integration/jinda_routes_test.rb
374
383
  - lib/generators/jinda/templates/test/test_helper.rb
375
384
  - lib/jinda.rb
376
- - lib/jinda/ template/view.html.erb
377
- - lib/jinda/app/jinda/index.mm
378
- - lib/jinda/app/jinda/template/view.html.erb
379
385
  - lib/jinda/gemhelpers.rb
380
386
  - lib/jinda/helpers.rb
381
387
  - lib/jinda/railtie.rb
@@ -1,25 +0,0 @@
1
- <%
2
- doc = Jinda::Doc.new :issue_on=> Date.today, :process_at => Time.now
3
- %>
4
- <%= fields_for doc do |f| %>
5
-
6
- <%= f.select :x, [["SELECTION 1", 1], ["SELECTION 2", 2], ["SELECTION 3", 3]] %>
7
-
8
-
9
- <%= f.label :x, "Reference number" %>
10
- <%= f.text_field :x %>
11
- <!--div>
12
- <%= f.label :w, "Confidential" , :class=>"ui-input-text" %>
13
- <%= f.select :w, [['normal',0],['secret',1],['top secret',2]],{},"data-native-menu"=>"false" %>
14
- </div-->
15
- <%= f.label :issue_on, "Dated" %>
16
- <%= f.date_field :issue_on, "blackDays"=>[0,6] %>
17
- <%= f.label :dscan, "Attached document" %>
18
- <%= f.file_field :dscan %>
19
- <% end %>
20
- <%= label_tag :z, "Ungroup field" %>
21
- <%= text_field_tag :z %>
22
- <!--div>
23
- <%= label_tag :yes, "Logic field", :class=>"ui-input-text" %>
24
- <%= select_tag :yes, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
25
- </div-->
@@ -1,309 +0,0 @@
1
- <map version="1.0.1">
2
- <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
3
- <node CREATED="1273819432637" ID="ID_1098419600" MODIFIED="1334737006485" TEXT="Jinda">
4
- <node CREATED="1273819462973" ID="ID_282419531" MODIFIED="1583088810861" POSITION="right" TEXT="services">
5
- <node CREATED="1275756501221" FOLDED="true" ID="ID_1720745721" MODIFIED="1583097151076" TEXT="users:User">
6
- <node CREATED="1278491598711" ID="ID_1662699954" MODIFIED="1494393920347" TEXT="role:m"/>
7
- <node CREATED="1279700865182" ID="ID_1266797279" MODIFIED="1357798847781" TEXT="link:info: /users"/>
8
- <node CREATED="1319015338880" ID="ID_189841353" MODIFIED="1528215866339" TEXT="link:pending tasks: /jinda/pending"/>
9
- <node CREATED="1275905802131" ID="ID_154000410" MODIFIED="1355422418892" TEXT="user:edit">
10
- <node CREATED="1275756515843" ID="ID_1108188320" MODIFIED="1330477833918" TEXT="enter_user:edit">
11
- <icon BUILTIN="attach"/>
12
- <node CREATED="1282816887988" ID="ID_1767357871" MODIFIED="1282817769412" TEXT="rule:login? &amp;&amp; own_xmain?"/>
13
- </node>
14
- <node CREATED="1275756530989" ID="ID_1221806432" MODIFIED="1282822205361" TEXT="update_user">
15
- <icon BUILTIN="bookmark"/>
16
- </node>
17
- </node>
18
- <node CREATED="1275756504750" ID="ID_1382277695" MODIFIED="1355422424108" TEXT="pwd:change password">
19
- <node CREATED="1275756515843" ID="ID_1559014937" MODIFIED="1330477842311" TEXT="enter: edit">
20
- <icon BUILTIN="attach"/>
21
- <node CREATED="1282816887988" ID="ID_2948144" MODIFIED="1282817769412" TEXT="rule:login? &amp;&amp; own_xmain?"/>
22
- </node>
23
- <node CREATED="1275756530989" ID="ID_1566171053" MODIFIED="1275756553762" TEXT="change_password">
24
- <icon BUILTIN="bookmark"/>
25
- </node>
26
- </node>
27
- </node>
28
- <node CREATED="1275752678377" FOLDED="true" ID="ID_1348489452" MODIFIED="1583097147577" TEXT="admins:Admin">
29
- <node CREATED="1275752688167" ID="ID_229996461" MODIFIED="1275752690948" TEXT="role:a"/>
30
- <node CREATED="1282722836614" ID="ID_1213363124" MODIFIED="1330477902602" TEXT="edit_role:edit user role">
31
- <node CREATED="1282722862918" ID="ID_1190117882" MODIFIED="1330477922159" TEXT="select_user:select user">
32
- <icon BUILTIN="attach"/>
33
- <node CREATED="1282722901932" ID="ID_1859523490" MODIFIED="1282722903469" TEXT="role:a"/>
34
- </node>
35
- <node CREATED="1282722868801" ID="ID_1325872490" MODIFIED="1330477926538" TEXT="edit_role:edit role">
36
- <icon BUILTIN="attach"/>
37
- <node CREATED="1282722901932" ID="ID_1992100954" MODIFIED="1282722903469" TEXT="role:a"/>
38
- </node>
39
- <node CREATED="1282722907306" ID="ID_1709875397" MODIFIED="1282722922669" TEXT="update_role">
40
- <icon BUILTIN="bookmark"/>
41
- </node>
42
- </node>
43
- <node CREATED="1273913393454" ID="ID_1088166839" MODIFIED="1511159690490" TEXT="link: pending tasks: /jinda/pending"/>
44
- <node CREATED="1275790679363" ID="ID_829325467" MODIFIED="1511159696044" TEXT="link: logs: /jinda/logs"/>
45
- <node CREATED="1507573166973" ID="ID_351025910" MODIFIED="1511159700908" TEXT="link: docs: /jinda/doc"/>
46
- </node>
47
- <node CREATED="1273706796854" ID="ID_1003882979" MODIFIED="1588557018609" TEXT="devs: Developer">
48
- <node CREATED="1275373154914" ID="ID_340725299" MODIFIED="1275373158632" TEXT="role:d"/>
49
- <node CREATED="1275788317299" ID="ID_716276608" MODIFIED="1511159716471" TEXT="link: error_logs: /jinda/error_logs"/>
50
- <node CREATED="1275788317299" ID="ID_1570419198" MODIFIED="1587858894833" TEXT="link: notice_logs: /jinda/notice_logs"/>
51
- </node>
52
- <node CREATED="1493393619430" ID="ID_554831343" MODIFIED="1584996526651" TEXT="notes: Notes">
53
- <node CREATED="1493489768542" ID="ID_737469676" MODIFIED="1581383331288" TEXT="link:My Notes: /notes/my">
54
- <node CREATED="1493490295677" ID="ID_514416082" MODIFIED="1493490302239" TEXT="role:m"/>
55
- </node>
56
- <node CREATED="1493419257021" ID="ID_553734932" MODIFIED="1581180635669" TEXT="new: New Note">
57
- <node CREATED="1493419299004" ID="ID_723334321" MODIFIED="1581351169990" TEXT="new_note: New ">
58
- <icon BUILTIN="attach"/>
59
- <node CREATED="1493479075294" ID="ID_1009521360" MODIFIED="1493479079687" TEXT="role:m"/>
60
- </node>
61
- <node CREATED="1493419491125" ID="ID_1125779183" MODIFIED="1581180747700" TEXT="create: Create">
62
- <icon BUILTIN="bookmark"/>
63
- </node>
64
- </node>
65
- <node CREATED="1493419562726" ID="ID_1241171950" MODIFIED="1581180788218" TEXT="edit: Edit">
66
- <node CREATED="1493419577933" ID="ID_1790163920" MODIFIED="1581350888992" TEXT="select_note: Select">
67
- <icon BUILTIN="attach"/>
68
- <node CREATED="1493479602815" ID="ID_1289003986" MODIFIED="1493479606921" TEXT="role:m"/>
69
- </node>
70
- <node CREATED="1493419612720" ID="ID_938262436" MODIFIED="1581350996674" TEXT="edit_note: Edit">
71
- <icon BUILTIN="attach"/>
72
- <node CREATED="1493479557266" ID="ID_211108947" MODIFIED="1493479561055" TEXT="role:m"/>
73
- </node>
74
- <node CREATED="1493419735921" ID="ID_1581002301" MODIFIED="1581180869775" TEXT="update: Update">
75
- <icon BUILTIN="bookmark"/>
76
- </node>
77
- </node>
78
- <node CREATED="1495246388313" ID="ID_320521408" MODIFIED="1581340759604" STYLE="fork" TEXT="delete:Delete">
79
- <edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
80
- <node CREATED="1493419577933" ID="ID_1631275659" MODIFIED="1581350942681" TEXT="select_note: Select">
81
- <icon BUILTIN="attach"/>
82
- <node CREATED="1493479602815" ID="ID_851238107" MODIFIED="1493479606921" TEXT="role:m"/>
83
- </node>
84
- <node CREATED="1495246466176" ID="ID_1347765598" MODIFIED="1581799929028" TEXT="delete: Delete">
85
- <icon BUILTIN="bookmark"/>
86
- </node>
87
- </node>
88
- <node CREATED="1581531446494" ID="ID_1325232876" MODIFIED="1581715693485" TEXT="mail: Mail">
89
- <node CREATED="1493419577933" FOLDED="true" ID="ID_1817148049" MODIFIED="1581531563343" TEXT="select_note: Select">
90
- <icon BUILTIN="attach"/>
91
- <node CREATED="1493479602815" ID="ID_1650154281" MODIFIED="1493479606921" TEXT="role:m"/>
92
- </node>
93
- <node CREATED="1581531468872" ID="ID_379926448" MODIFIED="1581564690354" TEXT="display_mail: Dsiplay Mail">
94
- <icon BUILTIN="attach"/>
95
- </node>
96
- <node CREATED="1581564346466" ID="ID_1981382192" MODIFIED="1581564388041" TEXT="mail: Mail">
97
- <icon BUILTIN="bookmark"/>
98
- </node>
99
- </node>
100
- <node CREATED="1495246388313" ID="ID_807216843" MODIFIED="1585001129104" TEXT="xedit: Future use">
101
- <icon BUILTIN="button_cancel"/>
102
- <node CREATED="1493419612720" ID="ID_6864095" MODIFIED="1584999031935" TEXT="edit_note: Edit">
103
- <icon BUILTIN="attach"/>
104
- <node CREATED="1493479557266" ID="ID_297597260" MODIFIED="1493479561055" TEXT="role:m"/>
105
- </node>
106
- <node CREATED="1581400438157" ID="ID_1206027492" MODIFIED="1581400464170" TEXT="update: Update">
107
- <icon BUILTIN="bookmark"/>
108
- </node>
109
- </node>
110
- </node>
111
- <node CREATED="1493393619430" ID="ID_328863650" MODIFIED="1585001518753" TEXT="articles: Article">
112
- <node CREATED="1493419096527" ID="ID_1521905276" MODIFIED="1493478060121" TEXT="link: All Articles: /articles"/>
113
- <node CREATED="1493489768542" ID="ID_1376361427" MODIFIED="1493768994418" TEXT="link: My article: /articles/my">
114
- <node CREATED="1493490295677" ID="ID_628476988" MODIFIED="1493490302239" TEXT="role:m"/>
115
- </node>
116
- <node CREATED="1493419257021" ID="ID_1355420049" MODIFIED="1493489729876" TEXT="new_article: New Article">
117
- <node CREATED="1493419299004" ID="ID_1468250197" MODIFIED="1493419428686" TEXT="form_article: New Article">
118
- <icon BUILTIN="attach"/>
119
- <node CREATED="1493479075294" ID="ID_1145618514" MODIFIED="1493479079687" TEXT="role:m"/>
120
- </node>
121
- <node CREATED="1493419491125" ID="ID_1687683396" MODIFIED="1493483244848" TEXT="create: Create Article">
122
- <icon BUILTIN="bookmark"/>
123
- </node>
124
- </node>
125
- <node CREATED="1493419562726" ID="ID_922854639" MODIFIED="1493490306480" TEXT="edit_article: Edit Article">
126
- <node CREATED="1493419577933" ID="ID_938626803" MODIFIED="1538329139586" TEXT="select_article: Select Article">
127
- <icon BUILTIN="attach"/>
128
- <node CREATED="1493479602815" ID="ID_753056881" MODIFIED="1493479606921" TEXT="role:m"/>
129
- </node>
130
- <node CREATED="1493419612720" ID="ID_661682947" MODIFIED="1493524438941" TEXT="edit_article: Edit Article">
131
- <icon BUILTIN="attach"/>
132
- <node CREATED="1493479557266" ID="ID_1681993437" MODIFIED="1493479561055" TEXT="role:m"/>
133
- </node>
134
- <node CREATED="1493419735921" ID="ID_1575963748" MODIFIED="1493489477505" TEXT="update: Update Article">
135
- <icon BUILTIN="bookmark"/>
136
- </node>
137
- </node>
138
- <node CREATED="1495246388313" ID="ID_1861034169" MODIFIED="1585001527103" TEXT="xedit_article: xEdit Article">
139
- <icon BUILTIN="button_cancel"/>
140
- <node CREATED="1495246432533" ID="ID_91386173" MODIFIED="1495267233398" TEXT="edit_article: Edit Article">
141
- <icon BUILTIN="attach"/>
142
- <node CREATED="1495246517185" ID="ID_1224073606" MODIFIED="1495246522964" TEXT="role:m"/>
143
- </node>
144
- <node CREATED="1495246466176" ID="ID_1635586443" MODIFIED="1495266959360" TEXT="update: Update Article">
145
- <icon BUILTIN="bookmark"/>
146
- </node>
147
- </node>
148
- </node>
149
- <node CREATED="1493664700564" FOLDED="true" ID="ID_704959130" MODIFIED="1583091848193" TEXT="comments: Comment">
150
- <node CREATED="1493665155709" ID="ID_1973520751" MODIFIED="1493665186791" TEXT="new_comment: New Comment">
151
- <node CREATED="1493665192413" ID="ID_345629058" MODIFIED="1493665226422" TEXT="create">
152
- <icon BUILTIN="bookmark"/>
153
- <node CREATED="1493665231940" ID="ID_1645532530" MODIFIED="1493665237018" TEXT="role:m"/>
154
- </node>
155
- </node>
156
- <node CREATED="1494393494180" ID="ID_1101205873" MODIFIED="1495275996686" TEXT="role:m"/>
157
- </node>
158
- <node CREATED="1489875563330" FOLDED="true" ID="ID_1495015891" MODIFIED="1507248509212" TEXT="ctrs: ctrs&amp; Menu">
159
- <node CREATED="1489875583646" ID="ID_1796125628" MODIFIED="1494393464288" TEXT="role:a"/>
160
- <node CREATED="1275905802131" ID="ID_1960607342" MODIFIED="1489938927874" TEXT="vfolder1:Sub Menu 1">
161
- <node CREATED="1275756515843" ID="ID_328242903" MODIFIED="1489939229748" TEXT="viewfile1: Title 1">
162
- <icon BUILTIN="attach"/>
163
- <node CREATED="1282816887988" ID="ID_1479413309" MODIFIED="1282817769412" TEXT="rule:login? &amp;&amp; own_xmain?"/>
164
- </node>
165
- <node CREATED="1275756515843" ID="ID_1316819449" MODIFIED="1490683859703" TEXT="viewfile2: Title 2">
166
- <icon BUILTIN="attach"/>
167
- <node CREATED="1282816887988" ID="ID_1510989172" MODIFIED="1282817769412" TEXT="rule:login? &amp;&amp; own_xmain?"/>
168
- </node>
169
- <node CREATED="1275756530989" ID="ID_171099141" MODIFIED="1489939276491" TEXT="update_viewfile1">
170
- <icon BUILTIN="bookmark"/>
171
- </node>
172
- </node>
173
- <node CREATED="1275756504750" ID="ID_914236141" MODIFIED="1489939000929" TEXT="vfolder2:Title 2">
174
- <node CREATED="1275756515843" ID="ID_1222970183" MODIFIED="1489939293714" TEXT="viewfile2: Title 2">
175
- <icon BUILTIN="attach"/>
176
- <node CREATED="1282816887988" ID="ID_1312913420" MODIFIED="1282817769412" TEXT="rule:login? &amp;&amp; own_xmain?"/>
177
- </node>
178
- </node>
179
- </node>
180
- <node CREATED="1494172726642" ID="ID_925257043" MODIFIED="1494172755433" TEXT="sitemap: Sitemap">
181
- <node CREATED="1494172758253" ID="ID_961056168" MODIFIED="1494172797972" TEXT="sitemap: Sitemap"/>
182
- <node CREATED="1494393494180" ID="ID_242460166" MODIFIED="1494393504971" TEXT="role:a"/>
183
- </node>
184
- <node CREATED="1493393619430" ID="ID_35210833" MODIFIED="1585089057213" TEXT="api/v1/notes: Notes API ">
185
- <node CREATED="1493489768542" ID="ID_1053900670" MODIFIED="1582131857208" TEXT="link:My Notes: /api/v1/notes/my">
186
- <node CREATED="1493490295677" ID="ID_1597553308" MODIFIED="1493490302239" TEXT="role:m"/>
187
- </node>
188
- <node CREATED="1493419257021" ID="ID_1182560700" MODIFIED="1581180635669" TEXT="new: New Note">
189
- <node CREATED="1493419299004" ID="ID_840380967" MODIFIED="1581351169990" TEXT="new_note: New ">
190
- <icon BUILTIN="attach"/>
191
- <node CREATED="1493479075294" ID="ID_10690659" MODIFIED="1493479079687" TEXT="role:m"/>
192
- </node>
193
- <node CREATED="1493419491125" ID="ID_924027059" MODIFIED="1581180747700" TEXT="create: Create">
194
- <icon BUILTIN="bookmark"/>
195
- </node>
196
- </node>
197
- <node CREATED="1493419562726" ID="ID_963001770" MODIFIED="1581180788218" TEXT="edit: Edit">
198
- <node CREATED="1493419577933" ID="ID_1640736660" MODIFIED="1581350888992" TEXT="select_note: Select">
199
- <icon BUILTIN="attach"/>
200
- <node CREATED="1493479602815" ID="ID_1623444138" MODIFIED="1493479606921" TEXT="role:m"/>
201
- </node>
202
- <node CREATED="1493419612720" ID="ID_1362613316" MODIFIED="1581350996674" TEXT="edit_note: Edit">
203
- <icon BUILTIN="attach"/>
204
- <node CREATED="1493479557266" ID="ID_1838104057" MODIFIED="1493479561055" TEXT="role:m"/>
205
- </node>
206
- <node CREATED="1493419735921" ID="ID_1445882396" MODIFIED="1581180869775" TEXT="update: Update">
207
- <icon BUILTIN="bookmark"/>
208
- </node>
209
- </node>
210
- <node CREATED="1495246388313" ID="ID_918406528" MODIFIED="1581340759604" STYLE="fork" TEXT="delete:Delete">
211
- <edge COLOR="#808080" STYLE="bezier" WIDTH="thin"/>
212
- <node CREATED="1493419577933" ID="ID_809771470" MODIFIED="1581350942681" TEXT="select_note: Select">
213
- <icon BUILTIN="attach"/>
214
- <node CREATED="1493479602815" ID="ID_1160875526" MODIFIED="1493479606921" TEXT="role:m"/>
215
- </node>
216
- <node CREATED="1495246466176" ID="ID_506410154" MODIFIED="1581799929028" TEXT="delete: Delete">
217
- <icon BUILTIN="bookmark"/>
218
- </node>
219
- </node>
220
- </node>
221
- </node>
222
- <node CREATED="1273819465949" FOLDED="true" ID="ID_855471610" MODIFIED="1583097143651" POSITION="right" TEXT="roles">
223
- <node CREATED="1273819847470" ID="ID_1681080231" MODIFIED="1330477307826" TEXT="m: member"/>
224
- <node CREATED="1273819855875" ID="ID_1429503284" MODIFIED="1330477311102" TEXT="a: admin"/>
225
- <node CREATED="1273819859775" ID="ID_568365839" MODIFIED="1330477315009" TEXT="d: developer"/>
226
- </node>
227
- <node CREATED="1273819456867" ID="ID_1677010054" MODIFIED="1493418874718" POSITION="left" TEXT="models">
228
- <node CREATED="1292122118499" FOLDED="true" ID="ID_1957754752" MODIFIED="1493705885123" TEXT="person">
229
- <node CREATED="1292122135809" ID="ID_1617970069" MODIFIED="1332878659106" TEXT="fname"/>
230
- <node CREATED="1292122150362" ID="ID_1200135538" MODIFIED="1332878662388" TEXT="lname"/>
231
- <node CREATED="1332876694150" ID="ID_1770958985" MODIFIED="1332876730552" TEXT="sex: integer">
232
- <node CREATED="1332878665790" ID="ID_793089342" MODIFIED="1332878668499" TEXT="1: male"/>
233
- <node CREATED="1332878669085" ID="ID_1796007763" MODIFIED="1332878673144" TEXT="2: female"/>
234
- </node>
235
- <node CREATED="1292123322429" ID="ID_1509464300" MODIFIED="1332878620176" TEXT="belongs_to :address">
236
- <icon BUILTIN="edit"/>
237
- </node>
238
- <node CREATED="1292122156430" ID="ID_604231613" MODIFIED="1292122161324" TEXT="dob: date"/>
239
- <node CREATED="1286576968143" ID="ID_936807610" MODIFIED="1332878681362" TEXT="phone"/>
240
- <node CREATED="1290823140269" ID="ID_1957301629" MODIFIED="1332878684453" TEXT="photo"/>
241
- </node>
242
- <node CREATED="1292122236285" FOLDED="true" ID="ID_959987887" MODIFIED="1493768919147" TEXT="address">
243
- <node CREATED="1292122254622" ID="ID_430517150" MODIFIED="1355422372241" TEXT="address_street"/>
244
- <node CREATED="1355422373525" ID="ID_1797865138" MODIFIED="1355422378352" TEXT="city"/>
245
- <node CREATED="1355422378959" ID="ID_1964490487" MODIFIED="1355422380765" TEXT="state"/>
246
- <node CREATED="1355422381231" ID="ID_1226075540" MODIFIED="1355422382748" TEXT="zip"/>
247
- <node CREATED="1332876680122" ID="ID_65427990" MODIFIED="1332876682148" TEXT="phone"/>
248
- <node CREATED="1292243471343" ID="ID_1859608350" MODIFIED="1310195256623" TEXT="lat: float"/>
249
- <node CREATED="1292243477436" ID="ID_48497260" MODIFIED="1310195262534" TEXT="lng: float"/>
250
- </node>
251
- <node CREATED="1493418879485" FOLDED="true" ID="ID_1995497233" MODIFIED="1583097163789" TEXT="article">
252
- <node CREATED="1493418891110" ID="ID_364756011" MODIFIED="1493418905253" TEXT="title"/>
253
- <node CREATED="1493418906868" ID="ID_1676483995" MODIFIED="1493418911919" TEXT="text"/>
254
- <node CREATED="1493487131376" ID="ID_1334057464" MODIFIED="1538328284823" TEXT="belongs_to :user, :class_name =&gt; &quot;User&quot;">
255
- <icon BUILTIN="edit"/>
256
- </node>
257
- <node CREATED="1493705838166" ID="ID_408271104" MODIFIED="1493705877062" TEXT="has_many :comments">
258
- <icon BUILTIN="edit"/>
259
- </node>
260
- <node CREATED="1493718773517" ID="ID_944554146" MODIFIED="1493718808965" TEXT="validates :title, :text, :user_id, presence: true">
261
- <icon BUILTIN="edit"/>
262
- </node>
263
- <node CREATED="1494181636998" ID="ID_229502630" MODIFIED="1494181660419" TEXT="body"/>
264
- <node CREATED="1497913676275" ID="ID_404103076" MODIFIED="1497913685065" TEXT="keywords"/>
265
- </node>
266
- <node CREATED="1493418915637" FOLDED="true" ID="ID_429078131" MODIFIED="1583097162517" TEXT="comment">
267
- <node CREATED="1493418939760" ID="ID_1251093062" MODIFIED="1493418943423" TEXT="body"/>
268
- <node CREATED="1493418945686" ID="ID_911071644" MODIFIED="1493418986711" TEXT="belongs_to :article">
269
- <icon BUILTIN="edit"/>
270
- </node>
271
- <node CREATED="1493643129947" ID="ID_588013696" MODIFIED="1493643146424" TEXT="belongs_to :user">
272
- <icon BUILTIN="edit"/>
273
- </node>
274
- <node CREATED="1493718512191" ID="ID_173203253" MODIFIED="1493718583874" TEXT="validates :body, :user_id, :article_id, presence: true">
275
- <icon BUILTIN="edit"/>
276
- </node>
277
- </node>
278
- <node CREATED="1494040082403" FOLDED="true" ID="ID_864577403" MODIFIED="1583097161145" TEXT="picture">
279
- <node CREATED="1494040091583" ID="ID_679208099" MODIFIED="1494040119098" TEXT="picture"/>
280
- <node CREATED="1494040120208" ID="ID_1266154874" MODIFIED="1494040125130" TEXT="description"/>
281
- <node CREATED="1493487131376" ID="ID_1422817360" MODIFIED="1493487186856" TEXT="belongs_to :user">
282
- <icon BUILTIN="edit"/>
283
- </node>
284
- </node>
285
- <node CREATED="1581177067029" FOLDED="true" ID="ID_1450593753" MODIFIED="1583089083450" TEXT="note">
286
- <node CREATED="1581243923100" ID="ID_537548385" MODIFIED="1581243965554" TEXT="include Mongoid::Attributes::Dynamic">
287
- <icon BUILTIN="edit"/>
288
- </node>
289
- <node CREATED="1581177848957" ID="ID_1611227370" MODIFIED="1581177857470" TEXT="title"/>
290
- <node CREATED="1581177867775" ID="ID_88547965" MODIFIED="1581177883555" TEXT="body"/>
291
- <node CREATED="1493643129947" ID="ID_1655403736" MODIFIED="1493643146424" TEXT="belongs_to :user">
292
- <icon BUILTIN="edit"/>
293
- </node>
294
- <node CREATED="1581984419312" ID="ID_1934899110" MODIFIED="1581985586488" TEXT="before_validation :ensure_title_has_a_value ">
295
- <icon BUILTIN="edit"/>
296
- </node>
297
- <node CREATED="1581495182445" ID="ID_1430552418" MODIFIED="1581985664674" TEXT="validates :title, length: { maximum: (MAX_TITLE_LENGTH = 30), message: &quot;Must be less than 30 characters&quot; }, presence: true">
298
- <icon BUILTIN="edit"/>
299
- </node>
300
- <node CREATED="1581495221779" ID="ID_1231500988" MODIFIED="1581985709585" TEXT="validates :body, length: { maximum: (MAX_BODY_LENGTH = 1000), message: &quot;Must be less than 1000 characters&quot;} ">
301
- <icon BUILTIN="edit"/>
302
- </node>
303
- <node CREATED="1581986280028" ID="ID_1069060625" MODIFIED="1581987310544" TEXT="private&#xa; def ensure_title_has_a_value&#xa; if title.blank?&#xa; self.title = body[0..(MAX_TITLE_LENGTH-1)] unless body.blank?&#xa; end&#xa; end&#xa; &#xa;">
304
- <icon BUILTIN="edit"/>
305
- </node>
306
- </node>
307
- </node>
308
- </node>
309
- </map>