Wonderful! That fixed the issue with the forms file.
Thanks a lot

I still can't see the drop down menu though because there is another
console error saying:
Uncaught Error: You cannot apply bindings multiple times to the same
element.

which is kind of weird because I don't think I applied multiple bindings to
the same element.

On Thu, Jan 21, 2016 at 8:11 PM, Adam Cox <mr.adam...@gmail.com> wrote:

> Oh, it looks like resource.py originally has this line:
> from arches_hip.models import forms
> you'll need to comment that out and add
> import forms
> in order to reference the correct forms.py file.
>
> Hopefully that should do it.  The select2 error should be solved too.
>
> Adam
>
> On Thu, Jan 21, 2016 at 11:57 AM, Mai Abdelaziz El Kady <
> mai.abdela...@aucegypt.edu> wrote:
>
>> Hi Adam,
>>
>> Thanks a lot for your quick response.
>> I am not using Apache, I am using the default django development server,
>> so I am not sure why this is happening. I should probably mention that the
>> resource.py in the same directory as forms.py have a corresponding
>> resource.pyc file, which got me thinking that maybe there is something
>> wrong with the forms.py file, but I can't detect that anyway, I only
>> changed a few lines.
>>
>> As for the error messages from the console, this was it: Uncaught
>> cdnjs.cloudflare.com/ajax/libs/knockout/3.3.0/knockout-min.js:66   query
>> function not defined for Select2 undefined.
>>
>> But like you said, I should probably fix the issue in the forms.py first.
>> I'd appreciate it if you have more ideas about what could be wrong.
>>
>> Thanks a lot
>> --
>> Mai
>>
>>
>> On Thu, Jan 21, 2016 at 7:36 PM, Adam Cox <mr.adam...@gmail.com> wrote:
>>
>>> Hi Mai,
>>>
>>> First, yes, the lack of .pyc file indicates that your forms.py file has
>>> not been referenced.  If you are using apache to serve your app, you'll
>>> need to restart apache each time your change a .py file.  If you're running
>>> the dev server, it will recognize changes to .py files and reset itself
>>> (you can see this happen in the console).
>>>
>>> Second, I'd recommend turning on developer tools in whatever browser you
>>> are using and check out the console.  You will probably see an error there,
>>> which may (or may not!) be helpful in figuring out what's going on.  One
>>> note, I was actually just editing the classification form, and it's a
>>> little more complex because it's a wizard form.  You'll see that in the js
>>> file, there is actually one more place that you need to reference your new
>>> node.
>>>
>>> Still, the forms.py issue is probably the first thing to tackle...
>>>
>>> On Thu, Jan 21, 2016 at 11:26 AM, Mai Abdelaziz El Kady <
>>> mai.abdela...@aucegypt.edu> wrote:
>>>
>>>> Hi Adam & Alexei,
>>>>
>>>> So far I've made changes to forms.py, classification.htm and
>>>> classification.js and uncommented the RESOURCE_MODEL line in settings.py,
>>>> but something is not working correctly, I don't think that my new additions
>>>> in forms.py are taken into consideration. I am modifying the classification
>>>> form to add a new field: dynasty, which is a new node on the resource graph
>>>> that I have previously added and I also added its corresponding authority
>>>> documents.
>>>> However I noticed that when I load the page all seem to work well
>>>> except for the dynasty field (there is no drop down list and even the place
>>>> holder text is not visible). I also noticed that in my project's models
>>>> directory where the new forms.py is, there is no forms.pyc, would that
>>>> indicate that it wasn't interpreted or something?
>>>> I have included below the parts of the 3 files that I have modified,
>>>> but basically I was following the steps in this thread(
>>>> https://groups.google.com/forum/#!searchin/archesproject/forms.py/archesproject/_YyRG8wFUGs/EhXHFmB6w28J
>>>>  ):
>>>>
>>>>
>>>> forms.py:
>>>> class ClassificationForm(ResourceForm):
>>>>     def update(self, data, files):
>>>>
>>>>         self.update_nodes('HERITAGE_RESOURCE_TYPE.E55', data)
>>>>         self.update_nodes('TO_DATE.E49', data)
>>>>         self.update_nodes('FROM_DATE.E49', data)
>>>>         self.update_nodes('HERITAGE_RESOURCE_USE_TYPE.E55', data)
>>>>         self.update_nodes('CULTURAL_PERIOD.E55', data)
>>>>         self.update_nodes('STYLE.E55', data)
>>>>         self.update_nodes('ANCILLARY_FEATURE_TYPE.E55', data)
>>>>         self.update_nodes('DYNASTY.E55', data) #added this
>>>>
>>>>     def load(self, lang):
>>>>
>>>>         self.data = {
>>>>             'data': [],
>>>>             'domains': {
>>>>                 'HERITAGE_RESOURCE_TYPE.E55':
>>>> Concept().get_e55_domain('HERITAGE_RESOURCE_TYPE.E55'),
>>>>                 'HERITAGE_RESOURCE_USE_TYPE.E55' :
>>>> Concept().get_e55_domain('HERITAGE_RESOURCE_USE_TYPE.E55'),
>>>>                 'CULTURAL_PERIOD.E55' :
>>>> Concept().get_e55_domain('CULTURAL_PERIOD.E55'),
>>>>                 'STYLE.E55' : Concept().get_e55_domain('STYLE.E55'),
>>>>                 'ANCILLARY_FEATURE_TYPE.E55' :
>>>> Concept().get_e55_domain('ANCILLARY_FEATURE_TYPE.E55'),
>>>>        'DYNASTY.E55' : Concept().get_e55_domain('DYNASTY.E55')
>>>>             }
>>>>         }
>>>>
>>>>         classification_entities =
>>>> self.resource.find_entities_by_type_id('PHASE_TYPE_ASSIGNMENT.E17')
>>>>
>>>>         for entity in classification_entities:
>>>>             to_date_nodes =
>>>> datetime_nodes_to_dates(self.get_nodes(entity, 'TO_DATE.E49'))
>>>>             from_date_nodes =
>>>> datetime_nodes_to_dates(self.get_nodes(entity, 'FROM_DATE.E49'))
>>>>
>>>>             self.data['data'].append({
>>>>                 'HERITAGE_RESOURCE_TYPE.E55': {
>>>>                     'branch_lists': self.get_nodes(entity,
>>>> 'HERITAGE_RESOURCE_TYPE.E55')
>>>>                 },
>>>>                 'HERITAGE_RESOURCE_USE_TYPE.E55': {
>>>>                     'branch_lists': self.get_nodes(entity,
>>>> 'HERITAGE_RESOURCE_USE_TYPE.E55')
>>>>                 },
>>>>                 'CULTURAL_PERIOD.E55': {
>>>>                     'branch_lists': self.get_nodes(entity,
>>>> 'CULTURAL_PERIOD.E55')
>>>>                 },
>>>>                 'TO_DATE.E49': {
>>>>                     'branch_lists': to_date_nodes
>>>>                 },
>>>>                 'FROM_DATE.E49': {
>>>>                     'branch_lists': from_date_nodes
>>>>                 },
>>>>                 'STYLE.E55': {
>>>>                     'branch_lists': self.get_nodes(entity, 'STYLE.E55')
>>>>                 },
>>>>                 'ANCILLARY_FEATURE_TYPE.E55': {
>>>>                     'branch_lists': self.get_nodes(entity,
>>>> 'ANCILLARY_FEATURE_TYPE.E55')
>>>>                 },
>>>>                 'PHASE_TYPE_ASSIGNMENT.E17': {
>>>>                     'branch_lists': self.get_nodes(entity,
>>>> 'PHASE_TYPE_ASSIGNMENT.E17')
>>>>                 },
>>>>        'DYNASTY.E55': {
>>>>                     'branch_lists': self.get_nodes(entity,
>>>> 'DYNASTY.E55')
>>>>                 }
>>>>             })
>>>>
>>>>
>>>> classification.htm:
>>>>         <!--Existing Classifications-->
>>>> <dl>
>>>>                             <dt class="arches-evaluation-header">{%
>>>> trans "DYNASTY" %}</dt>
>>>>                             <dd class="arches-evaluation-content"
>>>> data-bind="if: $data['DYNASTY.E55'].branch_lists.length > 0">
>>>>                                 <span data-bind="html:
>>>> $data['DYNASTY.E55'].branch_lists[0].nodes[0].label"></span>
>>>>                             </dd>
>>>>                             <dd class="arches-evaluation-content"
>>>> data-bind="ifnot: $data['DYNASTY.E55'].branch_lists.length > 0">
>>>>                                 <span data-bind="html: 'no
>>>> entries'"></span>
>>>>                             </dd>
>>>>                         </dl>
>>>>
>>>>
>>>>  and here:
>>>>
>>>> <div id="dynasty-section" class="col-xs-12 col-sm-6">
>>>>
>>>>
>>>>
>>>> <div style="padding-right: 0px; padding-left: 0px;">
>>>>
>>>>     <input style="width:100%" class="select2 arches-select2-crud-form"
>>>> data-bind="select2: {value: getEditedNode('DYNASTY.E55', 'value'),
>>>> placeholder: '{% trans "Dynasty" %}',  dataKey: 'DYNASTY.E55'}">
>>>>
>>>>     </input>
>>>>
>>>> </div>
>>>>
>>>> <!-- Spacer for xs screens -->
>>>>
>>>> <div class="margin-top-5 hidden-lg hidden-md hidde-sm"></div>
>>>>
>>>>                                                                 </div>
>>>>
>>>>
>>>>
>>>> classification.js:
>>>>
>>>>             this.addBranchList(new BranchList({
>>>>                 el: this.$el.find('#dynasty-section')[0],
>>>>                 data: currentEditedClassification,
>>>>                 dataKey: 'DYNASTY.E55',
>>>>                 singleEdit: true
>>>>             }));
>>>>
>>>>
>>>> Thanks a lot
>>>> --
>>>> Mai
>>>>
>>>> On Wed, Jan 20, 2016 at 9:35 PM, Adam Cox <mr.adam...@gmail.com> wrote:
>>>>
>>>>> Hi Mai, yes, those are the three places you'll need to make changes to
>>>>> support new nodes.  However, you'll also need to uncomment the
>>>>> RESOURCE_MODEL line in your app's settings.py file, to make sure that it
>>>>> points to the location of your new resource.py file.
>>>>>
>>>>> If you've done all of these things but are still having trouble, let
>>>>> us know what errors you're finding.
>>>>> Adam
>>>>>
>>>>> On Wed, Jan 20, 2016 at 9:01 AM, <mai.abdela...@aucegypt.edu> wrote:
>>>>>
>>>>>> Hello All,
>>>>>>
>>>>>> I just wanted to make sure that I am following the correct steps
>>>>>> after adding new nodes to the resource graphs, According to my
>>>>>> understanding and to reading some responses on the group here, I know 
>>>>>> that
>>>>>> I should make changes in forms.py, and to some html and js files.
>>>>>> I have modified html and js files with no problems before. but there
>>>>>> seems to be an issue when I modify the forms.py file.
>>>>>> Basically what I did was copy the forms.py and resource.py files from
>>>>>> arches-hip to my project directory/models then I made the necessary 
>>>>>> changes
>>>>>> to forms.py.
>>>>>> Is there some file somewhere else that I need to modify as well?
>>>>>>
>>>>>> Thanks
>>>>>> --
>>>>>> Mai
>>>>>>
>>>>>> --
>>>>>> -- To post, send email to archesproject@googlegroups.com. To
>>>>>> unsubscribe, send email to archesproject+unsubscr...@googlegroups.com.
>>>>>> For more information, visit
>>>>>> https://groups.google.com/d/forum/archesproject?hl=en
>>>>>> ---
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Arches Project" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to archesproject+unsubscr...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

-- 
-- To post, send email to archesproject@googlegroups.com. To unsubscribe, send 
email to archesproject+unsubscr...@googlegroups.com. For more information, 
visit https://groups.google.com/d/forum/archesproject?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Arches Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to archesproject+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to