Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 10/16/2020 in all areas

  1. Hello @DDLiving, You may refer to this screenshot to achieve that.
    3 points
  2. Not sure if what I understood is correct, but, you can try this, create a Calculated Value, this is to check if the date today is less than 5 or not. If it's 1, user can input any date, if it's 0, only on the current month and later. CASE WHEN DATEPART(day, GetUTCDate()) <5 OR (DATEPART(day, GetUTCDate()) >= 5 AND DATEPART(month,GetUTCDate()) <= DATEPART(month, [@field:Date])) THEN 1 ELSE 0 END Script on the footer: (change the number on cbParamVirtual1 depending in your Virtual Field) <script> document.addEventListener("BeforeFormSubmit", function(e){ var a= document.querySelector("input[name='cbParamVirtual1']").value; if (a == 0){ e.preventDefault(); alert("Please input Date within or after the current month"); } }); </script> If you want this to trigger on change of the field that is being used in the Calculated Field. Change the InsertRecordFIELDNAME to your actual field's id cbParamVirtual1 to your Virtual Field's name if it's 1 2 3 or whatevers <script> document.getElementById("InsertRecordFIELDNAME").addEventListener("change", function(e){ document.querySelector("input[name='cbParamVirtual1']").addEventListener("change", function checker(){ var a= document.querySelector("input[name='cbParamVirtual1']").value; if (a == 0){ //if Calculated Value is 0 then alert alert("Please input Date within or after the current month"); //add another code } this.removeEventListener("change",checker); }); }); </script>
    3 points
  3. It will take a couple Data Pages and a couple new fields in your user table. Confirmation code field unique is required random isn't exactly required, but it shouldn't be predictable Confirmation status field i.e. if confirmation_status !== 'confirmed' { do not allow login } An update Data Page to send the email with a link to the confirmation Data Page, set confirmation status to something like sent or pending, and add a unique value to the confirmation code field. Another update Data Page where the email will link members to that filters the user table by email and confirms the followed the magic link using the confirmation code. This Data Page would update confirmation status to "confirmed" Boom Hope this helps
    2 points
  4. It isn't much of a help but you can check this link to see if there is any downtime or increase in latency on your account's site. http://status.caspio.com/ You can click on the site name and it will show some information about the current performance of the server. Edit: You can check your account site in Account > Account Settings There is also a tweet about an upcoming maintenance. Let's just hope this maintenance helps with the slight performance issues lately.
    2 points
  5. What does yours look like? Mine adjusts accordinly...
    2 points
  6. try this, basically, it's excluding the elements with the said classes using 'not' <SCRIPT LANGUAGE="JavaScript"> var elems = document.querySelectorAll("td:not([class^='cbResultSetGroup1Label']):not([class^='cbResultSetTotalsData'])"); for (var i=0, m=elems.length; i<m; i++) { if (elems[i].innerHTML=="1") { elems[i].style.color="BACK";} if (elems[i].innerHTML=="1") { elems[i].style.backgroundColor="LIGHTGREEN";} } </SCRIPT>
    2 points
  7. autonumber

    Trigger and Task?

    Hi @Gigigigi, Task are operations that you can create in your application and run them manually or automatically based on a predefined schedule while Triggered Actions allow data manipulation, calculations, and sending notifications by constructing application logic with a visual interface. They will be executed on specified events to perform actions on data in your tables. You can also use Triggered Actions to transfer data from another table but if you have existing records it is recommended to use Task.
    2 points
  8. Additionally, you may refer to this article about SQL Convert: https://www.sqlshack.com/sql-convert-function/
    2 points
  9. Yes. Convert first your formula into VARCHAR. For example: CONVERT(VARCHAR(255), [@field:Field1] + ' ' + [@field:Field2])
    2 points
  10. Hi @FredFarfadoe, To achieve that you will need to add a CSS code on the header of the DataPage: You can use this: <style> g.highcharts-series-group { pointer-events: none!important; } .highcharts-a11y-proxy-button { pointer-events: none!important; } tspan { pointer-events: none!important; } </style>
    2 points
  11. LittleMsGinger

    Combined Views

    Hi @Joemac, just to verify, you would like to use two views as the Data Source of one DataPage? If that is correct, unfortunately, it s not possible. You can only select one Table or View as a Data Source. You can just combine the Tables to create one View and use it in the DataPage. Hope this helps!
    2 points
  12. You can also use F12 > click on the cursor thingy > click on the element that you want to change the style and you should be able to see what class it belongs to Go to Styles > Source > All, press ctrl + f and input the class there
    2 points
  13. GoodBoy

    AWS

    Hello! These articles might help you as well. - https://www.caspio.com/caspio-recognized-amazon-web-services-partner-network-advanced-technology-partner/ - https://www.caspio.com/caspio-expands-its-platform-as-a-service-to-meet-global-market-demands-utilizing-amazon-web-services/
    2 points
  14. I also experienced this issue a last month. What I did is that I also allow or checked the 'Read App' for the application where my DataPage belongs and it is now permitting my external users to access the DataPage.
    2 points
  15. Just include the dates in the criteria. On Search Filters, enable the On Exit, and then you can then use these parameters on the WHERE (i.e. WHERE Call_Outcome = 'Sale/Offered' AND DateColumn >= '[@DateParameter1]' AND DateColumn <= '[@DateParameter2]'
    2 points
  16. Thanks @kpcollier and @sandy159 - the difference in days option worked. Appreciate your help.
    2 points
  17. Hello @Gabrielle, Please note that this dropdown shows the tables that have a unique field. The Authentication can be created using the table with the unique field since it`s required to define the specific user. For example, in this table the email field is set to unique: Feel free to update this thread in case of additional questions.
    2 points
  18. Hi @Tyler, I can suggest using a different approach for this case that does not require JS snippet. You may create a lookup table that would be prefilled with date range Monday-Sunday (current week) with a help of Application Task. The Task might look like the following: You may use this lookup table as a source for a dropdown with predefined options. Hope this helps. Regards, Vitalikssssss
    2 points
  19. Hello @SaraK, Thank you for the detailed explanation. You have made a big research on this as well and were so close. Please try to use the following formula in the Calculated field to get the number of IDs that were Submitted Today: SELECT COUNT([@field:Request_ID]) FROM curbsideEntries WHERE DateDiff(day, [@field:Timestamp], SysDateTime())=0 Hope this helps! Please let me know if it works for your case. Regards
    2 points
  20. Hello @roeithemeiriman, If you created a Trial account, as I remember it will be deleted automatically in 14 days. No action is required from your part. In case you created a Free account, you can easily delete it. Please go to the top menu Account -> Usage and Billing -> Cancel Account. Here are screenshots for better visualization. Screenshot_1 Screenshot_2
    2 points
  21. Barbie

    Hide Search button

    Hi Watusi, You can try to paste this code in your header instead: <style> input[class*="cbSearchButton"]{ display:none !important; } </style> I hope this works for you.
    2 points
  22. <style> #UIToolBox{ left: 55% !important; } </style> This in the header will move the dropdown list to the right a bit.
    1 point
  23. Hi, The simplest way I can think of is to create a new table that is chart-able in a sense that it contains numerical results (like the count of each option chosen by your participants) and use Task to insert values to the new table. Here is an sample task that I made based on your screenshot: The new table in this sample is "Chartstbl". This is, however, assuming that you only need the current values for your presentation. If there will be new records to your Survey table in the future, then you may need to create a Triggered Action instead. This is also assuming that there are only 3 choices as seen in your screenshot (a,b, and c). You will need to create another Insert block for each of the questions. Its kind of a hassle to do that but there is a duplicate function when you right-click on the insert block. That might help a bit. This is how the new table looks like after running the task. With this table, you can use QuestionNo as the Category field and the three other columns as the Value fields.
    1 point
  24. autonumber

    FAX Documents

    Hi. I think you need to use Zapier to connect that to your application. You can check the links below: https://zapier.com/apps/telnyx-fax/integrations https://zapier.com/apps/fax-plus/integrations
    1 point
  25. waltmayo

    Hired help...

    I am in need of some help with integrating Javascript into some of my apps. I know that the Caspio team will take on custom programming jobs, but these tasks are sometimes very small. Does anyone else out there do freelance Caspio work? I'm not opposed to hiring Caspio's programmers, just was interested in learning all my options. Walt
    1 point
  26. seems like you're missing var elems = isi.parentNode.parentNode.querySelectorAll("td"); it's set just above the for loop
    1 point
  27. GoodBoy

    capture user role at login

    Hi, This is a sample configuration to achieve that in a Results page. Same process can be applied to Details page as well.
    1 point
  28. Hello! I contacted support, and they told me that the reason why a phone number field must be converted into text255 data type when using triggered action is that triggered actions automatically add the (+) 1 to existing phone numbers.
    1 point
  29. Hello @StephenMyall, I believe this is expected behavior. If the system noticed that it can't be display in one page, it will make another page for the remaining results. If you want to customize your PDF result, I read some information here in forum and this might need custom coding. I am not sure how do you want to achieve your current workflow but you can check with their support members. Here's a reference regarding the topic: https://howto.caspio.com/datapages/pdf-download/pdf-download/ Hope this helps.
    1 point
  30. I guess you can do this on JavaScript This only works when Results page are below the Search Form. <script> var downloadbtn = document.querySelector("nav[id^='PageActionsCtnr']"); var newpos1= document.getElementsByClassName('cbSearchButtonContainer')[0]; var searchbtn = newpos1.getElementsByClassName('cbSearchButton')[0]; newpos1.appendChild(downloadbtn); downloadbtn.appendChild(searchbtn); </script>
    1 point
  31. You absolutely nailed it!!! It seems so simple now that I actually see it. I will hang on to this code and example since I'm sure I can find other uses for it going forward. And also adapt it to some other scenarios too. Again, thanks so much for the fast solution.
    1 point
  32. Hi @kpcollier, Choosing a specific value from a dropdown can be achieve with a bit of javascript. First, identify the dropdown element and create an array the represents the dropdown choices: const dropdownEle = document.querySelector('[name*=field_name]'); const dropdownChoices = dropdownEle.options; Next, create the makeSelection function: function makeSelection(selectionID) { // loop all the dropdown options for(let i = 0; i < dropdownChoices.length; i++) { // if the dropdownChoice matches the selectionID... if(dropdownChoices[i].value == selectionID) { // select the choice by the index number dropdownEle.selectedIndex = i; } } } Then, identify the cascading textfield and set it's onchange event to trigger the makeSelection function: const vEle = document.querySelector('[name=cbParamVirtual1]'); vEle.onchange = function() { makeSelection(vEle.value); }; I hope this helps
    1 point
  33. Hi @RunForrestRun, If you want to change the font color of the current record page on all Detail's DataPages then it is possible in Styles: Go to Styles -> Form/Details -> Navigation -> Current Record For more in depth customization, go to Styles -> Source -> All -> Find .cbFormJumpToTextField class -> change color or other attributes to the required value Hope this helps!
    1 point
  34. It should work. What worked for me is putting the CDN on the Header of the Results Page instead of the Details Page. It seems that the script is executing faster than the DataPage can include the jQuery library when you include it on the Details page, hence, the $ not defined
    1 point
  35. Not sure, as well, but I have difficulties in using button tag on Caspio as it 'clicks' the submit button, as well. Try to use <input type="button> or <a> tags instead of <button> and just style them the same.
    1 point
  36. If you want to apply this to any data type, you may do the following in the Styles Page
    1 point
  37. I'm confused what are you using? MultiSelect Dropdown or Listbox, afaik, Listbox doesn't display the concatenation of choices, right? Is this what you're trying to do? https://c2aby549.caspio.com/dp/83ff8000344c2f4c1794467fb6e2
    1 point
  38. BaySunshine

    Free account

    Hello @awolagain, You can request any app from Free App Templates for Your Online Database | Caspio to be uploaded to your account but keep in mind that the number of deployed DataPages allowed for free accounts are only 5. So, if you wish to deploy the app on a host and use it for your business, you will be able to do deploy only 5 of them at a time. However, if you want to just see and learn how the tables are designed and DataPages are built etc, you can do so without any issues. You can also preview any number of DataPages separately without having to deploy them. To request an app to be uploaded to your account, select any app on that link and click on "Request app" button and fill out the form. The app will be uploaded by Caspio support team on the same or the next business day. I hope that answers your questions. Regards,
    1 point
  39. This is not working because Caspio does not have the jQuery library, you will have to include it in your header. You may find the CDN here https://www.w3schools.com/jquery/jquery_get_started.asp
    1 point
  40. myName

    Filtration Criteria

    Thank you very much I have tested the proposed solution I need to filter out all records that match todays date. It looks like "Before Now and After Now" take into consideration the time. So it will be evaluated to true if there is a record in the database before a second ago an equivalent Pseudocode sql statement would look similar to the following Select * from the joined result where Work_date is NULL or work_date not equal to todays date Thanks again
    1 point
  41. Hi @JayDub, Have you tried swapping the timestamp and CourseStartDate fields? "WHERE CourseStartDate EQUALS TimeStamp - 4 days' You could also try the 'difference in days' block under Date. 'WHERE difference in days between CourseStartDate and Timestamp equals -4' I have not been able to test these, but thought I would try to help.
    1 point
  42. @kpcollier I see, that's quite the workflow. Basically, what you want is the onchange function in the virtual field that receives C, and then select that option in the dropdown. It should easily be able to select the same value with the script, like : document.addEventListener('change', function (event) { document.getElementById("InsertRecordTitle").value = document.getElementById("cbParamVirtual1").value; }); I'm only changing Virtual 1.
    1 point
  43. I believe Caspio does not have Time only DataType, you have to use DateTime, can't you just use formatting and display time instead? The values in my table
    1 point
  44. Hello @NickO, I believe you may use another approach for this Trigger. It is better to avoid using the If-Then block when you can use the Select statement instead. Could you test the Trigger design like this? So, you may add the Select statement by clicking the Gear icon and select the record from the #inserted table that met the criteria. If the criteria are met the email for a group of users is send. Feel free to update this thread in case you have additional questions.
    1 point
  45. Hello @LoveCaspio, Perhaps you may add one more "Back" button to the top of the Details Page. Add an HTML block as the first element on the 'Search and Report Wizard - Configure Details Page Fields' screen. Make sure that you disable the HTML editor in the 'Advanced' tab before pasting the code. <div class="cbBackButtonContainer"> <input type="submit" name="Mod0CancelRecord" value="Back" class="cbBackButton"> </div> You may check this forum post for reference as well: https://forums.caspio.com/topic/9109-move-back-button/ Hope this helps!
    1 point
  46. OK this worked as suggested, thank you! One thing to note for others that may go down this path, it cuts off at 255 characters. So grouping is possible (yay!), but unfortunately displaying the full text area is limited to 255. Thanks again @WatashiwaJin
    1 point
  47. <style> .cbFormData { display: flex !important; } </style> Perhaps you can use this CSS code to override the CSS styles for radio buttons.
    1 point
  48. I did this one last year https://c1abz415.caspio.com/dp/8c4b6000a85530fe3c4c4440a562 If this is what you wanted to achieve, then yes, this can be done by rules. You may have a lot of Rules Actions but the key is to do a reverse and instead do them from the criteria. Here's how I did it: 1. Pulled up the n number of fields. Make sure that there is a selector, in this case a virtual field that were divided from the rest of the fields via section. 2. From the Rules tab, create a rule. Remember that the number of rules will depend on the number of fields that will be dynamically hidden 3. Set each of the rule's criteria by setting the value selected to every number. From the example below, If virtual value is matches from numbers 1-5, the logic's action is to hide the 6th field. Repeat until the last rule. I hope this helps. @kpcollier
    1 point
  49. Hi @David17, I am glad that solution works for you now. If you need to add this code for several fields, please use this code <script> document.addEventListener('DataPageReady', checkInput); function checkInput(){ let numberFirst = document.getElementById('InsertRecordField_1_name'); //declare first variable let numberSecond = document.getElementById('InsertRecordField_2_name'); //declare second variable numberFirst.min = "0"; numberSecond.min = "0"; numberFirst.type = "number"; numberSecond.type = "number"; numberFirst.setAttribute("oninput", "validity.valid || (value='')"); numberSecond.setAttribute("oninput", "validity.valid || (value='')"); } </script> So, we save the input fields to the variables. And in the code below we add attributes to this variables.
    1 point
  50. Hello, if you are using Styles, you may want to edit it here: Go to Styles > Edit Style > From the DataPage Elements go to Results Page and Select on Table Layout > Data Cells > and the Layout Options > Wrap Text: No Wrap
    1 point
×
×
  • Create New...